def METHOD_NAME(self):
    internal_ip: str = "this is an internal ip"
    external_ip: str = "this is an external ip"
    mock_serve_axon = MagicMock(return_value=True)
    mock_subtensor = MagicMock(
        spec=bittensor.Subtensor,
        # serve=mock_serve,
        serve_axon=mock_serve_axon,
    )
    mock_add_insecure_port = mock.MagicMock(return_value=None)
    mock_grpc_server = mock.MagicMock(add_insecure_port=mock_add_insecure_port)
    mock_wallet = MagicMock(
        spec=bittensor.Wallet,
        coldkey=MagicMock(),
        coldkeypub=MagicMock(
            # mock ss58 address
            ss58_address="5DD26kC2kxajmwfbbZmVmxhrY9VeeyR1Gpzy9i8wxLUg6zxm"
        ),
        hotkey=MagicMock(
            ss58_address="5CtstubuSoVLJGCXkiWRNKrrGg2DVBZ9qMs2qYTLsZR4q1Wg"
        ),
    )
    mock_config = bittensor.axon.config()
    mock_axon_with_external_ip_set = bittensor.axon(
        wallet=mock_wallet,
        metagraph=None,
        ip=internal_ip,
        external_ip=external_ip,
        server=mock_grpc_server,
        config=mock_config,
    )
    mock_subtensor.serve_axon(
        netuid=-1, axon=mock_axon_with_external_ip_set, use_upnpc=False
    )
    mock_serve_axon.assert_called_once()
    # verify that the axon is served to the network with the external ip
    _, kwargs = mock_serve_axon.call_args
    axon_info = kwargs["axon"].info()
    self.assertEqual(axon_info.ip, external_ip)