NodeconQueryTest: Change IP criteria to skip on Python < 3.3

This commit is contained in:
Chris PeBenito 2015-03-27 09:38:00 -04:00
parent c6f11ca80e
commit c9c995e7f3
2 changed files with 18 additions and 30 deletions

View File

@ -98,7 +98,7 @@ class NodeconQuery(contextquery.ContextQuery):
except NameError: # pragma: no cover
# Should never actually hit this since the self.network
# setter raises the same exception.
raise RuntimeError("IP address/network functions require Python 3.3+.")
raise RuntimeError("Nodecon IP address/network functions require Python 3.3+.")
# Python 3.3's IPv6Network constructor does not support
# expanded netmasks, only CIDR numbers. Convert netmask
@ -162,7 +162,7 @@ class NodeconQuery(contextquery.ContextQuery):
try:
self.network = ipaddress.ip_network(net)
except NameError: # pragma: no cover
raise RuntimeError("IP address/network functions require Python 3.3+.")
raise RuntimeError("Nodecon IP address/network functions require Python 3.3+.")
else:
# ensure self.network is set
self.network = None

View File

@ -214,46 +214,34 @@ class NodeconQueryTest(unittest.TestCase):
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["10.1.55.1"], nodecons)
@unittest.skipIf(sys.version_info < (3, 3), "Requries Python 3.3+.")
def test_100_v4network_equal(self):
"""Nodecon query with IPv4 equal network"""
if sys.version_info < (3, 3):
self.assertRaises(
RuntimeError, NodeconQuery, self.p, net="10.1.100.0/24", net_overlap=False)
else:
q = NodeconQuery(self.p, net="10.1.100.0/24", net_overlap=False)
q = NodeconQuery(self.p, net="10.1.100.0/24", net_overlap=False)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["10.1.100.0"], nodecons)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["10.1.100.0"], nodecons)
@unittest.skipIf(sys.version_info < (3, 3), "Requries Python 3.3+.")
def test_101_v4network_overlap(self):
"""Nodecon query with IPv4 network overlap"""
if sys.version_info < (3, 3):
self.assertRaises(
RuntimeError, NodeconQuery, self.p, net="10.1.101.128/25", net_overlap=True)
else:
q = NodeconQuery(self.p, net="10.1.101.128/25", net_overlap=True)
q = NodeconQuery(self.p, net="10.1.101.128/25", net_overlap=True)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["10.1.101.0"], nodecons)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["10.1.101.0"], nodecons)
@unittest.skipIf(sys.version_info < (3, 3), "Requries Python 3.3+.")
def test_110_v6network_equal(self):
"""Nodecon query with IPv6 equal network"""
if sys.version_info < (3, 3):
self.assertRaises(
RuntimeError, NodeconQuery, self.p, net="1100::/16", net_overlap=False)
else:
q = NodeconQuery(self.p, net="1100::/16", net_overlap=False)
q = NodeconQuery(self.p, net="1100::/16", net_overlap=False)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["1100::"], nodecons)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["1100::"], nodecons)
@unittest.skipIf(sys.version_info < (3, 3), "Requries Python 3.3+.")
def test_111_v6network_overlap(self):
"""Nodecon query with IPv6 network overlap"""
if sys.version_info < (3, 3):
self.assertRaises(
RuntimeError, NodeconQuery, self.p, net="1110:8000::/17", net_overlap=True)
else:
q = NodeconQuery(self.p, net="1110:8000::/17", net_overlap=True)
q = NodeconQuery(self.p, net="1110:8000::/17", net_overlap=True)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["1110::"], nodecons)
nodecons = sorted(n.address for n in q.results())
self.assertListEqual(["1110::"], nodecons)