]> git-server-git.apps.pok.os.sepia.ceph.com Git - radosgw-agent.git/commitdiff
tests for the new network utility
authorAlfredo Deza <adeza@redhat.com>
Fri, 19 Jun 2015 16:39:36 +0000 (12:39 -0400)
committerAlfredo Deza <adeza@redhat.com>
Fri, 19 Jun 2015 16:39:36 +0000 (12:39 -0400)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
radosgw_agent/tests/util/test_network.py [new file with mode: 0644]

diff --git a/radosgw_agent/tests/util/test_network.py b/radosgw_agent/tests/util/test_network.py
new file mode 100644 (file)
index 0000000..0c211d2
--- /dev/null
@@ -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
+