Adjust tests to more accurately provide coverage

This commit is contained in:
Daniel Sheppard 2023-08-23 15:47:32 -05:00
parent ef9b002f44
commit 245fd2e700

View File

@ -2828,38 +2828,50 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
devices = ( devices = (
Device( Device(
name='Device 1', name='Device 1A',
device_type=device_types[0], device_type=device_types[0],
role=roles[0], site=sites[0], role=roles[0],
site=sites[0],
location=locations[0], location=locations[0],
rack=racks[0], rack=racks[0],
virtual_chassis=virtual_chassis, virtual_chassis=virtual_chassis,
vc_position=1, vc_position=1,
vc_priority=1 vc_priority=1
), ),
Device(
name='Device 1B',
device_type=device_types[2],
role=roles[2],
site=sites[2],
location=locations[2],
rack=racks[2],
virtual_chassis=virtual_chassis,
vc_position=2,
vc_priority=1
),
Device( Device(
name='Device 2', name='Device 2',
device_type=device_types[1], device_type=device_types[1],
role=roles[1], site=sites[1], role=roles[1],
site=sites[1],
location=locations[1], location=locations[1],
rack=racks[1] rack=racks[1]
), ),
Device( Device(
name='Device 3', name='Device 3',
device_type=device_types[2], device_type=device_types[2],
role=roles[2], site=sites[2], role=roles[2],
site=sites[2],
location=locations[2], location=locations[2],
rack=racks[2] rack=racks[2]
), ),
# For cable connections
Device( Device(
name=None, name=None,
device_type=device_types[2], device_type=device_types[2],
role=roles[2], role=roles[2],
site=sites[3], site=sites[3]
virtual_chassis=virtual_chassis, ),
vc_position=2,
vc_priority=1
), # For cable connections
) )
Device.objects.bulk_create(devices) Device.objects.bulk_create(devices)
@ -2867,6 +2879,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
ModuleBay(device=devices[0], name='Module Bay 1'), ModuleBay(device=devices[0], name='Module Bay 1'),
ModuleBay(device=devices[1], name='Module Bay 2'), ModuleBay(device=devices[1], name='Module Bay 2'),
ModuleBay(device=devices[2], name='Module Bay 3'), ModuleBay(device=devices[2], name='Module Bay 3'),
ModuleBay(device=devices[3], name='Module Bay 4'),
) )
ModuleBay.objects.bulk_create(module_bays) ModuleBay.objects.bulk_create(module_bays)
@ -2874,6 +2887,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
Module(device=devices[0], module_bay=module_bays[0], module_type=module_type), Module(device=devices[0], module_bay=module_bays[0], module_type=module_type),
Module(device=devices[1], module_bay=module_bays[1], module_type=module_type), Module(device=devices[1], module_bay=module_bays[1], module_type=module_type),
Module(device=devices[2], module_bay=module_bays[2], module_type=module_type), Module(device=devices[2], module_bay=module_bays[2], module_type=module_type),
Module(device=devices[3], module_bay=module_bays[3], module_type=module_type),
) )
Module.objects.bulk_create(modules) Module.objects.bulk_create(modules)
@ -2886,8 +2900,8 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
# Virtual Device Context Creation # Virtual Device Context Creation
vdcs = ( vdcs = (
VirtualDeviceContext(device=devices[3], name='VDC 1', identifier=1, status=VirtualDeviceContextStatusChoices.STATUS_ACTIVE), VirtualDeviceContext(device=devices[4], name='VDC 1', identifier=1, status=VirtualDeviceContextStatusChoices.STATUS_ACTIVE),
VirtualDeviceContext(device=devices[3], name='VDC 2', identifier=2, status=VirtualDeviceContextStatusChoices.STATUS_PLANNED), VirtualDeviceContext(device=devices[4], name='VDC 2', identifier=2, status=VirtualDeviceContextStatusChoices.STATUS_PLANNED),
) )
VirtualDeviceContext.objects.bulk_create(vdcs) VirtualDeviceContext.objects.bulk_create(vdcs)
@ -2913,6 +2927,13 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
Interface( Interface(
device=devices[1], device=devices[1],
module=modules[1], module=modules[1],
name='VC Chassis Interface',
type=InterfaceTypeChoices.TYPE_1GE_SFP,
enabled=True
),
Interface(
device=devices[2],
module=modules[2],
name='Interface 2', name='Interface 2',
label='B', label='B',
type=InterfaceTypeChoices.TYPE_1GE_GBIC, type=InterfaceTypeChoices.TYPE_1GE_GBIC,
@ -2929,8 +2950,8 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
poe_type=InterfacePoETypeChoices.TYPE_1_8023AF poe_type=InterfacePoETypeChoices.TYPE_1_8023AF
), ),
Interface( Interface(
device=devices[2], device=devices[3],
module=modules[2], module=modules[3],
name='Interface 3', name='Interface 3',
label='C', label='C',
type=InterfaceTypeChoices.TYPE_1GE_FIXED, type=InterfaceTypeChoices.TYPE_1GE_FIXED,
@ -2947,7 +2968,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
poe_type=InterfacePoETypeChoices.TYPE_2_8023AT poe_type=InterfacePoETypeChoices.TYPE_2_8023AT
), ),
Interface( Interface(
device=devices[3], device=devices[4],
name='Interface 4', name='Interface 4',
label='D', label='D',
type=InterfaceTypeChoices.TYPE_OTHER, type=InterfaceTypeChoices.TYPE_OTHER,
@ -2960,7 +2981,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
poe_type=InterfacePoETypeChoices.TYPE_2_8023AT poe_type=InterfacePoETypeChoices.TYPE_2_8023AT
), ),
Interface( Interface(
device=devices[3], device=devices[4],
name='Interface 5', name='Interface 5',
label='E', label='E',
type=InterfaceTypeChoices.TYPE_OTHER, type=InterfaceTypeChoices.TYPE_OTHER,
@ -2969,7 +2990,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
tx_power=40 tx_power=40
), ),
Interface( Interface(
device=devices[3], device=devices[4],
name='Interface 6', name='Interface 6',
label='F', label='F',
type=InterfaceTypeChoices.TYPE_OTHER, type=InterfaceTypeChoices.TYPE_OTHER,
@ -2978,7 +2999,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
tx_power=40 tx_power=40
), ),
Interface( Interface(
device=devices[3], device=devices[4],
name='Interface 7', name='Interface 7',
type=InterfaceTypeChoices.TYPE_80211AC, type=InterfaceTypeChoices.TYPE_80211AC,
rf_role=WirelessRoleChoices.ROLE_AP, rf_role=WirelessRoleChoices.ROLE_AP,
@ -2987,7 +3008,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
rf_channel_width=22 rf_channel_width=22
), ),
Interface( Interface(
device=devices[3], device=devices[4],
name='Interface 8', name='Interface 8',
type=InterfaceTypeChoices.TYPE_80211AC, type=InterfaceTypeChoices.TYPE_80211AC,
rf_role=WirelessRoleChoices.ROLE_STATION, rf_role=WirelessRoleChoices.ROLE_STATION,
@ -3005,8 +3026,8 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
interfaces[7].vdcs.set([vdcs[1]]) interfaces[7].vdcs.set([vdcs[1]])
# Cables # Cables
Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]]).save() Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[5]]).save()
Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]]).save() Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[6]]).save()
# Third pair is not connected # Third pair is not connected
def test_name(self): def test_name(self):
@ -3019,7 +3040,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
def test_enabled(self): def test_enabled(self):
params = {'enabled': 'true'} params = {'enabled': 'true'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 7)
params = {'enabled': 'false'} params = {'enabled': 'false'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
@ -3039,7 +3060,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
params = {'mgmt_only': 'true'} params = {'mgmt_only': 'true'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'mgmt_only': 'false'} params = {'mgmt_only': 'false'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
def test_poe_mode(self): def test_poe_mode(self):
params = {'poe_mode': [InterfacePoEModeChoices.MODE_PD, InterfacePoEModeChoices.MODE_PSE]} params = {'poe_mode': [InterfacePoEModeChoices.MODE_PD, InterfacePoEModeChoices.MODE_PSE]}
@ -3135,7 +3156,7 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
def test_virtual_chassis_id(self): def test_virtual_chassis_id(self):
params = {'virtual_chassis_id': [VirtualChassis.objects.first().pk]} params = {'virtual_chassis_id': [VirtualChassis.objects.first().pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_device(self): def test_device(self):
devices = Device.objects.all()[:2] devices = Device.objects.all()[:2]
@ -3145,13 +3166,12 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_virtual_chassis_member(self): def test_virtual_chassis_member(self):
# Device 1 & 3 have 1 management interface, Device "None" has 5 interfaces, 2 of which are management and # Device 1A & 3 have 1 management interface, Device 1B has 1 interfaces
# will not be visible devices = Device.objects.filter(name__in=['Device 1A', 'Device 3'])
devices = Device.objects.filter(name__in=['Device 1', 'Device 3'])
params = {'virtual_chassis_member_id': [devices[0].pk, devices[1].pk]} params = {'virtual_chassis_member_id': [devices[0].pk, devices[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
params = {'virtual_chassis_member': [devices[0].name, devices[1].name]} params = {'virtual_chassis_member': [devices[0].name, devices[1].name]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
def test_module(self): def test_module(self):
modules = Module.objects.all()[:2] modules = Module.objects.all()[:2]
@ -3162,23 +3182,23 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
params = {'cabled': True} params = {'cabled': True}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'cabled': False} params = {'cabled': False}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
def test_occupied(self): def test_occupied(self):
params = {'occupied': True} params = {'occupied': True}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'occupied': False} params = {'occupied': False}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
def test_connected(self): def test_connected(self):
params = {'connected': True} params = {'connected': True}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'connected': False} params = {'connected': False}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
def test_kind(self): def test_kind(self):
params = {'kind': 'physical'} params = {'kind': 'physical'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 7)
params = {'kind': 'virtual'} params = {'kind': 'virtual'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)