From 96c56efd876953c776f1786b9ef7c02f8c526848 Mon Sep 17 00:00:00 2001
From: Jorge Sasiain <jorge.sasiain@ehu.eus>
Date: Wed, 29 Nov 2023 09:49:33 +0000
Subject: [PATCH] NAT-356: fix tox issues

---
 gso/api/v1/imports.py                 |  6 ++----
 gso/workflows/site/base_site_model.py | 22 +++++++++++++++++-----
 gso/workflows/site/create_site.py     |  4 ++--
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/gso/api/v1/imports.py b/gso/api/v1/imports.py
index a51d0b75..fea1ca62 100644
--- a/gso/api/v1/imports.py
+++ b/gso/api/v1/imports.py
@@ -9,16 +9,14 @@ from fastapi.routing import APIRouter
 from orchestrator.security import opa_security_default
 from orchestrator.services import processes
 from pydantic import BaseModel, root_validator, validator
-from pydantic.fields import ModelField
 
 from gso.products.product_blocks.iptrunk import IptrunkType, PhyPortCapacity
 from gso.products.product_blocks.router import RouterRole, RouterVendor
 from gso.products.product_blocks.site import SiteTier
 from gso.services import subscriptions
 from gso.services.crm import CustomerNotFoundError, get_customer_by_name
-from gso.workflows.site.base_site_model import BaseSiteModel
 from gso.utils.helpers import LAGMember
-
+from gso.workflows.site.base_site_model import BaseSiteValidatorModel
 
 router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)])
 
@@ -30,7 +28,7 @@ class ImportResponseModel(BaseModel):
     detail: str
 
 
-class SiteImportModel(BaseSiteModel):
+class SiteImportModel(BaseSiteValidatorModel):
     """The required input for importing an existing :class:`gso.products.product_types.site`."""
 
     site_name: str
diff --git a/gso/workflows/site/base_site_model.py b/gso/workflows/site/base_site_model.py
index 34061ef8..ff2696c7 100644
--- a/gso/workflows/site/base_site_model.py
+++ b/gso/workflows/site/base_site_model.py
@@ -1,15 +1,20 @@
+"""A base site validator model extended by create site and by import site."""
+
 from pydantic import BaseModel, validator
 from pydantic.fields import ModelField
+
 from gso.products.product_blocks.site import SiteTier
 from gso.utils.helpers import (
-    validate_site_fields_is_unique,
-    validate_ipv4_or_ipv6,
     validate_country_code,
+    validate_ipv4_or_ipv6,
+    validate_site_fields_is_unique,
     validate_site_name,
 )
 
 
-class BaseSiteModel(BaseModel):
+class BaseSiteValidatorModel(BaseModel):
+    """A base site validator model extended by create site and by import site."""
+
     site_bgp_community_id: int
     site_internal_id: int
     site_tier: SiteTier
@@ -27,7 +32,14 @@ class BaseSiteModel(BaseModel):
         validate_country_code(country_code)
         return country_code
 
-    @validator("site_ts_address", "site_internal_id", "site_bgp_community_id", "site_name", check_fields=False, allow_reuse=True)
+    @validator(
+        "site_ts_address",
+        "site_internal_id",
+        "site_bgp_community_id",
+        "site_name",
+        check_fields=False,
+        allow_reuse=True,
+    )
     def validate_unique_fields(cls, value: str, field: ModelField) -> str | int:
         """Validate that the internal and :term:`BGP` community IDs are unique."""
         return validate_site_fields_is_unique(field.name, value)
@@ -39,4 +51,4 @@ class BaseSiteModel(BaseModel):
         The site name must consist of three uppercase letters, followed by an optional single digit.
         """
         validate_site_name(site_name)
-        return site_name
\ No newline at end of file
+        return site_name
diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py
index e5184953..2207d2db 100644
--- a/gso/workflows/site/create_site.py
+++ b/gso/workflows/site/create_site.py
@@ -11,13 +11,13 @@ from gso.products.product_blocks import site as site_pb
 from gso.products.product_blocks.site import LatitudeCoordinate, LongitudeCoordinate
 from gso.products.product_types import site
 from gso.services.crm import customer_selector
-from gso.workflows.site.base_site_model import BaseSiteModel
+from gso.workflows.site.base_site_model import BaseSiteValidatorModel
 
 
 def initial_input_form_generator(product_name: str) -> FormGenerator:
     """Get input from the operator about the new site subscription."""
 
-    class CreateSiteForm(FormPage, BaseSiteModel):
+    class CreateSiteForm(FormPage, BaseSiteValidatorModel):
         class Config:
             title = product_name
 
-- 
GitLab