From 5fddea409be59891138a7e769f471c7139309e7f Mon Sep 17 00:00:00 2001 From: Neda Moeini <neda.moeini@geant.org> Date: Fri, 8 Nov 2024 11:02:13 +0100 Subject: [PATCH] Add unit test for modify L2Circuits WF --- .../l2_circuit/test_modify_layer_2_circuit.py | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 test/workflows/l2_circuit/test_modify_layer_2_circuit.py diff --git a/test/workflows/l2_circuit/test_modify_layer_2_circuit.py b/test/workflows/l2_circuit/test_modify_layer_2_circuit.py new file mode 100644 index 00000000..aee47662 --- /dev/null +++ b/test/workflows/l2_circuit/test_modify_layer_2_circuit.py @@ -0,0 +1,73 @@ +import pytest +from orchestrator.types import SubscriptionLifecycle + +from gso.products import ProductName +from gso.products.product_blocks.layer_2_circuit import Layer2CircuitType +from gso.products.product_types.layer_2_circuit import Layer2Circuit +from test.workflows import assert_complete, extract_state, run_workflow + + +@pytest.mark.parametrize("layer_2_circuit_service_type", [ProductName.GEANT_PLUS, ProductName.EXPRESSROUTE]) +@pytest.mark.workflow() +def test_modify_layer_2_circuit_change_policer_bandwidth( + layer_2_circuit_service_type, + layer_2_circuit_subscription_factory, + faker, + partner_factory, + data_config_filename, +): + subscription_id = layer_2_circuit_subscription_factory(layer_2_circuit_service_type=layer_2_circuit_service_type) + subscription = Layer2Circuit.from_subscription(subscription_id) + input_form_data = [ + {"subscription_id": subscription_id}, + { + "tt_number": faker.tt_number(), + "layer_2_circuit_type": Layer2CircuitType.TAGGED, + "policer_enabled": False, + }, + { + "vlan_range_lower_bound": subscription.layer_2_circuit.vlan_range_lower_bound, + "vlan_range_upper_bound": subscription.layer_2_circuit.vlan_range_upper_bound, + "policer_bandwidth": None, + } + ] + result, _, _ = run_workflow("modify_layer_2_circuit", input_form_data) + assert_complete(result) + assert subscription.status == SubscriptionLifecycle.ACTIVE + assert subscription.layer_2_circuit.policer_enabled is False + assert subscription.layer_2_circuit.bandwidth is None + + +@pytest.mark.parametrize("layer_2_circuit_service_type", [ProductName.GEANT_PLUS, ProductName.EXPRESSROUTE]) +@pytest.mark.workflow() +def test_modify_layer_2_circuit_change_circuit_type( + layer_2_circuit_service_type, + layer_2_circuit_subscription_factory, + faker, + partner_factory, + data_config_filename, +): + subscription_id = layer_2_circuit_subscription_factory(layer_2_circuit_service_type=layer_2_circuit_service_type) + subscription = Layer2Circuit.from_subscription(subscription_id) + input_form_data = [ + {"subscription_id": subscription_id}, + { + "tt_number": faker.tt_number(), + "layer_2_circuit_type": Layer2CircuitType.UNTAGGED, + }, + { + "vlan_range_lower_bound": None, + "vlan_range_upper_bound": None, + "policer_bandwidth": subscription.layer_2_circuit.bandwidth, + } + ] + result, _, _ = run_workflow("modify_layer_2_circuit", input_form_data) + assert_complete(result) + state = extract_state(result) + subscription = Layer2Circuit.from_subscription(state["subscription_id"]) + assert subscription.status == SubscriptionLifecycle.ACTIVE + assert subscription.layer_2_circuit.vlan_range_lower_bound is None + assert subscription.layer_2_circuit.vlan_range_upper_bound is None + assert subscription.layer_2_circuit.layer_2_circuit_type == Layer2CircuitType.UNTAGGED + for layer_2_circuit_side in subscription.layer_2_circuit.layer_2_circuit_sides: + assert layer_2_circuit_side.sbp.is_tagged is False -- GitLab