Skip to content
Snippets Groups Projects
Verified Commit f58cbab2 authored by Neda Moeini's avatar Neda Moeini Committed by Karel van Klink
Browse files

Update create NrenL3CoreServic WF after BFD Settings change.

parent 24c7cff3
No related branches found
No related tags found
1 merge request!298Add BFD configuration to Service binding ports
......@@ -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"]
]
......
......@@ -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(),
......
......@@ -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()},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment