mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 11:56:25 -06:00
Add filterset test
This commit is contained in:
parent
0575dfff85
commit
e4530bc91f
@ -9,8 +9,8 @@ from ipam.models import ASN, IPAddress, RIR, VLAN, VLANTranslationPolicy, VRF
|
|||||||
from netbox.choices import ColorChoices, WeightUnitChoices
|
from netbox.choices import ColorChoices, WeightUnitChoices
|
||||||
from tenancy.models import Tenant, TenantGroup
|
from tenancy.models import Tenant, TenantGroup
|
||||||
from users.models import User
|
from users.models import User
|
||||||
from utilities.testing import ChangeLoggedFilterSetTests, create_test_device
|
from utilities.testing import ChangeLoggedFilterSetTests, create_test_device, create_test_virtualmachine
|
||||||
from virtualization.models import Cluster, ClusterType, ClusterGroup
|
from virtualization.models import Cluster, ClusterType, ClusterGroup, VMInterface, VirtualMachine
|
||||||
from wireless.choices import WirelessChannelChoices, WirelessRoleChoices
|
from wireless.choices import WirelessChannelChoices, WirelessRoleChoices
|
||||||
|
|
||||||
|
|
||||||
@ -5857,3 +5857,86 @@ class VirtualDeviceContextTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'primary_ip6_id': [addresses[2].pk]}
|
params = {'primary_ip6_id': [addresses[2].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
||||||
|
|
||||||
|
|
||||||
|
class MACAddressTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||||
|
queryset = MACAddress.objects.all()
|
||||||
|
filterset = MACAddressFilterSet
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
devices = (
|
||||||
|
create_test_device('Device 1'),
|
||||||
|
create_test_device('Device 2'),
|
||||||
|
create_test_device('Device 3'),
|
||||||
|
)
|
||||||
|
interfaces = (
|
||||||
|
Interface(device=devices[0], name='Interface 1', type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
Interface(device=devices[1], name='Interface 2', type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
Interface(device=devices[2], name='Interface 3', type=InterfaceTypeChoices.TYPE_1GE_FIXED),
|
||||||
|
)
|
||||||
|
Interface.objects.bulk_create(interfaces)
|
||||||
|
|
||||||
|
virtual_machines = (
|
||||||
|
create_test_virtualmachine('Virtual Machine 1'),
|
||||||
|
create_test_virtualmachine('Virtual Machine 2'),
|
||||||
|
create_test_virtualmachine('Virtual Machine 3'),
|
||||||
|
)
|
||||||
|
vm_interfaces = (
|
||||||
|
VMInterface(virtual_machine=virtual_machines[0], name='Interface 1'),
|
||||||
|
VMInterface(virtual_machine=virtual_machines[1], name='Interface 2'),
|
||||||
|
VMInterface(virtual_machine=virtual_machines[2], name='Interface 3'),
|
||||||
|
)
|
||||||
|
VMInterface.objects.bulk_create(vm_interfaces)
|
||||||
|
|
||||||
|
mac_addresses = (
|
||||||
|
# Device MACs
|
||||||
|
MACAddress(mac_address='00-00-00-01-01-01', assigned_object=interfaces[0], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-02-01-01', assigned_object=interfaces[1], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-03-01-01', assigned_object=interfaces[2], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-03-01-02', assigned_object=interfaces[2], is_primary=False),
|
||||||
|
# VM MACs
|
||||||
|
MACAddress(mac_address='00-00-00-04-01-01', assigned_object=vm_interfaces[0], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-05-01-01', assigned_object=vm_interfaces[1], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-06-01-01', assigned_object=vm_interfaces[2], is_primary=True),
|
||||||
|
MACAddress(mac_address='00-00-00-06-01-02', assigned_object=vm_interfaces[2], is_primary=False),
|
||||||
|
)
|
||||||
|
MACAddress.objects.bulk_create(mac_addresses)
|
||||||
|
|
||||||
|
def test_mac_address(self):
|
||||||
|
params = {'mac_address': ['00-00-00-01-01-01', '00-00-00-02-01-01']}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_is_primary(self):
|
||||||
|
params = {'is_primary': True}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||||
|
params = {'is_primary': False}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_device(self):
|
||||||
|
devices = Device.objects.all()[:2]
|
||||||
|
params = {'device_id': [devices[0].pk, devices[1].pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'device': [devices[0].name, devices[1].name]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_virtual_machine(self):
|
||||||
|
virtual_machines = VirtualMachine.objects.all()[:2]
|
||||||
|
params = {'virtual_machine_id': [virtual_machines[0].pk, virtual_machines[1].pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'virtual_machine': [virtual_machines[0].name, virtual_machines[1].name]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_interface(self):
|
||||||
|
interfaces = Interface.objects.all()[:2]
|
||||||
|
params = {'interface_id': [interfaces[0].pk, interfaces[1].pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'interface': [interfaces[0].name, interfaces[1].name]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_vminterface(self):
|
||||||
|
vm_interfaces = VMInterface.objects.all()[:2]
|
||||||
|
params = {'vminterface_id': [vm_interfaces[0].pk, vm_interfaces[1].pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'vminterface': [vm_interfaces[0].name, vm_interfaces[1].name]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
Loading…
Reference in New Issue
Block a user