Skip to content
Snippets Groups Projects
Commit e781d6fa authored by Hakan Calim's avatar Hakan Calim
Browse files

NAT-329: Added vendor check to input wizard fixture

parent 7515594a
Branches
Tags
No related merge requests found
Pipeline #84600 failed
...@@ -5,6 +5,7 @@ import pytest ...@@ -5,6 +5,7 @@ import pytest
from gso.products import Iptrunk, ProductType from gso.products import Iptrunk, ProductType
from gso.products.product_blocks.iptrunk import IptrunkType, PhyPortCapacity from gso.products.product_blocks.iptrunk import IptrunkType, PhyPortCapacity
from gso.products.product_blocks.router import RouterVendor
from gso.services.crm import customer_selector, get_customer_by_name from gso.services.crm import customer_selector, get_customer_by_name
from gso.services.subscriptions import get_product_id_by_name from gso.services.subscriptions import get_product_id_by_name
from gso.utils.helpers import LAGMember from gso.utils.helpers import LAGMember
...@@ -42,9 +43,19 @@ def netbox_client_mock(): ...@@ -42,9 +43,19 @@ def netbox_client_mock():
@pytest.fixture @pytest.fixture
def input_form_wizard_data(router_subscription_factory, faker): def input_form_wizard_data(request, router_subscription_factory, faker):
router_side_a = router_subscription_factory() vendor = getattr(request, 'param', RouterVendor.NOKIA)
router_side_b = router_subscription_factory() router_side_a = router_subscription_factory(router_vendor=vendor)
router_side_b = router_subscription_factory(router_vendor=vendor)
interface_members = None
if vendor == RouterVendor.JUNIPER:
interface_members = ["et-1/0/0", "xe-1/0/0"]
else:
interface_members = [
LAGMember(interface_name=f"Interface{interface}", interface_description=faker.sentence())
for interface in range(5)
]
create_ip_trunk_step = { create_ip_trunk_step = {
"tt_number": faker.tt_number(), "tt_number": faker.tt_number(),
...@@ -59,10 +70,7 @@ def input_form_wizard_data(router_subscription_factory, faker): ...@@ -59,10 +70,7 @@ def input_form_wizard_data(router_subscription_factory, faker):
create_ip_trunk_side_a_step = { create_ip_trunk_side_a_step = {
"side_a_ae_iface": "LAG1", "side_a_ae_iface": "LAG1",
"side_a_ae_geant_a_sid": faker.geant_sid(), "side_a_ae_geant_a_sid": faker.geant_sid(),
"side_a_ae_members": [ "side_a_ae_members": interface_members,
LAGMember(interface_name=f"Interface{interface}", interface_description=faker.sentence())
for interface in range(5)
],
} }
create_ip_trunk_side_b_router_name = {"side_b_node_id": router_side_b} create_ip_trunk_side_b_router_name = {"side_b_node_id": router_side_b}
create_ip_trunk_side_b_step = { create_ip_trunk_side_b_step = {
...@@ -150,3 +158,33 @@ def test_iptrunk_creation_fails_when_lso_return_code_is_one( ...@@ -150,3 +158,33 @@ def test_iptrunk_creation_fails_when_lso_return_code_is_one(
assert_pp_interaction_failure(result, process_stat, step_log) assert_pp_interaction_failure(result, process_stat, step_log)
assert mock_check_ip_trunk.call_count == 0 assert mock_check_ip_trunk.call_count == 0
@pytest.mark.workflow
@pytest.mark.parametrize("input_form_wizard_data", [RouterVendor.JUNIPER], indirect=True)
@patch("gso.workflows.iptrunk.create_iptrunk.provisioning_proxy.check_ip_trunk")
@patch("gso.workflows.iptrunk.create_iptrunk.provisioning_proxy.provision_ip_trunk")
@patch("gso.workflows.iptrunk.create_iptrunk.infoblox.allocate_v6_network")
@patch("gso.workflows.iptrunk.create_iptrunk.infoblox.allocate_v4_network")
def test_successful_iptrunk_creation_with_juniper_interface_names(
mock_allocate_v4_network,
mock_allocate_v6_network,
mock_provision_ip_trunk,
mock_check_ip_trunk,
responses,
input_form_wizard_data,
faker,
data_config_filename: PathLike,
netbox_client_mock,
test_client,
):
mock_allocate_v4_network.return_value = faker.ipv4_network()
mock_allocate_v6_network.return_value = faker.ipv6_network()
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)
for _ in range(6):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
assert_complete(result)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment