Merge remote-tracking branch 'origin/11079-Cablepath_catch_assertions' into 11079-Cablepath_catch_assertions

# Conflicts:
#	netbox/dcim/tests/test_cablepaths.py
This commit is contained in:
Daniel Sheppard 2023-09-19 11:13:23 -05:00
commit 1c2e5525ff

View File

@ -25,7 +25,6 @@ class CablePathTestCase(TestCase):
manufacturer = Manufacturer.objects.create(name='Generic', slug='generic') manufacturer = Manufacturer.objects.create(name='Generic', slug='generic')
device_type = DeviceType.objects.create(manufacturer=manufacturer, model='Test Device') device_type = DeviceType.objects.create(manufacturer=manufacturer, model='Test Device')
module_type = ModuleType.objects.create(manufacturer=manufacturer, model='Test Module')
role = DeviceRole.objects.create(name='Device Role', slug='device-role') role = DeviceRole.objects.create(name='Device Role', slug='device-role')
cls.device = Device.objects.create(site=cls.site, device_type=device_type, role=role, name='Test Device') cls.device = Device.objects.create(site=cls.site, device_type=device_type, role=role, name='Test Device')
@ -40,7 +39,6 @@ class CablePathTestCase(TestCase):
Return a given cable path Return a given cable path
:param nodes: Iterable of steps, with each step being either a single node or a list of nodes :param nodes: Iterable of steps, with each step being either a single node or a list of nodes
:param is_active: Boolean indicating whether the end-to-end path is complete and active (optional)
:return: The matching CablePath (if any) :return: The matching CablePath (if any)
""" """
@ -54,31 +52,24 @@ class CablePathTestCase(TestCase):
def assertPathExists(self, nodes, **kwargs): def assertPathExists(self, nodes, **kwargs):
""" """
Assert that a CablePath from origin to destination with a specific intermediate path exists. Assert that a CablePath from origin to destination with a specific intermediate path exists. Returns the
first matching CablePath, if found.
:param nodes: Iterable of steps, with each step being either a single node or a list of nodes :param nodes: Iterable of steps, with each step being either a single node or a list of nodes
:param is_active: Boolean indicating whether the end-to-end path is complete and active (optional)
:return: The matching CablePath (if any)
""" """
cablepath = self._get_cablepath(nodes, **kwargs) cablepath = self._get_cablepath(nodes, **kwargs)
self.assertIsNotNone(cablepath, msg='CablePath not found') self.assertIsNotNone(cablepath, msg='CablePath not found')
return cablepath return cablepath
def assertPathNotExists(self, nodes, **kwargs): def assertPathDoesNotExist(self, nodes, **kwargs):
""" """
Assert that a CablePath from origin to destination with a specific intermediate path exists. Assert that a specific CablePath does *not* exist.
:param nodes: Iterable of steps, with each step being either a single node or a list of nodes :param nodes: Iterable of steps, with each step being either a single node or a list of nodes
:param is_active: Boolean indicating whether the end-to-end path is complete and active (optional)
:return: The matching CablePath (if any)
""" """
cablepath = self._get_cablepath(nodes, **kwargs) cablepath = self._get_cablepath(nodes, **kwargs)
self.assertIsNone(cablepath, msg='CablePath not found') self.assertIsNone(cablepath, msg='Unexpected CablePath found')
return cablepath
def assertPathIsSet(self, origin, cablepath, msg=None): def assertPathIsSet(self, origin, cablepath, msg=None):
""" """
@ -1798,11 +1789,6 @@ class CablePathTestCase(TestCase):
[IF1] --C1-- [FP1] [RP1] --C2-- [RP2] [FP2] --C3-- [IF2] [IF1] --C1-- [FP1] [RP1] --C2-- [RP2] [FP2] --C3-- [IF2]
[IF2] --C5-- [FP3] [RP3] --C4-- [RP4] [FP4] [IF2] --C5-- [FP3] [RP3] --C4-- [RP4] [FP4]
""" """
module_type = ModuleType.objects.get(model='Test Module')
module_bay1 = ModuleBay.objects.create(device=self.device, name='Module Bay 1', position='1')
module_bay2 = ModuleBay.objects.create(device=self.device, name='Module Bay 2', position='2')
module_bay3 = ModuleBay.objects.create(device=self.device, name='Module Bay 3', position='3')
module_bay4 = ModuleBay.objects.create(device=self.device, name='Module Bay 4', position='4')
interface1 = Interface.objects.create(device=self.device, name='Interface 1') interface1 = Interface.objects.create(device=self.device, name='Interface 1')
interface2 = Interface.objects.create(device=self.device, name='Interface 2') interface2 = Interface.objects.create(device=self.device, name='Interface 2')
interface3 = Interface.objects.create(device=self.device, name='Interface 3') interface3 = Interface.objects.create(device=self.device, name='Interface 3')
@ -2215,7 +2201,7 @@ class CablePathTestCase(TestCase):
with self.assertRaises(AssertionError): with self.assertRaises(AssertionError):
cable1.save() cable1.save()
self.assertPathNotExists( self.assertPathDoesNotExist(
( (
interface1, cable1, (frontport1, frontport3), (rearport1, rearport3), (cable2, cable4), interface1, cable1, (frontport1, frontport3), (rearport1, rearport3), (cable2, cable4),
(rearport2, rearport4), (frontport2, frontport4) (rearport2, rearport4), (frontport2, frontport4)
@ -2234,7 +2220,7 @@ class CablePathTestCase(TestCase):
with self.assertRaises(AssertionError): with self.assertRaises(AssertionError):
cable3.save() cable3.save()
self.assertPathNotExists( self.assertPathDoesNotExist(
( (
interface2, cable3, (frontport2, frontport4), (rearport2, rearport4), (cable2, cable4), interface2, cable3, (frontport2, frontport4), (rearport2, rearport4), (cable2, cable4),
(rearport1, rearport3), (frontport1, frontport2), cable1, interface1 (rearport1, rearport3), (frontport1, frontport2), cable1, interface1
@ -2242,7 +2228,7 @@ class CablePathTestCase(TestCase):
is_complete=True, is_complete=True,
is_active=True is_active=True
) )
self.assertPathNotExists( self.assertPathDoesNotExist(
( (
interface1, cable1, (frontport1, frontport3), (rearport1, rearport3), (cable2, cable4), interface1, cable1, (frontport1, frontport3), (rearport1, rearport3), (cable2, cable4),
(rearport2, rearport4), (frontport2, frontport4), cable3, interface2 (rearport2, rearport4), (frontport2, frontport4), cable3, interface2