mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
Add tests for #6346
This commit is contained in:
parent
e1e2c76ae1
commit
5193fa6483
@ -1206,6 +1206,7 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase
|
|||||||
'name': 'Interface 5',
|
'name': 'Interface 5',
|
||||||
'type': '1000base-t',
|
'type': '1000base-t',
|
||||||
'mode': InterfaceModeChoices.MODE_TAGGED,
|
'mode': InterfaceModeChoices.MODE_TAGGED,
|
||||||
|
'bridge': interfaces[0].pk,
|
||||||
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
||||||
'untagged_vlan': vlans[2].pk,
|
'untagged_vlan': vlans[2].pk,
|
||||||
},
|
},
|
||||||
@ -1214,7 +1215,7 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase
|
|||||||
'name': 'Interface 6',
|
'name': 'Interface 6',
|
||||||
'type': 'virtual',
|
'type': 'virtual',
|
||||||
'mode': InterfaceModeChoices.MODE_TAGGED,
|
'mode': InterfaceModeChoices.MODE_TAGGED,
|
||||||
'parent': interfaces[0].pk,
|
'parent': interfaces[1].pk,
|
||||||
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
||||||
'untagged_vlan': vlans[2].pk,
|
'untagged_vlan': vlans[2].pk,
|
||||||
},
|
},
|
||||||
|
@ -2125,6 +2125,19 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'parent_id': [parent_interface.pk]}
|
params = {'parent_id': [parent_interface.pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
||||||
|
|
||||||
|
def test_bridge(self):
|
||||||
|
# Create bridged interfaces
|
||||||
|
bridge_interface = Interface.objects.first()
|
||||||
|
bridged_interfaces = (
|
||||||
|
Interface(device=bridge_interface.device, name='Bridged 1', bridge=bridge_interface, type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
Interface(device=bridge_interface.device, name='Bridged 2', bridge=bridge_interface, type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
Interface(device=bridge_interface.device, name='Bridged 3', bridge=bridge_interface, type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
)
|
||||||
|
Interface.objects.bulk_create(bridged_interfaces)
|
||||||
|
|
||||||
|
params = {'bridge_id': [bridge_interface.pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
||||||
|
|
||||||
def test_lag(self):
|
def test_lag(self):
|
||||||
# Create LAG members
|
# Create LAG members
|
||||||
device = Device.objects.first()
|
device = Device.objects.first()
|
||||||
|
@ -1581,6 +1581,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
Interface(device=device, name='Interface 2'),
|
Interface(device=device, name='Interface 2'),
|
||||||
Interface(device=device, name='Interface 3'),
|
Interface(device=device, name='Interface 3'),
|
||||||
Interface(device=device, name='LAG', type=InterfaceTypeChoices.TYPE_LAG),
|
Interface(device=device, name='LAG', type=InterfaceTypeChoices.TYPE_LAG),
|
||||||
|
Interface(device=device, name='_BRIDGE', type=InterfaceTypeChoices.TYPE_VIRTUAL), # Must be ordered last
|
||||||
)
|
)
|
||||||
Interface.objects.bulk_create(interfaces)
|
Interface.objects.bulk_create(interfaces)
|
||||||
|
|
||||||
@ -1596,10 +1597,10 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
|
|
||||||
cls.form_data = {
|
cls.form_data = {
|
||||||
'device': device.pk,
|
'device': device.pk,
|
||||||
'virtual_machine': None,
|
|
||||||
'name': 'Interface X',
|
'name': 'Interface X',
|
||||||
'type': InterfaceTypeChoices.TYPE_1GE_GBIC,
|
'type': InterfaceTypeChoices.TYPE_1GE_GBIC,
|
||||||
'enabled': False,
|
'enabled': False,
|
||||||
|
'bridge': interfaces[4].pk,
|
||||||
'lag': interfaces[3].pk,
|
'lag': interfaces[3].pk,
|
||||||
'mac_address': EUI('01:02:03:04:05:06'),
|
'mac_address': EUI('01:02:03:04:05:06'),
|
||||||
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
||||||
@ -1617,6 +1618,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
'name_pattern': 'Interface [4-6]',
|
'name_pattern': 'Interface [4-6]',
|
||||||
'type': InterfaceTypeChoices.TYPE_1GE_GBIC,
|
'type': InterfaceTypeChoices.TYPE_1GE_GBIC,
|
||||||
'enabled': False,
|
'enabled': False,
|
||||||
|
'bridge': interfaces[4].pk,
|
||||||
'lag': interfaces[3].pk,
|
'lag': interfaces[3].pk,
|
||||||
'mac_address': EUI('01:02:03:04:05:06'),
|
'mac_address': EUI('01:02:03:04:05:06'),
|
||||||
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
||||||
|
@ -246,14 +246,15 @@ class VMInterfaceTest(APIViewTestCases.APIViewTestCase):
|
|||||||
'virtual_machine': virtualmachine.pk,
|
'virtual_machine': virtualmachine.pk,
|
||||||
'name': 'Interface 5',
|
'name': 'Interface 5',
|
||||||
'mode': InterfaceModeChoices.MODE_TAGGED,
|
'mode': InterfaceModeChoices.MODE_TAGGED,
|
||||||
|
'bridge': interfaces[0].pk,
|
||||||
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
||||||
'untagged_vlan': vlans[2].pk,
|
'untagged_vlan': vlans[2].pk,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'virtual_machine': virtualmachine.pk,
|
'virtual_machine': virtualmachine.pk,
|
||||||
'name': 'Interface 6',
|
'name': 'Interface 6',
|
||||||
'parent': interfaces[0].pk,
|
|
||||||
'mode': InterfaceModeChoices.MODE_TAGGED,
|
'mode': InterfaceModeChoices.MODE_TAGGED,
|
||||||
|
'parent': interfaces[1].pk,
|
||||||
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
'tagged_vlans': [vlans[0].pk, vlans[1].pk],
|
||||||
'untagged_vlan': vlans[2].pk,
|
'untagged_vlan': vlans[2].pk,
|
||||||
},
|
},
|
||||||
|
@ -452,6 +452,19 @@ class VMInterfaceTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'parent_id': [parent_interface.pk]}
|
params = {'parent_id': [parent_interface.pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
||||||
|
|
||||||
|
def test_bridge(self):
|
||||||
|
# Create bridged interfaces
|
||||||
|
bridge_interface = VMInterface.objects.first()
|
||||||
|
bridged_interfaces = (
|
||||||
|
VMInterface(virtual_machine=bridge_interface.virtual_machine, name='Bridged 1', bridge=bridge_interface),
|
||||||
|
VMInterface(virtual_machine=bridge_interface.virtual_machine, name='Bridged 2', bridge=bridge_interface),
|
||||||
|
VMInterface(virtual_machine=bridge_interface.virtual_machine, name='Bridged 3', bridge=bridge_interface),
|
||||||
|
)
|
||||||
|
VMInterface.objects.bulk_create(bridged_interfaces)
|
||||||
|
|
||||||
|
params = {'bridge_id': [bridge_interface.pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
||||||
|
|
||||||
def test_mtu(self):
|
def test_mtu(self):
|
||||||
params = {'mtu': [100, 200]}
|
params = {'mtu': [100, 200]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
@ -248,10 +248,11 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
)
|
)
|
||||||
VirtualMachine.objects.bulk_create(virtualmachines)
|
VirtualMachine.objects.bulk_create(virtualmachines)
|
||||||
|
|
||||||
VMInterface.objects.bulk_create([
|
interfaces = VMInterface.objects.bulk_create([
|
||||||
VMInterface(virtual_machine=virtualmachines[0], name='Interface 1'),
|
VMInterface(virtual_machine=virtualmachines[0], name='Interface 1'),
|
||||||
VMInterface(virtual_machine=virtualmachines[0], name='Interface 2'),
|
VMInterface(virtual_machine=virtualmachines[0], name='Interface 2'),
|
||||||
VMInterface(virtual_machine=virtualmachines[0], name='Interface 3'),
|
VMInterface(virtual_machine=virtualmachines[0], name='Interface 3'),
|
||||||
|
VMInterface(virtual_machine=virtualmachines[1], name='BRIDGE'),
|
||||||
])
|
])
|
||||||
|
|
||||||
vlans = (
|
vlans = (
|
||||||
@ -268,6 +269,7 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
'virtual_machine': virtualmachines[1].pk,
|
'virtual_machine': virtualmachines[1].pk,
|
||||||
'name': 'Interface X',
|
'name': 'Interface X',
|
||||||
'enabled': False,
|
'enabled': False,
|
||||||
|
'bridge': interfaces[3].pk,
|
||||||
'mac_address': EUI('01-02-03-04-05-06'),
|
'mac_address': EUI('01-02-03-04-05-06'),
|
||||||
'mtu': 65000,
|
'mtu': 65000,
|
||||||
'description': 'New description',
|
'description': 'New description',
|
||||||
@ -281,6 +283,7 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
'virtual_machine': virtualmachines[1].pk,
|
'virtual_machine': virtualmachines[1].pk,
|
||||||
'name_pattern': 'Interface [4-6]',
|
'name_pattern': 'Interface [4-6]',
|
||||||
'enabled': False,
|
'enabled': False,
|
||||||
|
'bridge': interfaces[3].pk,
|
||||||
'mac_address': EUI('01-02-03-04-05-06'),
|
'mac_address': EUI('01-02-03-04-05-06'),
|
||||||
'mtu': 2000,
|
'mtu': 2000,
|
||||||
'description': 'New description',
|
'description': 'New description',
|
||||||
|
Loading…
Reference in New Issue
Block a user