From cb6ea33e5875eed48e5cebb03935d58eea9d4174 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 19 Jun 2015 12:39:36 -0400 Subject: [PATCH] tests for the new network utility Signed-off-by: Alfredo Deza --- radosgw_agent/tests/util/test_network.py | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 radosgw_agent/tests/util/test_network.py diff --git a/radosgw_agent/tests/util/test_network.py b/radosgw_agent/tests/util/test_network.py new file mode 100644 index 0000000..0c211d2 --- /dev/null +++ b/radosgw_agent/tests/util/test_network.py @@ -0,0 +1,48 @@ +import pytest +from radosgw_agent.util import network +import random + + +def valid_ipv6_addr(ports=False, brackets=False, addresses=20): + max_rand_int = 16**4 + + def generate(brackets, ports): + address = ":".join( + ("%x" % random.randint(0, max_rand_int) for i in range(8)) + ) + if brackets: + address = '[%s]' % address + if ports: + address = '%s:8080' % address + return address + return [generate(brackets, ports) for i in range(addresses)] + + +def invalid_ipv6_addr(): + return [ + '', + 1, + 'some address', + '192.1.1.1', + '::!', + ] + + +class TestIsIPV6(object): + + @pytest.mark.parametrize('address', valid_ipv6_addr()) + def test_passes_valid_addresses(self, address): + assert network.is_ipv6(address) is True + + @pytest.mark.parametrize('address', valid_ipv6_addr(brackets=True)) + def test_passes_valid_addresses_with_brackets(self, address): + assert network.is_ipv6(address) is True + + @pytest.mark.parametrize('address', invalid_ipv6_addr()) + def test_catches_invalid_addresses(self, address): + assert network.is_ipv6(address) is False + + @pytest.mark.parametrize('address', valid_ipv6_addr(ports=True, brackets=True)) + def test_passes_valid_addresses_with_brackets_and_ports(self, address): + assert network.is_ipv6(address) is True + -- 2.47.3