X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Ftest_apex_ip_utils.py;h=e5e84b63a51530b9f93ca45812fb482c0ed10125;hb=refs%2Fchanges%2F93%2F29293%2F2;hp=0b44bdd0e5d76a78707119fcba451418b412e26d;hpb=2af53674aec6188abbc73b066c5942d4aea9e043;p=apex.git diff --git a/tests/test_apex_ip_utils.py b/tests/test_apex_ip_utils.py index 0b44bdd0..e5e84b63 100644 --- a/tests/test_apex_ip_utils.py +++ b/tests/test_apex_ip_utils.py @@ -8,13 +8,17 @@ ############################################################################## import re +import ipaddress from apex.ip_utils import IPUtilsException from apex.ip_utils import get_interface from apex.ip_utils import find_gateway from apex.ip_utils import get_ip from apex.ip_utils import get_ip_range +from apex.ip_utils import _validate_ip_range +from nose.tools import assert_true +from nose.tools import assert_false from nose.tools import assert_equal from nose.tools import assert_raises from nose.tools import assert_is_instance @@ -26,7 +30,9 @@ from ipaddress import ip_network ip4_pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') -ip4_range_pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3},\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') +ip4_range_pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3},\d{1,' + '3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') + def get_default_gateway_linux(): """Read the default gateway directly from /proc.""" @@ -58,12 +64,13 @@ class TestIpUtils(object): def test_get_interface(self): assert_equal(get_interface(''), None) assert_equal(get_interface('notreal'), None) - assert_is_instance(get_interface( - self.iface_name, - address_family=4), IPv4Address) - assert_is_instance(get_interface( - self.iface_name, - address_family=6), IPv6Address) + assert_is_instance(get_interface(self.iface_name, + address_family=4), + IPv4Address) + # can't enable this until there's a v6 address on the ci hosts + # assert_is_instance(get_interface( + # self.iface_name, + # address_family=6), IPv6Address) assert_raises(IPUtilsException, get_interface, self.iface_name, 0) @@ -73,23 +80,56 @@ class TestIpUtils(object): assert_equal(find_gateway(iface_virbr0), None) def test_get_ip(self): - assert_equal(get_ip(1, cidr="10.10.10.0/24"), "0") + cidr = ipaddress.ip_network("10.10.10.0/24") + assert_equal(get_ip(1, cidr=cidr), "10.10.10.1") + assert_raises(IPUtilsException, get_ip, 1000, interface=self.iface) assert_regexp_matches(get_ip(1, interface=self.iface), ip4_pattern) assert_raises(IPUtilsException, get_ip, 1) - def test_get_ip_range_raises(self): assert_raises(IPUtilsException, get_ip_range) assert_raises(IPUtilsException, get_ip_range, interface=self.iface) def test_get_ip_range_with_interface(self): - assert_regexp_matches(get_ip_range(interface=self.iface, start_offset=1, end_offset=20), ip4_range_pattern) - assert_regexp_matches(get_ip_range(interface=self.iface, start_offset=1, count=10), ip4_range_pattern) - assert_regexp_matches(get_ip_range(interface=self.iface, end_offset=20, count=10), ip4_range_pattern) + assert_regexp_matches(get_ip_range(interface=self.iface, + start_offset=1, end_offset=20), + ip4_range_pattern) + assert_regexp_matches(get_ip_range(interface=self.iface, + start_offset=1, count=10), + ip4_range_pattern) + assert_regexp_matches(get_ip_range(interface=self.iface, end_offset=20, + count=10), ip4_range_pattern) def test_get_ip_range_with_cidr(self): cidr = ip_network('10.10.10.0/24') assert_raises(IPUtilsException, get_ip_range, cidr=cidr) - assert_regexp_matches(get_ip_range(cidr=cidr, start_offset=1, end_offset=20), ip4_pattern) - assert_regexp_matches(get_ip_range(cidr=cidr, start_offset=1, count=10), ip4_pattern) - assert_regexp_matches(get_ip_range(cidr=cidr, end_offset=20, count=10), ip4_pattern) + assert_regexp_matches(get_ip_range(cidr=cidr, start_offset=1, + end_offset=20), ip4_pattern) + assert_regexp_matches(get_ip_range(cidr=cidr, start_offset=1, + count=10), ip4_pattern) + assert_regexp_matches(get_ip_range(cidr=cidr, end_offset=20, + count=10), ip4_pattern) + + def test__validate_ip_range(self): + cidr = ip_network('10.10.10.0/24') + assert_true(_validate_ip_range( + start_ip=ipaddress.IPv4Address('10.10.10.1'), + end_ip=ipaddress.IPv4Address('10.10.10.10'), + cidr=cidr)) + assert_false(_validate_ip_range( + start_ip=ipaddress.IPv4Address('10.10.10.10'), + end_ip=ipaddress.IPv4Address('10.10.10.1'), + cidr=cidr)) + assert_false(_validate_ip_range( + start_ip=ipaddress.IPv4Address('10.10.0.1'), + end_ip=ipaddress.IPv4Address('10.10.10.10'), + cidr=cidr)) + assert_false(_validate_ip_range( + start_ip=ipaddress.IPv4Address('10.10.10.1'), + end_ip=ipaddress.IPv4Address('10.10.11.10'), + cidr=cidr)) + + def test_exception(self): + e = IPUtilsException("test") + print(e) + assert_is_instance(e, IPUtilsException)