diff --git a/test/workflows/vrf/__init__.py b/test/workflows/vrf/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/workflows/vrf/test_create_vrf.py b/test/workflows/vrf/test_create_vrf.py new file mode 100644 index 0000000000000000000000000000000000000000..6ba190cb02ce5fa296e19f3c421b7025ea587d85 --- /dev/null +++ b/test/workflows/vrf/test_create_vrf.py @@ -0,0 +1,42 @@ +import pytest +from orchestrator.types import SubscriptionLifecycle + +from gso.products import ProductName +from gso.products.product_types.vrf import VRF +from gso.services.subscriptions import get_product_id_by_name +from test.workflows import assert_complete, extract_state, run_workflow + + +@pytest.fixture() +def vrf_input(faker): + product_id = get_product_id_by_name(ProductName.VRF) + return [ + {"product": product_id}, + { + "tt_number": faker.tt_number(), + "partner": "GEANT", + "vrf_name": faker.pystr(), + "route_distinguisher": faker.pystr(), + "route_target": faker.pystr(), + "vrf_as_number": faker.pyint(), + }, + {}, + ] + + +@pytest.mark.workflow() +def test_create_vrf_success( + vrf_input, + faker, + data_config_filename, +): + result, _, _ = run_workflow("create_vrf", vrf_input) + assert_complete(result) + state = extract_state(result) + subscription = VRF.from_subscription(state["subscription_id"]) + assert subscription.status == SubscriptionLifecycle.ACTIVE + assert subscription.vrf.vrf_name == vrf_input[1]["vrf_name"] + assert subscription.vrf.route_distinguisher == vrf_input[1]["route_distinguisher"] + assert subscription.vrf.route_target == vrf_input[1]["route_target"] + assert subscription.vrf.vrf_as_number == vrf_input[1]["vrf_as_number"] + assert subscription.description == f"VRF {vrf_input[1]["vrf_name"]}"