Skip to content
Snippets Groups Projects
Commit b7b0897f authored by Hakan Calim's avatar Hakan Calim Committed by Neda Moeini
Browse files

NAT-329: moved router vendor to vlidator to simplfy the complexity

parent 0ad7d5b9
No related branches found
No related tags found
1 merge request!122Feature/nat 329 interface names should validated 3
This commit is part of merge request !122. Comments created here will be created in the context of that merge request.
...@@ -223,6 +223,7 @@ def validate_site_name(site_name: str) -> str: ...@@ -223,6 +223,7 @@ def validate_site_name(site_name: str) -> str:
return site_name return site_name
<<<<<<< HEAD
class BaseSiteValidatorModel(BaseModel): class BaseSiteValidatorModel(BaseModel):
"""A base site validator model extended by create site and by import site.""" """A base site validator model extended by create site and by import site."""
...@@ -265,7 +266,7 @@ class BaseSiteValidatorModel(BaseModel): ...@@ -265,7 +266,7 @@ class BaseSiteValidatorModel(BaseModel):
return site_name return site_name
def validate_interface_name_list(interface_name_list: list) -> list: def validate_interface_name_list(interface_name_list: list, vendor: str) -> list:
"""Validate that the provided interface name matches the expected pattern. """Validate that the provided interface name matches the expected pattern.
The expected pattern for the interface name is one of 'ge', 'et', 'xe' followed by a dash '-', The expected pattern for the interface name is one of 'ge', 'et', 'xe' followed by a dash '-',
...@@ -276,11 +277,15 @@ def validate_interface_name_list(interface_name_list: list) -> list: ...@@ -276,11 +277,15 @@ def validate_interface_name_list(interface_name_list: list) -> list:
Args: Args:
---- ----
interface_name_list: List of interface names to validate. interface_name_list: List of interface names to validate.
vendor: Router vendor to check interface names
Returns: Returns:
------- -------
list: The list of interface names if all match was successful, otherwise it will throw a ValueError exception. list: The list of interface names if all match was successful, otherwise it will throw a ValueError exception.
""" """
# For Nokia nothing to do
if vendor == RouterVendor.NOKIA:
return interface_name_list
pattern = re.compile(r"^(ge|et|xe)-[0-9]/[0-9]/[0-9]$") pattern = re.compile(r"^(ge|et|xe)-[0-9]/[0-9]/[0-9]$")
for interface in interface_name_list: for interface in interface_name_list:
if not bool(pattern.match(interface.interface_name)): if not bool(pattern.match(interface.interface_name)):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment