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

more refactoring

restructure test files in test/workflows/iptrunk
update import statements for PhyPortCapacity and PortNumber enums
parent 70094e34
No related branches found
No related tags found
1 merge request!83Clean up the repo a bit, and add some unit tests
Showing
with 21 additions and 23 deletions
...@@ -7,7 +7,7 @@ from orchestrator.security import opa_security_default ...@@ -7,7 +7,7 @@ from orchestrator.security import opa_security_default
from orchestrator.services import processes, subscriptions from orchestrator.services import processes, subscriptions
from sqlalchemy.exc import MultipleResultsFound from sqlalchemy.exc import MultipleResultsFound
from utils.types.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel from gso.utils.types.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel
router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)]) router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)])
......
...@@ -8,8 +8,8 @@ from orchestrator.forms.validators import UniqueConstrainedList ...@@ -8,8 +8,8 @@ from orchestrator.forms.validators import UniqueConstrainedList
from orchestrator.types import SubscriptionLifecycle, strEnum from orchestrator.types import SubscriptionLifecycle, strEnum
from pydantic import Field from pydantic import Field
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.router import RouterBlock, RouterBlockInactive, RouterBlockProvisioning from gso.products.product_blocks.router import RouterBlock, RouterBlockInactive, RouterBlockProvisioning
from gso.utils.types.phy_port import PhyPortCapacity
class IptrunkType(strEnum): class IptrunkType(strEnum):
......
...@@ -5,7 +5,7 @@ import pydantic ...@@ -5,7 +5,7 @@ import pydantic
import pynetbox import pynetbox
from pynetbox.models.dcim import Devices, DeviceTypes, Interfaces from pynetbox.models.dcim import Devices, DeviceTypes, Interfaces
from gso.products import Router from gso.products.product_types.router import Router
from gso.settings import load_oss_params from gso.settings import load_oss_params
from gso.utils.device_info import DEFAULT_SITE, FEASIBLE_IP_TRUNK_LAG_RANGE, ROUTER_ROLE, TierInfo from gso.utils.device_info import DEFAULT_SITE, FEASIBLE_IP_TRUNK_LAG_RANGE, ROUTER_ROLE, TierInfo
......
...@@ -4,12 +4,12 @@ from uuid import UUID ...@@ -4,12 +4,12 @@ from uuid import UUID
from pydantic import BaseModel, root_validator, validator from pydantic import BaseModel, root_validator, validator
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products.product_blocks.router import RouterRole, RouterVendor from gso.products.product_blocks.router import RouterRole, RouterVendor
from gso.products.product_blocks.site import SiteTier from gso.products.product_blocks.site import SiteTier
from gso.services import subscriptions from gso.services import subscriptions
from gso.services.crm import CustomerNotFoundError, get_customer_by_name from gso.services.crm import CustomerNotFoundError, get_customer_by_name
from gso.utils.types.phy_port import PhyPortCapacity
class ImportResponseModel(BaseModel): class ImportResponseModel(BaseModel):
......
...@@ -10,4 +10,4 @@ class PhyPortCapacity(strEnum): ...@@ -10,4 +10,4 @@ class PhyPortCapacity(strEnum):
ONE_GIGABIT_PER_SECOND = "1G" ONE_GIGABIT_PER_SECOND = "1G"
TEN_GIGABIT_PER_SECOND = "10G" TEN_GIGABIT_PER_SECOND = "10G"
HUNDRED_GIGABIT_PER_SECOND = "100G" HUNDRED_GIGABIT_PER_SECOND = "100G"
FOUR_HUNDRED_GIGABIT_PER_SECOND = "400G" FOUR_HUNDRED_GIGABIT_PER_SECOND = "400G"
\ No newline at end of file
...@@ -8,7 +8,6 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form ...@@ -8,7 +8,6 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form
from pydantic import validator from pydantic import validator
from pynetbox.models.dcim import Interfaces from pynetbox.models.dcim import Interfaces
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products.product_blocks.router import RouterVendor from gso.products.product_blocks.router import RouterVendor
from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning
...@@ -167,7 +166,7 @@ def initialize_subscription( ...@@ -167,7 +166,7 @@ def initialize_subscription(
geant_s_sid: str, geant_s_sid: str,
iptrunk_type: IptrunkType, iptrunk_type: IptrunkType,
iptrunk_description: str, iptrunk_description: str,
iptrunk_speed: str, iptrunk_speed: PhyPortCapacity,
iptrunk_minimum_links: int, iptrunk_minimum_links: int,
iptrunk_sideA_node_id: str, iptrunk_sideA_node_id: str,
iptrunk_sideA_ae_iface: str, iptrunk_sideA_ae_iface: str,
......
...@@ -8,11 +8,11 @@ from orchestrator.workflow import StepList, done, init, step, workflow ...@@ -8,11 +8,11 @@ from orchestrator.workflow import StepList, done, init, step, workflow
from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.steps import resync, store_process_subscription, unsync
from orchestrator.workflows.utils import wrap_modify_initial_input_form from orchestrator.workflows.utils import wrap_modify_initial_input_form
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products.product_types.iptrunk import Iptrunk from gso.products.product_types.iptrunk import Iptrunk
from gso.services import provisioning_proxy from gso.services import provisioning_proxy
from gso.services.provisioning_proxy import pp_interaction from gso.services.provisioning_proxy import pp_interaction
from gso.utils.types.phy_port import PhyPortCapacity
def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
...@@ -23,7 +23,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: ...@@ -23,7 +23,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
geant_s_sid: str = subscription.iptrunk.geant_s_sid geant_s_sid: str = subscription.iptrunk.geant_s_sid
iptrunk_description: str = subscription.iptrunk.iptrunk_description iptrunk_description: str = subscription.iptrunk.iptrunk_description
iptrunk_type: IptrunkType = subscription.iptrunk.iptrunk_type iptrunk_type: IptrunkType = subscription.iptrunk.iptrunk_type
iptrunk_speed: PhyPortCapacity = subscription.iptrunk.iptrunk_speed # type: ignore[assignment] iptrunk_speed: PhyPortCapacity = subscription.iptrunk.iptrunk_speed
iptrunk_minimum_links: int = subscription.iptrunk.iptrunk_minimum_links iptrunk_minimum_links: int = subscription.iptrunk.iptrunk_minimum_links
iptrunk_isis_metric: int = ReadOnlyField(subscription.iptrunk.iptrunk_isis_metric) iptrunk_isis_metric: int = ReadOnlyField(subscription.iptrunk.iptrunk_isis_metric)
iptrunk_ipv4_network: ipaddress.IPv4Network = ReadOnlyField(subscription.iptrunk.iptrunk_ipv4_network) iptrunk_ipv4_network: ipaddress.IPv4Network = ReadOnlyField(subscription.iptrunk.iptrunk_ipv4_network)
...@@ -75,7 +75,7 @@ def modify_iptrunk_subscription( ...@@ -75,7 +75,7 @@ def modify_iptrunk_subscription(
geant_s_sid: str, geant_s_sid: str,
iptrunk_type: IptrunkType, iptrunk_type: IptrunkType,
iptrunk_description: str, iptrunk_description: str,
iptrunk_speed: str, iptrunk_speed: PhyPortCapacity,
iptrunk_minimum_links: int, iptrunk_minimum_links: int,
iptrunk_sideA_ae_geant_a_sid: str, iptrunk_sideA_ae_geant_a_sid: str,
iptrunk_sideA_ae_members: list[str], iptrunk_sideA_ae_members: list[str],
......
...@@ -14,10 +14,10 @@ from pydantic import validator ...@@ -14,10 +14,10 @@ from pydantic import validator
from gso.products.product_blocks.router import RouterRole, RouterVendor, generate_fqdn from gso.products.product_blocks.router import RouterRole, RouterVendor, generate_fqdn
from gso.products.product_types.router import RouterInactive, RouterProvisioning from gso.products.product_types.router import RouterInactive, RouterProvisioning
from gso.products.product_types.site import Site from gso.products.product_types.site import Site
from utils.types.ip_port import PortNumber
from gso.services import infoblox, provisioning_proxy, subscriptions from gso.services import infoblox, provisioning_proxy, subscriptions
from gso.services.netbox_client import NetboxClient from gso.services.netbox_client import NetboxClient
from gso.services.provisioning_proxy import pp_interaction from gso.services.provisioning_proxy import pp_interaction
from gso.utils.types.ip_port import PortNumber
from gso.workflows.utils import customer_selector, iso_from_ipv4 from gso.workflows.utils import customer_selector, iso_from_ipv4
......
...@@ -12,8 +12,8 @@ from pydantic import validator ...@@ -12,8 +12,8 @@ from pydantic import validator
from gso.products.product_blocks import site as site_pb from gso.products.product_blocks import site as site_pb
from gso.products.product_types import site from gso.products.product_types import site
from gso.workflows.utils import customer_selector
from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate
from gso.workflows.utils import customer_selector
def initial_input_form_generator(product_name: str) -> FormGenerator: # noqa: C901 def initial_input_form_generator(product_name: str) -> FormGenerator: # noqa: C901
......
...@@ -8,12 +8,12 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle ...@@ -8,12 +8,12 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle
from orchestrator.workflow import StepList, done, init, step from orchestrator.workflow import StepList, done, init, step
from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from gso.products.product_blocks import PhyPortCapacity from gso.products import ProductType
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning
from gso.products import ProductType
from gso.services import subscriptions from gso.services import subscriptions
from gso.services.crm import get_customer_by_name from gso.services.crm import get_customer_by_name
from gso.utils.types.phy_port import PhyPortCapacity
from gso.workflows.iptrunk.create_iptrunk import initialize_subscription from gso.workflows.iptrunk.create_iptrunk import initialize_subscription
......
...@@ -8,15 +8,15 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle ...@@ -8,15 +8,15 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle
from orchestrator.workflow import StepList, done, init, step from orchestrator.workflow import StepList, done, init, step
from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from gso.products import ProductType
from gso.products.product_blocks import router as router_pb from gso.products.product_blocks import router as router_pb
from gso.products.product_blocks.router import RouterRole, RouterVendor from gso.products.product_blocks.router import RouterRole, RouterVendor
from gso.products.product_types import router from gso.products.product_types import router
from gso.products.product_types.router import RouterInactive from gso.products.product_types.router import RouterInactive
from gso.products.product_types.site import Site from gso.products.product_types.site import Site
from utils.types.ip_port import PortNumber
from gso.products import ProductType
from gso.services import subscriptions from gso.services import subscriptions
from gso.services.crm import get_customer_by_name from gso.services.crm import get_customer_by_name
from gso.utils.types.ip_port import PortNumber
def _get_site_by_name(site_name: str) -> Site: def _get_site_by_name(site_name: str) -> Site:
......
...@@ -6,9 +6,9 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle ...@@ -6,9 +6,9 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle
from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflow import StepList, done, init, step, workflow
from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from gso.products import ProductType
from gso.products.product_blocks.site import SiteTier from gso.products.product_blocks.site import SiteTier
from gso.products.product_types.site import SiteInactive from gso.products.product_types.site import SiteInactive
from gso.products import ProductType
from gso.services import subscriptions from gso.services import subscriptions
from gso.services.crm import get_customer_by_name from gso.services.crm import get_customer_by_name
from gso.workflows.site.create_site import initialize_subscription from gso.workflows.site.create_site import initialize_subscription
......
...@@ -5,12 +5,12 @@ from orchestrator.db import db ...@@ -5,12 +5,12 @@ from orchestrator.db import db
from orchestrator.domain import SubscriptionModel from orchestrator.domain import SubscriptionModel
from orchestrator.types import SubscriptionLifecycle, UUIDstr from orchestrator.types import SubscriptionLifecycle, UUIDstr
from gso.products import ProductType
from gso.products.product_blocks.router import RouterRole, RouterVendor from gso.products.product_blocks.router import RouterRole, RouterVendor
from gso.products.product_blocks.site import SiteTier from gso.products.product_blocks.site import SiteTier
from gso.products.product_types.router import RouterInactive from gso.products.product_types.router import RouterInactive
from gso.products.product_types.site import Site, SiteInactive from gso.products.product_types.site import Site, SiteInactive
from gso.services import subscriptions from gso.services import subscriptions
from gso.products import ProductType
CUSTOMER_ID: UUIDstr = "2f47f65a-0911-e511-80d0-005056956c1a" CUSTOMER_ID: UUIDstr = "2f47f65a-0911-e511-80d0-005056956c1a"
......
...@@ -5,10 +5,10 @@ import pytest ...@@ -5,10 +5,10 @@ import pytest
from orchestrator.db import SubscriptionTable from orchestrator.db import SubscriptionTable
from orchestrator.services import subscriptions from orchestrator.services import subscriptions
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products.product_blocks.router import RouterRole, RouterVendor from gso.products.product_blocks.router import RouterRole, RouterVendor
from gso.products.product_blocks.site import SiteTier from gso.products.product_blocks.site import SiteTier
from gso.utils.types.phy_port import PhyPortCapacity
SITE_IMPORT_ENDPOINT = "/api/v1/imports/sites" SITE_IMPORT_ENDPOINT = "/api/v1/imports/sites"
ROUTER_IMPORT_ENDPOINT = "/api/v1/imports/routers" ROUTER_IMPORT_ENDPOINT = "/api/v1/imports/routers"
......
...@@ -3,12 +3,11 @@ from unittest.mock import patch ...@@ -3,12 +3,11 @@ from unittest.mock import patch
import pytest import pytest
from gso.products import Iptrunk from gso.products import Iptrunk, ProductType
from gso.products.product_blocks import PhyPortCapacity
from gso.products.product_blocks.iptrunk import IptrunkType from gso.products.product_blocks.iptrunk import IptrunkType
from gso.products import ProductType
from gso.services.crm import get_customer_by_name from gso.services.crm import 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.types.phy_port import PhyPortCapacity
from gso.workflows.utils import customer_selector from gso.workflows.utils import customer_selector
from test.workflows import ( from test.workflows import (
assert_aborted, assert_aborted,
......
import pytest import pytest
from gso.products import ProductType
from gso.products.product_blocks.site import SiteTier from gso.products.product_blocks.site import SiteTier
from gso.products.product_types.site import Site from gso.products.product_types.site import Site
from gso.products import ProductType
from gso.services.crm import get_customer_by_name from gso.services.crm import 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 test.workflows import assert_complete, extract_state, run_workflow from test.workflows import assert_complete, extract_state, run_workflow
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment