Add test for connecting cables out of order

This commit is contained in:
Jeremy Stretch 2020-10-01 16:53:13 -04:00
parent c974c5687c
commit 0d07b0346b

View File

@ -376,3 +376,43 @@ class CablePathTestCase(TestCase):
# Check for four partial paths; one from each interface
self.assertEqual(CablePath.objects.filter(destination_id__isnull=True).count(), 4)
self.assertEqual(CablePath.objects.filter(destination_id__isnull=False).count(), 0)
def test_06_interface_to_interface_via_existing_cable(self):
"""
[IF1] --C1-- [FP5] [RP5] --C2-- [RP6] [FP6] --C3-- [IF2]
"""
# Create cable 2
cable2 = Cable(termination_a=self.rear_ports[4], termination_b=self.rear_ports[5])
cable2.save()
self.assertEqual(CablePath.objects.count(), 0)
# Create cable1
cable1 = Cable(termination_a=self.interfaces[0], termination_b=self.front_ports[16])
cable1.save()
self.assertPathExists(
origin=self.interfaces[0],
destination=None,
path=(cable1, self.front_ports[16], self.rear_ports[4], cable2, self.rear_ports[5], self.front_ports[17])
)
self.assertEqual(CablePath.objects.count(), 1)
# Create cable 3
cable3 = Cable(termination_a=self.front_ports[17], termination_b=self.interfaces[1])
cable3.save()
self.assertPathExists(
origin=self.interfaces[0],
destination=self.interfaces[1],
path=(
cable1, self.front_ports[16], self.rear_ports[4], cable2, self.rear_ports[5], self.front_ports[17],
cable3,
)
)
self.assertPathExists(
origin=self.interfaces[1],
destination=self.interfaces[0],
path=(
cable3, self.front_ports[17], self.rear_ports[5], cable2, self.rear_ports[4], self.front_ports[16],
cable1,
)
)
self.assertEqual(CablePath.objects.count(), 2)