From f58cbab2b35de105d10c80c21e9251f1e543a51b Mon Sep 17 00:00:00 2001 From: Neda Moeini <neda.moeini@geant.org> Date: Wed, 20 Nov 2024 09:31:07 +0100 Subject: [PATCH] Update create NrenL3CoreServic WF after BFD Settings change. --- .../create_nren_l3_core_service.py | 1 + test/fixtures/nren_l3_core_service_fixtures.py | 13 +++++++------ .../test_create_nren_l3_core_service.py | 14 +++++++------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py b/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py index c92c63b1..80034d05 100644 --- a/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py +++ b/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py @@ -145,6 +145,7 @@ def initialize_subscription( subscription_id=uuid4(), rtbh_enabled=True, is_multi_hop=True, + **session, ) for session in binding_port_input["bgp_peers"] ] diff --git a/test/fixtures/nren_l3_core_service_fixtures.py b/test/fixtures/nren_l3_core_service_fixtures.py index 58754e59..15306c1a 100644 --- a/test/fixtures/nren_l3_core_service_fixtures.py +++ b/test/fixtures/nren_l3_core_service_fixtures.py @@ -7,9 +7,9 @@ from orchestrator.domain import SubscriptionModel from orchestrator.types import SubscriptionLifecycle, UUIDstr from gso.products import ProductName -from gso.products.product_blocks.bgp_session import BFDSettings, BGPSession, IPFamily +from gso.products.product_blocks.bgp_session import BGPSession, IPFamily from gso.products.product_blocks.nren_l3_core_service import NRENAccessPort -from gso.products.product_blocks.service_binding_port import ServiceBindingPort +from gso.products.product_blocks.service_binding_port import BFDSettings, ServiceBindingPort from gso.products.product_types.edge_port import EdgePort from gso.products.product_types.nren_l3_core_service import ( ImportedNRENL3CoreService, @@ -34,19 +34,19 @@ def bfd_settings_factory(faker): subscription_id=uuid4(), bfd_enabled=bfd_enabled, bfd_multiplier=bfd_multiplier or (faker.pyint() if bfd_enabled else None), - bfd_interval=bfd_interval or (faker.pyint() if bfd_enabled else None), + bfd_interval_rx=bfd_interval or (faker.pyint() if bfd_enabled else None), + bfd_interval_tx=bfd_interval or (faker.pyint() if bfd_enabled else None), ) return create_bfd_settings @pytest.fixture() -def bgp_session_subscription_factory(faker, bfd_settings_factory): +def bgp_session_subscription_factory(faker): def create_bgp_session( peer_address: IPAddress | None = None, families: list[IPFamily] | None = None, authentication_key: str | None = None, - bfd_settings: BFDSettings | None = None, *, is_multi_hop: bool = False, has_custom_policies: bool = False, @@ -54,11 +54,12 @@ def bgp_session_subscription_factory(faker, bfd_settings_factory): send_default_route: bool | None = True, is_passive: bool | None = False, rtbh_enabled: bool | None = False, + bfd_enabled: bool | None = False, ): return BGPSession.new( subscription_id=uuid4(), peer_address=peer_address or faker.ipv4(), - bfd_settings=bfd_settings or bfd_settings_factory(), + bfd_enabled=bfd_enabled if bfd_enabled else faker.boolean(), families=families or [IPFamily.V4UNICAST], has_custom_policies=has_custom_policies, authentication_key=authentication_key or faker.password(), diff --git a/test/workflows/nren_l3_core_service/test_create_nren_l3_core_service.py b/test/workflows/nren_l3_core_service/test_create_nren_l3_core_service.py index c2b582f4..01d7f8f0 100644 --- a/test/workflows/nren_l3_core_service/test_create_nren_l3_core_service.py +++ b/test/workflows/nren_l3_core_service/test_create_nren_l3_core_service.py @@ -4,6 +4,7 @@ import pytest from orchestrator.types import SubscriptionLifecycle from gso.products import ProductName +from gso.products.product_blocks.bgp_session import IPTypes from gso.products.product_types.nren_l3_core_service import NRENL3CoreService from gso.services.subscriptions import get_product_id_by_name from gso.utils.shared_enums import APType @@ -15,16 +16,13 @@ def base_bgp_peer_input(faker): def _base_bgp_peer_input(): bfd_enabled = faker.boolean() return { - "bfd_settings": { - "bfd_enabled": bfd_enabled, - "bfd_interval": faker.pyint() if bfd_enabled else None, - "bfd_multiplier": faker.pyint() if bfd_enabled else None, - }, + "bfd_enabled": bfd_enabled, "has_custom_policies": faker.boolean(), "authentication_key": faker.password(), "multipath_enabled": faker.boolean(), "send_default_route": faker.boolean(), "is_passive": faker.boolean(), + "ip_type": faker.random_element(elements=[IPTypes.IPV4, IPTypes.IPV6]), } return _base_bgp_peer_input @@ -61,12 +59,14 @@ def test_create_nren_l3_core_service_success( "custom_firewall_filters": faker.boolean(), "v4_bfd_settings": { "bfd_enabled": True, - "bfd_interval": faker.pyint(), + "bfd_interval_rx": faker.pyint(), + "bfd_interval_tx": faker.pyint(), "bfd_multiplier": faker.pyint(), }, "v6_bfd_settings": { "bfd_enabled": True, - "bfd_interval": faker.pyint(), + "bfd_interval_rx": faker.pyint(), + "bfd_interval_tx": faker.pyint(), "bfd_multiplier": faker.pyint(), }, "v4_bgp_peer": base_bgp_peer_input() | {"add_v4_multicast": faker.boolean(), "peer_address": faker.ipv4()}, -- GitLab