(self)
| 1943 | [ip1, ip2]) |
| 1944 | |
| 1945 | def testSummarizing(self): |
| 1946 | #ip = ipaddress.ip_address |
| 1947 | #ipnet = ipaddress.ip_network |
| 1948 | summarize = ipaddress.summarize_address_range |
| 1949 | ip1 = ipaddress.ip_address('1.1.1.0') |
| 1950 | ip2 = ipaddress.ip_address('1.1.1.255') |
| 1951 | |
| 1952 | # summarize works only for IPv4 & IPv6 |
| 1953 | class IPv7Address(ipaddress.IPv6Address): |
| 1954 | @property |
| 1955 | def version(self): |
| 1956 | return 7 |
| 1957 | ip_invalid1 = IPv7Address('::1') |
| 1958 | ip_invalid2 = IPv7Address('::1') |
| 1959 | self.assertRaises(ValueError, list, |
| 1960 | summarize(ip_invalid1, ip_invalid2)) |
| 1961 | # test that a summary over ip4 & ip6 fails |
| 1962 | self.assertRaises(TypeError, list, |
| 1963 | summarize(ip1, ipaddress.IPv6Address('::1'))) |
| 1964 | self.assertRaises(TypeError, list, |
| 1965 | summarize(ip1, ipaddress.IPv6Address('::1%scope'))) |
| 1966 | # test a /24 is summarized properly |
| 1967 | self.assertEqual(list(summarize(ip1, ip2))[0], |
| 1968 | ipaddress.ip_network('1.1.1.0/24')) |
| 1969 | # test an IPv4 range that isn't on a network byte boundary |
| 1970 | ip2 = ipaddress.ip_address('1.1.1.8') |
| 1971 | self.assertEqual(list(summarize(ip1, ip2)), |
| 1972 | [ipaddress.ip_network('1.1.1.0/29'), |
| 1973 | ipaddress.ip_network('1.1.1.8')]) |
| 1974 | # all! |
| 1975 | ip1 = ipaddress.IPv4Address(0) |
| 1976 | ip2 = ipaddress.IPv4Address(ipaddress.IPv4Address._ALL_ONES) |
| 1977 | self.assertEqual([ipaddress.IPv4Network('0.0.0.0/0')], |
| 1978 | list(summarize(ip1, ip2))) |
| 1979 | |
| 1980 | ip1 = ipaddress.ip_address('1::') |
| 1981 | ip2 = ipaddress.ip_address('1:ffff:ffff:ffff:ffff:ffff:ffff:ffff') |
| 1982 | # test an IPv6 is summarized properly |
| 1983 | self.assertEqual(list(summarize(ip1, ip2))[0], |
| 1984 | ipaddress.ip_network('1::/16')) |
| 1985 | # test an IPv6 range that isn't on a network byte boundary |
| 1986 | ip2 = ipaddress.ip_address('2::') |
| 1987 | self.assertEqual(list(summarize(ip1, ip2)), |
| 1988 | [ipaddress.ip_network('1::/16'), |
| 1989 | ipaddress.ip_network('2::/128')]) |
| 1990 | |
| 1991 | ip1 = ipaddress.ip_address('1::%scope') |
| 1992 | ip2 = ipaddress.ip_address('1:ffff:ffff:ffff:ffff:ffff:ffff:ffff%scope') |
| 1993 | # test an IPv6 is summarized properly |
| 1994 | self.assertEqual(list(summarize(ip1, ip2))[0], |
| 1995 | ipaddress.ip_network('1::/16')) |
| 1996 | # test an IPv6 range that isn't on a network byte boundary |
| 1997 | ip2 = ipaddress.ip_address('2::%scope') |
| 1998 | self.assertEqual(list(summarize(ip1, ip2)), |
| 1999 | [ipaddress.ip_network('1::/16'), |
| 2000 | ipaddress.ip_network('2::/128')]) |
| 2001 | |
| 2002 | # test exception raised when first is greater than last |
nothing calls this directly
no test coverage detected