mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 04:32:51 -06:00
Remove obsolete validation logic
This commit is contained in:
parent
8bbc592261
commit
03d6e25dea
@ -126,17 +126,6 @@ class Cable(NetBoxModel):
|
|||||||
def clean(self):
|
def clean(self):
|
||||||
super().clean()
|
super().clean()
|
||||||
|
|
||||||
# TODO: Is this validation still necessary?
|
|
||||||
# # Check that two connected RearPorts have the same number of positions (if both are >1)
|
|
||||||
# if isinstance(self.termination_a, RearPort) and isinstance(self.termination_b, RearPort):
|
|
||||||
# if self.termination_a.positions > 1 and self.termination_b.positions > 1:
|
|
||||||
# if self.termination_a.positions != self.termination_b.positions:
|
|
||||||
# raise ValidationError(
|
|
||||||
# f"{self.termination_a} has {self.termination_a.positions} position(s) but "
|
|
||||||
# f"{self.termination_b} has {self.termination_b.positions}. "
|
|
||||||
# f"Both terminations must have the same number of positions (if greater than one)."
|
|
||||||
# )
|
|
||||||
|
|
||||||
# Validate length and length_unit
|
# Validate length and length_unit
|
||||||
if self.length is not None and not self.length_unit:
|
if self.length is not None and not self.length_unit:
|
||||||
raise ValidationError("Must specify a unit when setting a cable length")
|
raise ValidationError("Must specify a unit when setting a cable length")
|
||||||
@ -153,10 +142,6 @@ class Cable(NetBoxModel):
|
|||||||
# Check that all termination objects for either end are of the same type
|
# Check that all termination objects for either end are of the same type
|
||||||
for terms in (a_terminations, b_terminations):
|
for terms in (a_terminations, b_terminations):
|
||||||
if terms and len(terms) > 1:
|
if terms and len(terms) > 1:
|
||||||
if not all(t.termination.parent_object == terms[0].termination.parent_object for t in terms[1:]):
|
|
||||||
raise ValidationError(
|
|
||||||
"All terminations on one end of a cable must belong to the same parent object."
|
|
||||||
)
|
|
||||||
if not all(t.termination_type == terms[0].termination_type for t in terms[1:]):
|
if not all(t.termination_type == terms[0].termination_type for t in terms[1:]):
|
||||||
raise ValidationError(
|
raise ValidationError(
|
||||||
"Cannot connect different termination types to same end of cable."
|
"Cannot connect different termination types to same end of cable."
|
||||||
@ -175,18 +160,6 @@ class Cable(NetBoxModel):
|
|||||||
for cabletermination in [*a_terminations, *b_terminations]:
|
for cabletermination in [*a_terminations, *b_terminations]:
|
||||||
cabletermination.clean()
|
cabletermination.clean()
|
||||||
|
|
||||||
# TODO
|
|
||||||
# # A front port cannot be connected to its corresponding rear port
|
|
||||||
# if (
|
|
||||||
# type_a in ['frontport', 'rearport'] and
|
|
||||||
# type_b in ['frontport', 'rearport'] and
|
|
||||||
# (
|
|
||||||
# getattr(self.termination_a, 'rear_port', None) == self.termination_b or
|
|
||||||
# getattr(self.termination_b, 'rear_port', None) == self.termination_a
|
|
||||||
# )
|
|
||||||
# ):
|
|
||||||
# raise ValidationError("A front port cannot be connected to it corresponding rear port")
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
_created = self.pk is None
|
_created = self.pk is None
|
||||||
|
|
||||||
|
@ -537,20 +537,11 @@ class CableTestCase(TestCase):
|
|||||||
"""
|
"""
|
||||||
The clean method should have a check to ensure only compatible port types can be connected by a cable
|
The clean method should have a check to ensure only compatible port types can be connected by a cable
|
||||||
"""
|
"""
|
||||||
# An interface cannot be connected to a power port
|
# An interface cannot be connected to a power port, for example
|
||||||
cable = Cable(a_terminations=[self.interface1, self.interface2], b_terminations=[self.interface3])
|
cable = Cable(a_terminations=[self.interface1], b_terminations=[self.power_port1])
|
||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
cable.clean()
|
cable.clean()
|
||||||
|
|
||||||
# TODO: Remove this?
|
|
||||||
# def test_cable_front_port_cannot_connect_to_corresponding_rear_port(self):
|
|
||||||
# """
|
|
||||||
# A cable cannot connect a front port to its corresponding rear port
|
|
||||||
# """
|
|
||||||
# cable = Cable(a_terminations=[self.front_port1], b_terminations=[self.rear_port1])
|
|
||||||
# with self.assertRaises(ValidationError):
|
|
||||||
# cable.clean()
|
|
||||||
|
|
||||||
def test_cable_cannot_terminate_to_a_provider_network_circuittermination(self):
|
def test_cable_cannot_terminate_to_a_provider_network_circuittermination(self):
|
||||||
"""
|
"""
|
||||||
Neither side of a cable can be terminated to a CircuitTermination which is attached to a ProviderNetwork
|
Neither side of a cable can be terminated to a CircuitTermination which is attached to a ProviderNetwork
|
||||||
@ -559,36 +550,6 @@ class CableTestCase(TestCase):
|
|||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
cable.clean()
|
cable.clean()
|
||||||
|
|
||||||
# TODO: Remove this?
|
|
||||||
# def test_rearport_connections(self):
|
|
||||||
# """
|
|
||||||
# Test various combinations of RearPort connections.
|
|
||||||
# """
|
|
||||||
# # Connecting a single-position RearPort to a multi-position RearPort is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port1], b_terminations=[self.rear_port2]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a single-position RearPort to an Interface is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port1], b_terminations=[self.interface3]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a single-position RearPort to a CircuitTermination is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port1], b_terminations=[self.circuittermination1]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a multi-position RearPort to another RearPort with the same number of positions is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port3], b_terminations=[self.rear_port4]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a multi-position RearPort to an Interface is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port2], b_terminations=[self.interface3]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a multi-position RearPort to a CircuitTermination is ok
|
|
||||||
# Cable(a_terminations=[self.rear_port2], b_terminations=[self.circuittermination1]).full_clean()
|
|
||||||
#
|
|
||||||
# # Connecting a two-position RearPort to a three-position RearPort is NOT ok
|
|
||||||
# with self.assertRaises(
|
|
||||||
# ValidationError,
|
|
||||||
# msg='Connecting a 2-position RearPort to a 3-position RearPort should fail'
|
|
||||||
# ):
|
|
||||||
# Cable(a_terminations=[self.rear_port2], b_terminations=[self.rear_port3]).full_clean()
|
|
||||||
|
|
||||||
def test_cable_cannot_terminate_to_a_virtual_interface(self):
|
def test_cable_cannot_terminate_to_a_virtual_interface(self):
|
||||||
"""
|
"""
|
||||||
A cable cannot terminate to a virtual interface
|
A cable cannot terminate to a virtual interface
|
||||||
|
Loading…
Reference in New Issue
Block a user