From 49143987db141c55f36e437fd68a4db6f493b149 Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Fri, 22 Dec 2023 09:58:05 +0100
Subject: [PATCH] clean up Faker providers

---
 test/conftest.py                              | 20 +++----------------
 test/fixtures.py                              |  4 ++--
 test/imports/test_imports.py                  |  4 ++--
 test/workflows/iptrunk/test_create_iptrunk.py | 14 ++++++-------
 .../iptrunk/test_modify_trunk_interface.py    | 16 +++++++--------
 test/workflows/router/test_create_router.py   |  4 ++--
 6 files changed, 24 insertions(+), 38 deletions(-)

diff --git a/test/conftest.py b/test/conftest.py
index 414d77f9..21462485 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -45,20 +45,6 @@ class UseJuniperSide(strEnum):
 
 
 class FakerProvider(BaseProvider):
-    def ipv4_network(self):
-        ipv4 = self.generator.ipv4()
-        interface = ipaddress.IPv4Interface(ipv4 + "/24")
-        network = interface.network.network_address
-
-        return ipaddress.IPv4Network(str(network) + "/24")
-
-    def ipv6_network(self):
-        ipv6 = self.generator.ipv6()
-        interface = ipaddress.IPv6Interface(ipv6 + "/64")
-        network = interface.network.network_address
-
-        return ipaddress.IPv6Network(str(network) + "/64")
-
     def tt_number(self) -> str:
         random_date = self.generator.date(pattern="%Y%m%d")
         random_int = self.generator.random_int(min=10000000, max=99999999)
@@ -83,7 +69,7 @@ class FakerProvider(BaseProvider):
     def network_interface(self) -> str:
         return self.generator.numerify("ge-@#/@#/@#")
 
-    def generate_juniper_members_list(self) -> list[LAGMember]:
+    def link_members_juniper(self) -> list[LAGMember]:
         iface_amount = self.generator.random_int(min=2, max=5)
         interface_names = [f"{prefix}{i}" for prefix in ["xe-1/0/", "ge-3/0/", "xe-2/1/"] for i in range(iface_amount)]
         return [
@@ -91,7 +77,7 @@ class FakerProvider(BaseProvider):
             for interface_name in interface_names
         ]
 
-    def generate_nokia_members_list(self) -> list[LAGMember]:
+    def link_members_nokia(self) -> list[LAGMember]:
         iface_amount = self.generator.random_int(min=2, max=5)
         return [
             LAGMember(interface_name=f"Interface{i}", interface_description=self.generator.sentence())
@@ -112,7 +98,7 @@ def configuration_data() -> dict:
         s.bind(("", 0))
         s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
         yield {
-            "GENERAL": {"public_hostname": "https://gap.geant.org"},
+            "GENERAL": {"public_hostname": "https://orchestrator.dev.gap.geant.org"},
             "NETBOX": {"api": "https://127.0.0.1:8000", "token": "TOKEN"},
             "IPAM": {
                 "INFOBLOX": {
diff --git a/test/fixtures.py b/test/fixtures.py
index 73d2f86e..bc96381b 100644
--- a/test/fixtures.py
+++ b/test/fixtures.py
@@ -233,8 +233,8 @@ def iptrunk_subscription_factory(iptrunk_side_subscription_factory, faker):
         geant_s_sid = geant_s_sid or faker.geant_sid()
         iptrunk_description = iptrunk_description or faker.sentence()
         iptrunk_isis_metric = iptrunk_isis_metric or faker.pyint()
-        iptrunk_ipv4_network = iptrunk_ipv4_network or faker.ipv4_network()
-        iptrunk_ipv6_network = iptrunk_ipv6_network or faker.ipv6_network()
+        iptrunk_ipv4_network = iptrunk_ipv4_network or faker.ipv4(network=True)
+        iptrunk_ipv6_network = iptrunk_ipv6_network or faker.ipv6(network=True)
         iptrunk_minimum_links = 1
         iptrunk_side_a = iptrunk_side_subscription_factory()
         iptrunk_side_b = iptrunk_side_subscription_factory()
diff --git a/test/imports/test_imports.py b/test/imports/test_imports.py
index dfe21d06..d823bc36 100644
--- a/test/imports/test_imports.py
+++ b/test/imports/test_imports.py
@@ -47,8 +47,8 @@ def iptrunk_data(nokia_router_subscription_factory, faker):
             }
             for _ in range(5)
         ],
-        "iptrunk_ipv4_network": str(faker.ipv4_network()),
-        "iptrunk_ipv6_network": str(faker.ipv6_network()),
+        "iptrunk_ipv4_network": str(faker.ipv4(network=True)),
+        "iptrunk_ipv6_network": str(faker.ipv6(network=True)),
     }
 
 
diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py
index ea01fd46..773dabb3 100644
--- a/test/workflows/iptrunk/test_create_iptrunk.py
+++ b/test/workflows/iptrunk/test_create_iptrunk.py
@@ -50,7 +50,7 @@ def input_form_wizard_data(request, juniper_router_subscription_factory, nokia_r
     # Set side b router to Juniper
     if vendor == RouterVendor.JUNIPER:
         router_side_b = juniper_router_subscription_factory()
-        side_b_members = faker.generate_juniper_members_list()
+        side_b_members = faker.link_members_juniper()
     else:
         router_side_b = nokia_router_subscription_factory()
         side_b_members = [
@@ -110,8 +110,8 @@ def test_successful_iptrunk_creation_with_standard_lso_result(
     data_config_filename: PathLike,
     test_client,
 ):
-    mock_allocate_v4_network.return_value = faker.ipv4_network()
-    mock_allocate_v6_network.return_value = faker.ipv6_network()
+    mock_allocate_v4_network.return_value = faker.ipv4(network=True)
+    mock_allocate_v6_network.return_value = faker.ipv6(network=True)
     product_id = get_product_id_by_name(ProductType.IP_TRUNK)
     initial_site_data = [{"product": product_id}, *input_form_wizard_data]
     result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
@@ -145,8 +145,8 @@ def test_iptrunk_creation_fails_when_lso_return_code_is_one(
     _netbox_client_mock,  # noqa: PT019
     data_config_filename: PathLike,
 ):
-    mock_allocate_v4_network.return_value = faker.ipv4_network()
-    mock_allocate_v6_network.return_value = faker.ipv6_network()
+    mock_allocate_v4_network.return_value = faker.ipv4(network=True)
+    mock_allocate_v6_network.return_value = faker.ipv6(network=True)
     product_id = get_product_id_by_name(ProductType.IP_TRUNK)
 
     initial_site_data = [{"product": product_id}, *input_form_wizard_data]
@@ -175,8 +175,8 @@ def test_successful_iptrunk_creation_with_juniper_interface_names(
     _netbox_client_mock,  # noqa: PT019
     test_client,
 ):
-    mock_allocate_v4_network.return_value = faker.ipv4_network()
-    mock_allocate_v6_network.return_value = faker.ipv6_network()
+    mock_allocate_v4_network.return_value = faker.ipv4(network=True)
+    mock_allocate_v6_network.return_value = faker.ipv6(network=True)
     product_id = get_product_id_by_name(ProductType.IP_TRUNK)
     initial_site_data = [{"product": product_id}, *input_form_wizard_data]
     result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
diff --git a/test/workflows/iptrunk/test_modify_trunk_interface.py b/test/workflows/iptrunk/test_modify_trunk_interface.py
index 0a64e136..b3b15a75 100644
--- a/test/workflows/iptrunk/test_modify_trunk_interface.py
+++ b/test/workflows/iptrunk/test_modify_trunk_interface.py
@@ -29,26 +29,26 @@ def input_form_iptrunk_data(
         side_node = juniper_router_subscription_factory()
         side_a_node = iptrunk_side_subscription_factory(iptrunk_side_node=side_node)
         side_b_node = iptrunk_side_subscription_factory()
-        new_side_a_ae_members = faker.generate_juniper_members_list()
-        new_side_b_ae_members = faker.generate_nokia_members_list()
+        new_side_a_ae_members = faker.link_members_juniper()
+        new_side_b_ae_members = faker.link_members_nokia()
     elif use_juniper == UseJuniperSide.SIDE_B:
         side_node = juniper_router_subscription_factory()
         side_a_node = iptrunk_side_subscription_factory()
         side_b_node = iptrunk_side_subscription_factory(iptrunk_side_node=side_node)
-        new_side_a_ae_members = faker.generate_nokia_members_list()
-        new_side_b_ae_members = faker.generate_juniper_members_list()
+        new_side_a_ae_members = faker.link_members_nokia()
+        new_side_b_ae_members = faker.link_members_juniper()
     elif use_juniper == UseJuniperSide.SIDE_BOTH:
         side_node_1 = juniper_router_subscription_factory()
         side_node_2 = juniper_router_subscription_factory()
         side_a_node = iptrunk_side_subscription_factory(iptrunk_side_node=side_node_1)
         side_b_node = iptrunk_side_subscription_factory(iptrunk_side_node=side_node_2)
-        new_side_a_ae_members = faker.generate_juniper_members_list()
-        new_side_b_ae_members = faker.generate_juniper_members_list()
+        new_side_a_ae_members = faker.link_members_juniper()
+        new_side_b_ae_members = faker.link_members_juniper()
     else:
         side_a_node = iptrunk_side_subscription_factory()
         side_b_node = iptrunk_side_subscription_factory()
-        new_side_a_ae_members = faker.generate_nokia_members_list()
-        new_side_b_ae_members = faker.generate_nokia_members_list()
+        new_side_a_ae_members = faker.link_members_nokia()
+        new_side_b_ae_members = faker.link_members_nokia()
 
     product_id = iptrunk_subscription_factory(iptrunk_sides=[side_a_node, side_b_node])
 
diff --git a/test/workflows/router/test_create_router.py b/test/workflows/router/test_create_router.py
index 775a459f..6c297606 100644
--- a/test/workflows/router/test_create_router.py
+++ b/test/workflows/router/test_create_router.py
@@ -123,7 +123,7 @@ def test_create_nokia_router_lso_failure(
     #  Set up mock return values
     mock_site = Site.from_subscription(router_creation_input_form_data["router_site"]).site
     mock_v4 = faker.ipv4()
-    mock_v4_net = faker.ipv4_network()
+    mock_v4_net = faker.ipv4(network=True)
     mock_v6 = faker.ipv6()
     mock_fqdn = (
         f"{router_creation_input_form_data['hostname']}.{mock_site.site_name.lower()}."
@@ -132,7 +132,7 @@ def test_create_nokia_router_lso_failure(
     mock_hostname_available.return_value = True
     mock_allocate_host.return_value = str(mock_v4), str(mock_v6)
     mock_allocate_v4_network.return_value = mock_v4_net
-    mock_allocate_v6_network.return_value = faker.ipv6_network()
+    mock_allocate_v6_network.return_value = faker.ipv6(network=True)
     mock_find_host_by_fqdn.return_value = objects.HostRecord(
         connector=None,
         aliases=[mock_fqdn],
-- 
GitLab