Skip to content
Snippets Groups Projects
Verified Commit f85f9444 authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

fix unit tests for router remodel

parent 78f747b6
No related branches found
No related tags found
No related merge requests found
Pipeline #84573 passed
This commit is part of merge request !105. Comments created here will be created in the context of that merge request.
......@@ -72,7 +72,7 @@ def available_interfaces_choices(router_id: UUID, speed: str) -> Choice | None:
def available_interfaces_choices_including_current_members(
router_id: UUID | UUIDstr,
router_id: UUID,
speed: str,
interfaces: list[IptrunkInterfaceBlock],
) -> Choice | None:
......@@ -113,14 +113,14 @@ def available_lags_choices(router_id: UUID) -> Choice | None:
return Choice("ae iface", zip(side_a_ae_iface_list, side_a_ae_iface_list, strict=True)) # type: ignore[arg-type]
def get_router_vendor(router_id: UUID) -> str:
def get_router_vendor(router_id: UUID) -> RouterVendor:
"""Retrieve the vendor of a router.
:param router_id: The :term:`UUID` of the router.
:type router_id: :class:`uuid.UUID`
:return: The vendor of the router.
:rtype: str:
:rtype: RouterVendor:
"""
return Router.from_subscription(router_id).vendor
......
......@@ -17,7 +17,6 @@ from gso.products.product_blocks.iptrunk import (
IptrunkType,
PhyPortCapacity,
)
from gso.products.product_blocks.router import RouterVendor
from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning
from gso.products.product_types.router import Router, RouterVendor
from gso.services import infoblox, provisioning_proxy, subscriptions
......
......@@ -280,7 +280,6 @@ def allocate_interfaces_in_netbox(subscription: Iptrunk, previous_ae_members: di
Attach the :term:`LAG` interfaces to the physical interfaces detach old ones from the :term:`LAG`.
"""
for index, side in enumerate(subscription.iptrunk.iptrunk_sides):
nbclient = NetboxClient()
if get_router_vendor(side.iptrunk_side_node.owner_subscription_id) == RouterVendor.NOKIA:
......
......@@ -107,7 +107,7 @@ def initialize_subscription(
@step("Allocate loopback interfaces in IPAM")
def ipam_allocate_loopback(subscription: RouterProvisioning) -> State: # noqa: FBT001
def ipam_allocate_loopback(subscription: RouterProvisioning) -> State:
"""Allocate :term:`IPAM` resources for the loopback interface."""
fqdn = subscription.router.router_fqdn
loopback_v4, loopback_v6 = infoblox.allocate_host(f"lo0.{fqdn}", "LO", [fqdn], str(subscription.subscription_id))
......
......@@ -43,8 +43,6 @@ def create_subscription(customer: str, router_vendor: RouterVendor) -> State:
product_id = subscriptions.get_product_id_by_name(ProductType.NOKIA_ROUTER)
elif router_vendor == RouterVendor.JUNIPER:
product_id = subscriptions.get_product_id_by_name(ProductType.JUNIPER_ROUTER)
else:
raise ValueError(f"Unknown router vendor: {router_vendor}")
subscription = RouterInactive.from_product_id(product_id, customer_id)
......
......@@ -7,6 +7,8 @@ celery-redbeat==2.1.1
celery==5.3.4
# Test and linting dependencies
celery-stubs==0.1.3
types-requests==2.31.0.1
pytest==7.4.3
faker==19.13.0
responses==0.24.0
......
......@@ -3,7 +3,7 @@ from unittest.mock import patch
import pytest
from gso.products.product_blocks.iptrunk import IptrunkInterfaceBlock
from gso.products.product_blocks.router import RouterVendor
from gso.products.product_types.router import RouterVendor
from gso.utils.helpers import available_interfaces_choices_including_current_members
......@@ -22,20 +22,20 @@ def mock_netbox_client():
def test_non_nokia_router_returns_none(mock_router, faker):
mock_router.from_subscription.return_value.router.router_vendor = RouterVendor.JUNIPER
mock_router.from_subscription.return_value.vendor = RouterVendor.JUNIPER
result = available_interfaces_choices_including_current_members(faker.uuid4(), "10G", [])
assert result is None
def test_nokia_router_with_no_interfaces_returns_empty_choice(mock_router, mock_netbox_client, faker):
mock_router.from_subscription.return_value.router.router_vendor = RouterVendor.NOKIA
mock_router.from_subscription.return_value.vendor = RouterVendor.NOKIA
mock_netbox_client().get_available_interfaces.return_value = iter([])
result = available_interfaces_choices_including_current_members(faker.uuid4(), "10G", [])
assert len(result) == 0
def test_nokia_router_with_interfaces_returns_choice(mock_router, mock_netbox_client, faker):
mock_router.from_subscription.return_value.router.router_vendor = RouterVendor.NOKIA
mock_router.from_subscription.return_value.vendor = RouterVendor.NOKIA
mock_netbox_client().get_available_interfaces.return_value = iter(
[
{"name": "interface1", "module": {"display": "module1"}, "description": "desc1"},
......
......@@ -10,8 +10,6 @@ setenv =
OAUTH2_ACTIVE = False
deps =
coverage
types-requests
celery-stubs
-r requirements.txt
commands =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment