Skip to content

Commit 27f6fc0

Browse files
author
David Groves
committed
Added back tests for network_address and broadcast_address on IPv6, and test for deprecation warnings (for now)
1 parent f0d74ab commit 27f6fc0

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

Lib/test/test_ipaddress.py

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1402,6 +1402,16 @@ def testGetSupernet(self):
14021402
self.assertEqual(self.ipv4_network.supernet().prefixlen, 23)
14031403
self.assertEqual(str(self.ipv4_network.supernet().network_address),
14041404
'1.2.2.0')
1405+
self.assertEqual(int(self.ipv6_network.broadcast_address),
1406+
42540616829182469451850391367731642367)
1407+
self.assertEqual(str(self.ipv6_network.broadcast_address),
1408+
'2001:658:22a:cafe:ffff:ffff:ffff:ffff')
1409+
self.assertEqual(int(self.ipv6_scoped_network.broadcast_address),
1410+
42540616829182469451850391367731642367)
1411+
self.assertEqual(str(self.ipv6_scoped_network.broadcast_address),
1412+
'2001:658:22a:cafe:ffff:ffff:ffff:ffff')
1413+
1414+
self.assertEqual(self.ipv4_network.supernet(new_prefix=22).prefixlen, 22)
14051415
self.assertEqual(
14061416
ipaddress.IPv4Interface('0.0.0.0/0').network.supernet(),
14071417
ipaddress.IPv4Network('0.0.0.0/0'))
@@ -2030,9 +2040,9 @@ def testInterfaceComparison(self):
20302040
self.assertTrue(ipaddress.ip_interface('::1%scope/80') >
20312041
ipaddress.ip_interface('::1/64'))
20322042
self.assertTrue(ipaddress.ip_interface('::2%scope/64') >
2033-
ipaddress.ip_interface('::1/64'))
2043+
ipaddress.ip_interface('::1%scope/64'))
20342044
self.assertTrue(ipaddress.ip_interface('::1%scope/64') >
2035-
ipaddress.ip_interface('::2/48'))
2045+
ipaddress.ip_interface('::2%scope/48'))
20362046

20372047
self.assertFalse(ipaddress.ip_interface('::1/64') ==
20382048
ipaddress.ip_interface('::1%scope/64'))
@@ -2744,6 +2754,26 @@ def testV6HashIsNotConstant(self):
27442754
ipv6_address2 = ipaddress.IPv6Interface("2001:658:22a:cafe:200:0:0:2")
27452755
self.assertNotEqual(ipv6_address1.__hash__(), ipv6_address2.__hash__())
27462756

2757+
def test_ipv6_network_address_deprecation(self):
2758+
network = ipaddress.IPv6Network('2001:658:22a:cafe::/64')
2759+
with self.assertWarns(DeprecationWarning) as warn:
2760+
addr = network.network_address
2761+
self.assertEqual(str(addr), "2001:658:22a:cafe::")
2762+
self.assertEqual(int(addr), 42540616829182469433403647294022090752)
2763+
self.assertEqual(addr, network.first_address)
2764+
self.assertEqual(addr, network.subnet_router_anycast_address)
2765+
self.assertIn("IPv6 has no network addresses", str(warn.warning))
2766+
self.assertIn("consider using first_address or subnet_router_anycast_address instead", str(warn.warning))
2767+
2768+
def test_ipv6_broadcast_address_deprecation(self):
2769+
network = ipaddress.IPv6Network('2001:658:22a:cafe::/64')
2770+
with self.assertWarns(DeprecationWarning) as warn:
2771+
addr = network.broadcast_address
2772+
self.assertEqual(str(addr), "2001:658:22a:cafe:ffff:ffff:ffff:ffff")
2773+
self.assertEqual(int(addr), 42540616829182469451850391367731642367)
2774+
self.assertEqual(addr, network.last_address)
2775+
self.assertIn("IPv6 has no broadcast addresses", str(warn.warning))
2776+
self.assertIn("consider using last_address instead", str(warn.warning))
27472777

27482778
if __name__ == '__main__':
27492779
unittest.main()

0 commit comments

Comments
 (0)