diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2017-12-16 21:16:38 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2017-12-16 21:16:38 +0100 |
commit | 6d0ace0bcf06d405bf57a70c28eec5d6895cad41 (patch) | |
tree | 7bed28ec0fee8abcbc8cfccc383d9690ceb9130f /test_ipaddress.py | |
parent | 4233f21f1b461899820626d493a8ad031d0e6fc7 (diff) | |
parent | d17c2deb1298706ac6de07eab1926905a72360a4 (diff) | |
download | ipaddress-6d0ace0bcf06d405bf57a70c28eec5d6895cad41.tar.gz |
Merge branch 'upstream'
Diffstat (limited to 'test_ipaddress.py')
-rw-r--r-- | test_ipaddress.py | 63 |
1 files changed, 49 insertions, 14 deletions
diff --git a/test_ipaddress.py b/test_ipaddress.py index 199a970..145dc1a 100644 --- a/test_ipaddress.py +++ b/test_ipaddress.py @@ -135,7 +135,7 @@ class CommonTestMixin_v4(CommonTestMixin): def test_bad_packed_length(self): def assertBadLength(length): - addr = b'0' * length + addr = b'\0' * length msg = "%r (len %d != 4) is not permitted as an IPv4 address" with self.assertAddressError(re.escape(msg % (addr, length))): self.factory(addr) @@ -155,11 +155,11 @@ class CommonTestMixin_v6(CommonTestMixin): self.assertInstancesEqual(3232235521, "::c0a8:1") def test_packed(self): - addr = (b'\0' * 12) + _compat_bytes_fromhex("00000000") + addr = b'\0'*12 + _compat_bytes_fromhex("00000000") self.assertInstancesEqual(addr, "::") - addr = (b'\0' * 12) + _compat_bytes_fromhex("c0a80001") + addr = b'\0'*12 + _compat_bytes_fromhex("c0a80001") self.assertInstancesEqual(addr, "::c0a8:1") - addr = _compat_bytes_fromhex("c0a80001") + (b'\0' * 12) + addr = _compat_bytes_fromhex("c0a80001") + b'\0'*12 self.assertInstancesEqual(addr, "c0a8:1::") def test_negative_ints_rejected(self): @@ -174,7 +174,7 @@ class CommonTestMixin_v6(CommonTestMixin): def test_bad_packed_length(self): def assertBadLength(length): - addr = b'0' * length + addr = b'\0' * length msg = "%r (len %d != 16) is not permitted as an IPv6 address" with self.assertAddressError(re.escape(msg % (addr, length))): self.factory(addr) @@ -523,7 +523,7 @@ class NetworkTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): self.factory('10.0.1.0/24'))) # containee larger than container self.assertFalse( - self.factory('10.0.0.0/24').subnet_of( + self.factory('10.0.1.0/24').subnet_of( self.factory('10.0.0.0/30'))) def test_supernet_of(self): @@ -544,6 +544,20 @@ class NetworkTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): self.factory('10.0.0.0/24').supernet_of( self.factory('10.0.0.0/30'))) + def test_subnet_of_mixed_types(self): + with self.assertRaises(TypeError): + ipaddress.IPv4Network('10.0.0.0/30').supernet_of( + ipaddress.IPv6Network('::1/128')) + with self.assertRaises(TypeError): + ipaddress.IPv6Network('::1/128').supernet_of( + ipaddress.IPv4Network('10.0.0.0/30')) + with self.assertRaises(TypeError): + ipaddress.IPv4Network('10.0.0.0/30').subnet_of( + ipaddress.IPv6Network('::1/128')) + with self.assertRaises(TypeError): + ipaddress.IPv6Network('::1/128').subnet_of( + ipaddress.IPv4Network('10.0.0.0/30')) + class NetmaskTestMixin_v6(CommonTestMixin_v6): """Input validation on interfaces and networks is very similar""" @@ -1543,14 +1557,35 @@ class IpaddrUnitTest(unittest.TestCase): ipaddress.ip_address('::2')) def testInterfaceComparison(self): - self.assertTrue(ipaddress.ip_interface('1.1.1.1') <= - ipaddress.ip_interface('1.1.1.1')) - self.assertTrue(ipaddress.ip_interface('1.1.1.1') <= - ipaddress.ip_interface('1.1.1.2')) - self.assertTrue(ipaddress.ip_interface('::1') <= - ipaddress.ip_interface('::1')) - self.assertTrue(ipaddress.ip_interface('::1') <= - ipaddress.ip_interface('::2')) + self.assertTrue(ipaddress.ip_interface('1.1.1.1/24') == + ipaddress.ip_interface('1.1.1.1/24')) + self.assertTrue(ipaddress.ip_interface('1.1.1.1/16') < + ipaddress.ip_interface('1.1.1.1/24')) + self.assertTrue(ipaddress.ip_interface('1.1.1.1/24') < + ipaddress.ip_interface('1.1.1.2/24')) + self.assertTrue(ipaddress.ip_interface('1.1.1.2/16') < + ipaddress.ip_interface('1.1.1.1/24')) + self.assertTrue(ipaddress.ip_interface('1.1.1.1/24') > + ipaddress.ip_interface('1.1.1.1/16')) + self.assertTrue(ipaddress.ip_interface('1.1.1.2/24') > + ipaddress.ip_interface('1.1.1.1/24')) + self.assertTrue(ipaddress.ip_interface('1.1.1.1/24') > + ipaddress.ip_interface('1.1.1.2/16')) + + self.assertTrue(ipaddress.ip_interface('::1/64') == + ipaddress.ip_interface('::1/64')) + self.assertTrue(ipaddress.ip_interface('::1/64') < + ipaddress.ip_interface('::1/80')) + self.assertTrue(ipaddress.ip_interface('::1/64') < + ipaddress.ip_interface('::2/64')) + self.assertTrue(ipaddress.ip_interface('::2/48') < + ipaddress.ip_interface('::1/64')) + self.assertTrue(ipaddress.ip_interface('::1/80') > + ipaddress.ip_interface('::1/64')) + self.assertTrue(ipaddress.ip_interface('::2/64') > + ipaddress.ip_interface('::1/64')) + self.assertTrue(ipaddress.ip_interface('::1/64') > + ipaddress.ip_interface('::2/48')) def testNetworkComparison(self): # ip1 and ip2 have the same network address |