from electrum.interface import ServerAddr from . import ElectrumTestCase class TestServerAddr(ElectrumTestCase): def test_from_str(self): self.assertEqual(ServerAddr(host="104.198.149.61", port=80, protocol="t"), ServerAddr.from_str("104.198.149.61:80:t")) self.assertEqual(ServerAddr(host="ecdsa.net", port=110, protocol="s"), ServerAddr.from_str("ecdsa.net:110:s")) self.assertEqual(ServerAddr(host="2400:6180:0:d1::86b:e001", port=50002, protocol="s"), ServerAddr.from_str("[2400:6180:0:d1::86b:e001]:50002:s")) self.assertEqual(ServerAddr(host="localhost", port=8080, protocol="s"), ServerAddr.from_str("localhost:8080:s")) def test_from_str_with_inference(self): self.assertEqual(None, ServerAddr.from_str_with_inference("104.198.149.61")) self.assertEqual(None, ServerAddr.from_str_with_inference("ecdsa.net")) self.assertEqual(None, ServerAddr.from_str_with_inference("2400:6180:0:d1::86b:e001")) self.assertEqual(None, ServerAddr.from_str_with_inference("[2400:6180:0:d1::86b:e001]")) self.assertEqual(ServerAddr(host="104.198.149.61", port=80, protocol="s"), ServerAddr.from_str_with_inference("104.198.149.61:80")) self.assertEqual(ServerAddr(host="ecdsa.net", port=110, protocol="s"), ServerAddr.from_str_with_inference("ecdsa.net:110")) self.assertEqual(ServerAddr(host="2400:6180:0:d1::86b:e001", port=50002, protocol="s"), ServerAddr.from_str_with_inference("[2400:6180:0:d1::86b:e001]:50002")) self.assertEqual(ServerAddr(host="104.198.149.61", port=80, protocol="t"), ServerAddr.from_str_with_inference("104.198.149.61:80:t")) self.assertEqual(ServerAddr(host="ecdsa.net", port=110, protocol="s"), ServerAddr.from_str_with_inference("ecdsa.net:110:s")) self.assertEqual(ServerAddr(host="2400:6180:0:d1::86b:e001", port=50002, protocol="s"), ServerAddr.from_str_with_inference("[2400:6180:0:d1::86b:e001]:50002:s")) def test_to_friendly_name(self): self.assertEqual("104.198.149.61:80:t", ServerAddr(host="104.198.149.61", port=80, protocol="t").to_friendly_name()) self.assertEqual("ecdsa.net:110", ServerAddr(host="ecdsa.net", port=110, protocol="s").to_friendly_name()) self.assertEqual("ecdsa.net:50001:t", ServerAddr(host="ecdsa.net", port=50001, protocol="t").to_friendly_name()) self.assertEqual("[2400:6180:0:d1::86b:e001]:50002", ServerAddr(host="2400:6180:0:d1::86b:e001", port=50002, protocol="s").to_friendly_name()) self.assertEqual("[2400:6180:0:d1::86b:e001]:50001:t", ServerAddr(host="2400:6180:0:d1::86b:e001", port=50001, protocol="t").to_friendly_name())