From 7a5a4f98066c392a46d5e0871b41bef90849747e Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Fri, 6 Oct 2023 14:33:56 +0200 Subject: [PATCH] move utility modules that only contain type definitions into gso.utils.types package --- gso/api/v1/imports.py | 2 +- gso/products/product_blocks/router.py | 4 ++-- gso/products/product_blocks/site.py | 2 +- gso/{schemas => utils/types}/__init__.py | 0 gso/{schemas => utils/types}/imports.py | 0 gso/{products/shared.py => utils/types/port.py} | 0 gso/{schemas/types.py => utils/types/snmp.py} | 0 gso/workflows/router/create_router.py | 2 +- gso/workflows/site/create_site.py | 2 +- gso/workflows/tasks/import_router.py | 2 +- test-docs.sh | 2 +- test/schemas/test_types.py | 2 +- test/workflows/__init__.py | 6 +++--- 13 files changed, 12 insertions(+), 12 deletions(-) rename gso/{schemas => utils/types}/__init__.py (100%) rename gso/{schemas => utils/types}/imports.py (100%) rename gso/{products/shared.py => utils/types/port.py} (100%) rename gso/{schemas/types.py => utils/types/snmp.py} (100%) diff --git a/gso/api/v1/imports.py b/gso/api/v1/imports.py index bd8c0d5f..de160e2a 100644 --- a/gso/api/v1/imports.py +++ b/gso/api/v1/imports.py @@ -7,7 +7,7 @@ from orchestrator.security import opa_security_default from orchestrator.services import processes, subscriptions from sqlalchemy.exc import MultipleResultsFound -from gso.schemas.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel +from utils.types.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)]) diff --git a/gso/products/product_blocks/router.py b/gso/products/product_blocks/router.py index 58cf1d36..7a005907 100644 --- a/gso/products/product_blocks/router.py +++ b/gso/products/product_blocks/router.py @@ -5,7 +5,7 @@ from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle, strEnum from gso.products.product_blocks.site import SiteBlock, SiteBlockInactive, SiteBlockProvisioning -from gso.products.shared import PortNumber +from utils.types.port import PortNumber class RouterVendor(strEnum): @@ -92,5 +92,5 @@ class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTI router_role: RouterRole #: The :class:`Site` that this router resides in. Both physically and computationally. router_site: SiteBlock - #: The router is going to have a LT interface between inet0 and IAS + #: The router is going to have an LT interface between inet0 and IAS router_is_ias_connected: bool diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py index 74f4cf25..683636e1 100644 --- a/gso/products/product_blocks/site.py +++ b/gso/products/product_blocks/site.py @@ -2,7 +2,7 @@ from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle, strEnum -from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate +from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate class SiteTier(strEnum): diff --git a/gso/schemas/__init__.py b/gso/utils/types/__init__.py similarity index 100% rename from gso/schemas/__init__.py rename to gso/utils/types/__init__.py diff --git a/gso/schemas/imports.py b/gso/utils/types/imports.py similarity index 100% rename from gso/schemas/imports.py rename to gso/utils/types/imports.py diff --git a/gso/products/shared.py b/gso/utils/types/port.py similarity index 100% rename from gso/products/shared.py rename to gso/utils/types/port.py diff --git a/gso/schemas/types.py b/gso/utils/types/snmp.py similarity index 100% rename from gso/schemas/types.py rename to gso/utils/types/snmp.py diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py index 91e7e82a..ddda8b38 100644 --- a/gso/workflows/router/create_router.py +++ b/gso/workflows/router/create_router.py @@ -14,7 +14,7 @@ from pydantic import validator 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.site import Site -from gso.products.shared import PortNumber +from utils.types.port import PortNumber from gso.services import infoblox, provisioning_proxy, subscriptions from gso.services.netbox_client import NetboxClient from gso.services.provisioning_proxy import pp_interaction diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py index edcb7a01..f5642b73 100644 --- a/gso/workflows/site/create_site.py +++ b/gso/workflows/site/create_site.py @@ -12,8 +12,8 @@ from pydantic import validator from gso.products.product_blocks import site as site_pb from gso.products.product_types import site -from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate from gso.workflows.utils import customer_selector +from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate def initial_input_form_generator(product_name: str) -> FormGenerator: # noqa: C901 diff --git a/gso/workflows/tasks/import_router.py b/gso/workflows/tasks/import_router.py index 58582390..62fe1d6b 100644 --- a/gso/workflows/tasks/import_router.py +++ b/gso/workflows/tasks/import_router.py @@ -13,7 +13,7 @@ from gso.products.product_blocks.router import RouterRole, RouterVendor from gso.products.product_types import router from gso.products.product_types.router import RouterInactive from gso.products.product_types.site import Site -from gso.products.shared import PortNumber +from utils.types.port import PortNumber from gso.products import ProductType from gso.services import subscriptions from gso.services.crm import get_customer_by_name diff --git a/test-docs.sh b/test-docs.sh index 7415bda4..cdc50473 100755 --- a/test-docs.sh +++ b/test-docs.sh @@ -4,5 +4,5 @@ if [ ! -d ./docs/vale/styles/proselint ] || [ ! -d ./docs/vale/styles/Microsoft docker run -it --rm -v "$(pwd)"/docs:/docs jdkato/vale:latest --config="/docs/vale/.vale.ini" sync fi -docker run -it --rm -v $(pwd):/gso jdkato/vale:latest --glob='!*/migrations/*' \ +docker run -it --rm -v "$(pwd)":/gso jdkato/vale:latest --glob='!*/migrations/*' \ --config="/gso/docs/vale/.vale.ini" /gso/docs/source /gso/gso diff --git a/test/schemas/test_types.py b/test/schemas/test_types.py index dcfb515d..b8f6eef1 100644 --- a/test/schemas/test_types.py +++ b/test/schemas/test_types.py @@ -1,6 +1,6 @@ import pytest -from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate +from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate @pytest.mark.parametrize( diff --git a/test/workflows/__init__.py b/test/workflows/__init__.py index 19707ff0..9704dcee 100644 --- a/test/workflows/__init__.py +++ b/test/workflows/__init__.py @@ -160,14 +160,14 @@ def _sanitize_input(input_data: State | list[State]) -> list[State]: if not isinstance(input_data, list): input_data = [input_data] - # We need a copy here and we want to mimic the actual code that returns a serialized version of the state + # We need a copy here, and we want to mimic the actual code that returns a serialized version of the state return cast(list[State], json_loads(json_dumps(input_data))) def run_workflow(workflow_key: str, input_data: State | list[State]) -> tuple[WFProcess, ProcessStat, list]: # ATTENTION!! This code needs to be as similar as possible to `server.services.processes.start_process` - # The main differences are: we use a different step log function and we don't run in - # a sepperate thread + # The main differences are: we use a different step log function, and we don't run in + # a separate thread user_data = _sanitize_input(input_data) user = "john.doe" -- GitLab