From 74019763fd1d79d3ad579f8f31ef0a24b74c03b0 Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Fri, 10 May 2024 13:13:49 +0200 Subject: [PATCH] Move unit test workflow inputs to pytest fixtures --- .../iptrunk/test_create_imported_iptrunk.py | 12 ++++--- .../test_create_imported_office_router.py | 11 +++--- .../site/test_create_imported_site.py | 36 ++++++++++--------- .../test_create_imported_super_pop_switch.py | 11 +++--- 4 files changed, 41 insertions(+), 29 deletions(-) diff --git a/test/workflows/iptrunk/test_create_imported_iptrunk.py b/test/workflows/iptrunk/test_create_imported_iptrunk.py index 450ae8b6..c08ddbe6 100644 --- a/test/workflows/iptrunk/test_create_imported_iptrunk.py +++ b/test/workflows/iptrunk/test_create_imported_iptrunk.py @@ -11,9 +11,9 @@ from test.workflows import ( ) -@pytest.mark.workflow() -def test_create_imported_iptrunk_success(faker, nokia_router_subscription_factory): - input_data = { +@pytest.fixture() +def workflow_input_data(faker, nokia_router_subscription_factory): + return { "partner": "GEANT", "geant_s_sid": faker.geant_sid(), "iptrunk_description": faker.sentence(), @@ -36,7 +36,11 @@ def test_create_imported_iptrunk_success(faker, nokia_router_subscription_factor "iptrunk_ipv4_network": faker.ipv4_network(max_subnet=31), "iptrunk_ipv6_network": faker.ipv6_network(max_subnet=126), } - result, _, _ = run_workflow("create_imported_iptrunk", [input_data]) + + +@pytest.mark.workflow() +def test_create_imported_iptrunk_success(workflow_input_data): + result, _, _ = run_workflow("create_imported_iptrunk", [workflow_input_data]) state = extract_state(result) imported_router = ImportedIptrunk.from_subscription(state["subscription_id"]) diff --git a/test/workflows/office_router/test_create_imported_office_router.py b/test/workflows/office_router/test_create_imported_office_router.py index 6e711ba8..ac132d36 100644 --- a/test/workflows/office_router/test_create_imported_office_router.py +++ b/test/workflows/office_router/test_create_imported_office_router.py @@ -11,9 +11,9 @@ from test.workflows import ( ) -@pytest.mark.workflow() -def test_create_imported_office_router_success(faker, site_subscription_factory): - input_data = { +@pytest.fixture() +def workflow_input_data(faker, site_subscription_factory): + return { "partner": "GEANT", "office_router_site": Site.from_subscription(site_subscription_factory()).site.site_name, "office_router_fqdn": faker.domain_name(levels=4), @@ -22,7 +22,10 @@ def test_create_imported_office_router_success(faker, site_subscription_factory) "office_router_lo_ipv6_address": faker.ipv6(), } - result, _, _ = run_workflow("create_imported_office_router", [input_data]) + +@pytest.mark.workflow() +def test_create_imported_office_router_success(workflow_input_data): + result, _, _ = run_workflow("create_imported_office_router", [workflow_input_data]) state = extract_state(result) imported_office_router = ImportedOfficeRouter.from_subscription(state["subscription_id"]) diff --git a/test/workflows/site/test_create_imported_site.py b/test/workflows/site/test_create_imported_site.py index 62c1a594..4e8b8e35 100644 --- a/test/workflows/site/test_create_imported_site.py +++ b/test/workflows/site/test_create_imported_site.py @@ -6,24 +6,26 @@ from gso.products.product_types.site import ImportedSite from test.workflows import assert_complete, extract_state, run_workflow +@pytest.fixture() +def workflow_input_data(faker): + return { + "site_name": faker.site_name(), + "site_city": faker.city(), + "site_country": faker.country(), + "site_country_code": faker.country_code(), + "site_latitude": "-74.0060", + "site_longitude": "40.7128", + "site_bgp_community_id": faker.pyint(), + "site_internal_id": faker.pyint(), + "site_tier": SiteTier.TIER1, + "site_ts_address": faker.ipv4(), + "partner": "GEANT", + } + + @pytest.mark.workflow() -def test_create_imported_site_success(faker): - initial_created_site_data = [ - { - "site_name": faker.site_name(), - "site_city": faker.city(), - "site_country": faker.country(), - "site_country_code": faker.country_code(), - "site_latitude": "-74.0060", - "site_longitude": "40.7128", - "site_bgp_community_id": faker.pyint(), - "site_internal_id": faker.pyint(), - "site_tier": SiteTier.TIER1, - "site_ts_address": faker.ipv4(), - "partner": "GEANT", - } - ] - result, _, _ = run_workflow("create_imported_site", initial_created_site_data) +def test_create_imported_site_success(workflow_input_data): + result, _, _ = run_workflow("create_imported_site", [workflow_input_data]) assert_complete(result) state = extract_state(result) diff --git a/test/workflows/super_pop_switch/test_create_imported_super_pop_switch.py b/test/workflows/super_pop_switch/test_create_imported_super_pop_switch.py index c1e283a6..5d0dcd17 100644 --- a/test/workflows/super_pop_switch/test_create_imported_super_pop_switch.py +++ b/test/workflows/super_pop_switch/test_create_imported_super_pop_switch.py @@ -11,9 +11,9 @@ from test.workflows import ( ) -@pytest.mark.workflow() -def test_create_imported_office_router_success(faker, site_subscription_factory): - input_data = { +@pytest.fixture() +def workflow_input_data(faker, site_subscription_factory): + return { "partner": "GEANT", "hostname": faker.domain_word(), "super_pop_switch_site": Site.from_subscription(site_subscription_factory()).site.site_name, @@ -21,7 +21,10 @@ def test_create_imported_office_router_success(faker, site_subscription_factory) "super_pop_switch_mgmt_ipv4_address": faker.ipv4(), } - result, _, _ = run_workflow("create_imported_super_pop_switch", [input_data]) + +@pytest.mark.workflow() +def test_create_imported_office_router_success(workflow_input_data): + result, _, _ = run_workflow("create_imported_super_pop_switch", [workflow_input_data]) state = extract_state(result) imported_super_pop_switch = ImportedSuperPopSwitch.from_subscription(state["subscription_id"]) -- GitLab