diff --git a/netbox/circuits/tests/test_filtersets.py b/netbox/circuits/tests/test_filtersets.py index 40c68c73c..9b107fc2f 100644 --- a/netbox/circuits/tests/test_filtersets.py +++ b/netbox/circuits/tests/test_filtersets.py @@ -5,9 +5,10 @@ from circuits.filtersets import * from circuits.models import * from dcim.models import Cable, Region, Site, SiteGroup from tenancy.models import Tenant, TenantGroup +from utilities.testing import BaseFilterSetTests -class ProviderTestCase(TestCase): +class ProviderTestCase(TestCase, BaseFilterSetTests): queryset = Provider.objects.all() filterset = ProviderFilterSet @@ -61,10 +62,6 @@ class ProviderTestCase(TestCase): CircuitTermination(circuit=circuits[1], site=sites[0], term_side='A'), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Provider 1', 'Provider 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -103,7 +100,7 @@ class ProviderTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class CircuitTypeTestCase(TestCase): +class CircuitTypeTestCase(TestCase, BaseFilterSetTests): queryset = CircuitType.objects.all() filterset = CircuitTypeFilterSet @@ -116,10 +113,6 @@ class CircuitTypeTestCase(TestCase): CircuitType(name='Circuit Type 3', slug='circuit-type-3'), )) - def test_id(self): - params = {'id': [self.queryset.first().pk]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) - def test_name(self): params = {'name': ['Circuit Type 1']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) @@ -129,7 +122,7 @@ class CircuitTypeTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class CircuitTestCase(TestCase): +class CircuitTestCase(TestCase, BaseFilterSetTests): queryset = Circuit.objects.all() filterset = CircuitFilterSet @@ -213,10 +206,6 @@ class CircuitTestCase(TestCase): )) CircuitTermination.objects.bulk_create(circuit_terminations) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_cid(self): params = {'cid': ['Test Circuit 1', 'Test Circuit 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -288,7 +277,7 @@ class CircuitTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class CircuitTerminationTestCase(TestCase): +class CircuitTerminationTestCase(TestCase, BaseFilterSetTests): queryset = CircuitTermination.objects.all() filterset = CircuitTerminationFilterSet @@ -382,7 +371,7 @@ class CircuitTerminationTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ProviderNetworkTestCase(TestCase): +class ProviderNetworkTestCase(TestCase, BaseFilterSetTests): queryset = ProviderNetwork.objects.all() filterset = ProviderNetworkFilterSet @@ -403,10 +392,6 @@ class ProviderNetworkTestCase(TestCase): ) ProviderNetwork.objects.bulk_create(provider_networks) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Provider Network 1', 'Provider Network 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 5e7b84463..bf9c39695 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -6,10 +6,11 @@ from dcim.filtersets import * from dcim.models import * from ipam.models import IPAddress from tenancy.models import Tenant, TenantGroup +from utilities.testing import BaseFilterSetTests from virtualization.models import Cluster, ClusterType -class RegionTestCase(TestCase): +class RegionTestCase(TestCase, BaseFilterSetTests): queryset = Region.objects.all() filterset = RegionFilterSet @@ -35,10 +36,6 @@ class RegionTestCase(TestCase): for region in child_regions: region.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Region 1', 'Region 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -59,7 +56,7 @@ class RegionTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class SiteGroupTestCase(TestCase): +class SiteGroupTestCase(TestCase, BaseFilterSetTests): queryset = SiteGroup.objects.all() filterset = SiteGroupFilterSet @@ -85,10 +82,6 @@ class SiteGroupTestCase(TestCase): for sitegroup in child_sitegroups: sitegroup.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Site Group 1', 'Site Group 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -109,7 +102,7 @@ class SiteGroupTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class SiteTestCase(TestCase): +class SiteTestCase(TestCase, BaseFilterSetTests): queryset = Site.objects.all() filterset = SiteFilterSet @@ -154,10 +147,6 @@ class SiteTestCase(TestCase): ) Site.objects.bulk_create(sites) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Site 1', 'Site 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -227,7 +216,7 @@ class SiteTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class LocationTestCase(TestCase): +class LocationTestCase(TestCase, BaseFilterSetTests): queryset = Location.objects.all() filterset = LocationFilterSet @@ -273,10 +262,6 @@ class LocationTestCase(TestCase): for location in locations: location.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Location 1', 'Location 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -318,7 +303,7 @@ class LocationTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class RackRoleTestCase(TestCase): +class RackRoleTestCase(TestCase, BaseFilterSetTests): queryset = RackRole.objects.all() filterset = RackRoleFilterSet @@ -332,10 +317,6 @@ class RackRoleTestCase(TestCase): ) RackRole.objects.bulk_create(rack_roles) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Rack Role 1', 'Rack Role 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -349,7 +330,7 @@ class RackRoleTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class RackTestCase(TestCase): +class RackTestCase(TestCase, BaseFilterSetTests): queryset = Rack.objects.all() filterset = RackFilterSet @@ -416,10 +397,6 @@ class RackTestCase(TestCase): ) Rack.objects.bulk_create(racks) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Rack 1', 'Rack 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -523,7 +500,7 @@ class RackTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class RackReservationTestCase(TestCase): +class RackReservationTestCase(TestCase, BaseFilterSetTests): queryset = RackReservation.objects.all() filterset = RackReservationFilterSet @@ -581,10 +558,6 @@ class RackReservationTestCase(TestCase): ) RackReservation.objects.bulk_create(reservations) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_site(self): sites = Site.objects.all()[:2] params = {'site_id': [sites[0].pk, sites[1].pk]} @@ -621,7 +594,7 @@ class RackReservationTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ManufacturerTestCase(TestCase): +class ManufacturerTestCase(TestCase, BaseFilterSetTests): queryset = Manufacturer.objects.all() filterset = ManufacturerFilterSet @@ -635,10 +608,6 @@ class ManufacturerTestCase(TestCase): ) Manufacturer.objects.bulk_create(manufacturers) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Manufacturer 1', 'Manufacturer 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -652,7 +621,7 @@ class ManufacturerTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class DeviceTypeTestCase(TestCase): +class DeviceTypeTestCase(TestCase, BaseFilterSetTests): queryset = DeviceType.objects.all() filterset = DeviceTypeFilterSet @@ -708,10 +677,6 @@ class DeviceTypeTestCase(TestCase): DeviceBayTemplate(device_type=device_types[1], name='Device Bay 2'), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_model(self): params = {'model': ['Model 1', 'Model 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -788,7 +753,7 @@ class DeviceTypeTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class ConsolePortTemplateTestCase(TestCase): +class ConsolePortTemplateTestCase(TestCase, BaseFilterSetTests): queryset = ConsolePortTemplate.objects.all() filterset = ConsolePortTemplateFilterSet @@ -810,10 +775,6 @@ class ConsolePortTemplateTestCase(TestCase): ConsolePortTemplate(device_type=device_types[2], name='Console Port 3'), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Console Port 1', 'Console Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -824,7 +785,7 @@ class ConsolePortTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ConsoleServerPortTemplateTestCase(TestCase): +class ConsoleServerPortTemplateTestCase(TestCase, BaseFilterSetTests): queryset = ConsoleServerPortTemplate.objects.all() filterset = ConsoleServerPortTemplateFilterSet @@ -846,10 +807,6 @@ class ConsoleServerPortTemplateTestCase(TestCase): ConsoleServerPortTemplate(device_type=device_types[2], name='Console Server Port 3'), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Console Server Port 1', 'Console Server Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -860,7 +817,7 @@ class ConsoleServerPortTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class PowerPortTemplateTestCase(TestCase): +class PowerPortTemplateTestCase(TestCase, BaseFilterSetTests): queryset = PowerPortTemplate.objects.all() filterset = PowerPortTemplateFilterSet @@ -882,10 +839,6 @@ class PowerPortTemplateTestCase(TestCase): PowerPortTemplate(device_type=device_types[2], name='Power Port 3', maximum_draw=300, allocated_draw=150), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Port 1', 'Power Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -904,7 +857,7 @@ class PowerPortTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class PowerOutletTemplateTestCase(TestCase): +class PowerOutletTemplateTestCase(TestCase, BaseFilterSetTests): queryset = PowerOutletTemplate.objects.all() filterset = PowerOutletTemplateFilterSet @@ -926,10 +879,6 @@ class PowerOutletTemplateTestCase(TestCase): PowerOutletTemplate(device_type=device_types[2], name='Power Outlet 3', feed_leg=PowerOutletFeedLegChoices.FEED_LEG_C), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Outlet 1', 'Power Outlet 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -944,7 +893,7 @@ class PowerOutletTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class InterfaceTemplateTestCase(TestCase): +class InterfaceTemplateTestCase(TestCase, BaseFilterSetTests): queryset = InterfaceTemplate.objects.all() filterset = InterfaceTemplateFilterSet @@ -966,10 +915,6 @@ class InterfaceTemplateTestCase(TestCase): InterfaceTemplate(device_type=device_types[2], name='Interface 3', type=InterfaceTypeChoices.TYPE_1GE_SFP, mgmt_only=False), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Interface 1', 'Interface 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -990,7 +935,7 @@ class InterfaceTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class FrontPortTemplateTestCase(TestCase): +class FrontPortTemplateTestCase(TestCase, BaseFilterSetTests): queryset = FrontPortTemplate.objects.all() filterset = FrontPortTemplateFilterSet @@ -1019,10 +964,6 @@ class FrontPortTemplateTestCase(TestCase): FrontPortTemplate(device_type=device_types[2], name='Front Port 3', rear_port=rear_ports[2], type=PortTypeChoices.TYPE_BNC), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Front Port 1', 'Front Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1037,7 +978,7 @@ class FrontPortTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class RearPortTemplateTestCase(TestCase): +class RearPortTemplateTestCase(TestCase, BaseFilterSetTests): queryset = RearPortTemplate.objects.all() filterset = RearPortTemplateFilterSet @@ -1059,10 +1000,6 @@ class RearPortTemplateTestCase(TestCase): RearPortTemplate(device_type=device_types[2], name='Rear Port 3', type=PortTypeChoices.TYPE_BNC, positions=3), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Rear Port 1', 'Rear Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1081,7 +1018,7 @@ class RearPortTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class DeviceBayTemplateTestCase(TestCase): +class DeviceBayTemplateTestCase(TestCase, BaseFilterSetTests): queryset = DeviceBayTemplate.objects.all() filterset = DeviceBayTemplateFilterSet @@ -1103,10 +1040,6 @@ class DeviceBayTemplateTestCase(TestCase): DeviceBayTemplate(device_type=device_types[2], name='Device Bay 3'), )) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Device Bay 1', 'Device Bay 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1117,7 +1050,7 @@ class DeviceBayTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class DeviceRoleTestCase(TestCase): +class DeviceRoleTestCase(TestCase, BaseFilterSetTests): queryset = DeviceRole.objects.all() filterset = DeviceRoleFilterSet @@ -1131,10 +1064,6 @@ class DeviceRoleTestCase(TestCase): ) DeviceRole.objects.bulk_create(device_roles) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Device Role 1', 'Device Role 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1154,7 +1083,7 @@ class DeviceRoleTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class PlatformTestCase(TestCase): +class PlatformTestCase(TestCase, BaseFilterSetTests): queryset = Platform.objects.all() filterset = PlatformFilterSet @@ -1175,10 +1104,6 @@ class PlatformTestCase(TestCase): ) Platform.objects.bulk_create(platforms) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Platform 1', 'Platform 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1203,7 +1128,7 @@ class PlatformTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class DeviceTestCase(TestCase): +class DeviceTestCase(TestCase, BaseFilterSetTests): queryset = Device.objects.all() filterset = DeviceFilterSet @@ -1356,10 +1281,6 @@ class DeviceTestCase(TestCase): Device.objects.filter(pk=devices[0].pk).update(virtual_chassis=virtual_chassis, vc_position=1, vc_priority=1) Device.objects.filter(pk=devices[1].pk).update(virtual_chassis=virtual_chassis, vc_position=2, vc_priority=2) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Device 1', 'Device 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1549,7 +1470,7 @@ class DeviceTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ConsolePortTestCase(TestCase): +class ConsolePortTestCase(TestCase, BaseFilterSetTests): queryset = ConsolePort.objects.all() filterset = ConsolePortFilterSet @@ -1608,10 +1529,6 @@ class ConsolePortTestCase(TestCase): Cable(termination_a=console_ports[1], termination_b=console_server_ports[1]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Console Port 1', 'Console Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1665,7 +1582,7 @@ class ConsolePortTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class ConsoleServerPortTestCase(TestCase): +class ConsoleServerPortTestCase(TestCase, BaseFilterSetTests): queryset = ConsoleServerPort.objects.all() filterset = ConsoleServerPortFilterSet @@ -1724,10 +1641,6 @@ class ConsoleServerPortTestCase(TestCase): Cable(termination_a=console_server_ports[1], termination_b=console_ports[1]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Console Server Port 1', 'Console Server Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1781,7 +1694,7 @@ class ConsoleServerPortTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class PowerPortTestCase(TestCase): +class PowerPortTestCase(TestCase, BaseFilterSetTests): queryset = PowerPort.objects.all() filterset = PowerPortFilterSet @@ -1840,10 +1753,6 @@ class PowerPortTestCase(TestCase): Cable(termination_a=power_ports[1], termination_b=power_outlets[1]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Port 1', 'Power Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1905,7 +1814,7 @@ class PowerPortTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class PowerOutletTestCase(TestCase): +class PowerOutletTestCase(TestCase, BaseFilterSetTests): queryset = PowerOutlet.objects.all() filterset = PowerOutletFilterSet @@ -1964,10 +1873,6 @@ class PowerOutletTestCase(TestCase): Cable(termination_a=power_outlets[1], termination_b=power_ports[1]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Outlet 1', 'Power Outlet 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2025,7 +1930,7 @@ class PowerOutletTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class InterfaceTestCase(TestCase): +class InterfaceTestCase(TestCase, BaseFilterSetTests): queryset = Interface.objects.all() filterset = InterfaceFilterSet @@ -2081,10 +1986,6 @@ class InterfaceTestCase(TestCase): Cable(termination_a=interfaces[1], termination_b=interfaces[4]).save() # Third pair is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Interface 1', 'Interface 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2200,7 +2101,7 @@ class InterfaceTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class FrontPortTestCase(TestCase): +class FrontPortTestCase(TestCase, BaseFilterSetTests): queryset = FrontPort.objects.all() filterset = FrontPortFilterSet @@ -2266,10 +2167,6 @@ class FrontPortTestCase(TestCase): Cable(termination_a=front_ports[1], termination_b=front_ports[4]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Front Port 1', 'Front Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2321,7 +2218,7 @@ class FrontPortTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class RearPortTestCase(TestCase): +class RearPortTestCase(TestCase, BaseFilterSetTests): queryset = RearPort.objects.all() filterset = RearPortFilterSet @@ -2377,10 +2274,6 @@ class RearPortTestCase(TestCase): Cable(termination_a=rear_ports[1], termination_b=rear_ports[4]).save() # Third port is not connected - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Rear Port 1', 'Rear Port 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2436,7 +2329,7 @@ class RearPortTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class DeviceBayTestCase(TestCase): +class DeviceBayTestCase(TestCase, BaseFilterSetTests): queryset = DeviceBay.objects.all() filterset = DeviceBayFilterSet @@ -2483,10 +2376,6 @@ class DeviceBayTestCase(TestCase): ) DeviceBay.objects.bulk_create(device_bays) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Device Bay 1', 'Device Bay 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2528,7 +2417,7 @@ class DeviceBayTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class InventoryItemTestCase(TestCase): +class InventoryItemTestCase(TestCase, BaseFilterSetTests): queryset = InventoryItem.objects.all() filterset = InventoryItemFilterSet @@ -2591,10 +2480,6 @@ class InventoryItemTestCase(TestCase): for i in child_inventory_items: i.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Inventory Item 1', 'Inventory Item 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2666,7 +2551,7 @@ class InventoryItemTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class VirtualChassisTestCase(TestCase): +class VirtualChassisTestCase(TestCase, BaseFilterSetTests): queryset = VirtualChassis.objects.all() filterset = VirtualChassisFilterSet @@ -2721,10 +2606,6 @@ class VirtualChassisTestCase(TestCase): Device.objects.filter(pk=devices[3].pk).update(virtual_chassis=virtual_chassis[1]) Device.objects.filter(pk=devices[5].pk).update(virtual_chassis=virtual_chassis[2]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_domain(self): params = {'domain': ['Domain 1', 'Domain 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2762,7 +2643,7 @@ class VirtualChassisTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class CableTestCase(TestCase): +class CableTestCase(TestCase, BaseFilterSetTests): queryset = Cable.objects.all() filterset = CableFilterSet @@ -2827,10 +2708,6 @@ class CableTestCase(TestCase): Cable(termination_a=interfaces[9], termination_b=interfaces[10], label='Cable 5', type=CableTypeChoices.TYPE_CAT6, status=CableStatusChoices.STATUS_PLANNED, color='e91e63', length=10, length_unit=CableLengthUnitChoices.UNIT_METER).save() Cable(termination_a=interfaces[11], termination_b=interfaces[0], label='Cable 6', type=CableTypeChoices.TYPE_CAT6, status=CableStatusChoices.STATUS_PLANNED, color='e91e63', length=20, length_unit=CableLengthUnitChoices.UNIT_METER).save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_label(self): params = {'label': ['Cable 1', 'Cable 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2886,7 +2763,7 @@ class CableTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class PowerPanelTestCase(TestCase): +class PowerPanelTestCase(TestCase, BaseFilterSetTests): queryset = PowerPanel.objects.all() filterset = PowerPanelFilterSet @@ -2931,10 +2808,6 @@ class PowerPanelTestCase(TestCase): ) PowerPanel.objects.bulk_create(power_panels) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Panel 1', 'Power Panel 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -2966,7 +2839,7 @@ class PowerPanelTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class PowerFeedTestCase(TestCase): +class PowerFeedTestCase(TestCase, BaseFilterSetTests): queryset = PowerFeed.objects.all() filterset = PowerFeedFilterSet @@ -3029,10 +2902,6 @@ class PowerFeedTestCase(TestCase): Cable(termination_a=power_feeds[0], termination_b=power_ports[0]).save() Cable(termination_a=power_feeds[1], termination_b=power_ports[1]).save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Power Feed 1', 'Power Feed 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index bd4f1c246..a4a75b377 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -10,10 +10,11 @@ from extras.filtersets import * from extras.models import * from ipam.models import IPAddress from tenancy.models import Tenant, TenantGroup +from utilities.testing import BaseFilterSetTests from virtualization.models import Cluster, ClusterGroup, ClusterType -class WebhookTestCase(TestCase): +class WebhookTestCase(TestCase, BaseFilterSetTests): queryset = Webhook.objects.all() filterset = WebhookFilterSet @@ -52,10 +53,6 @@ class WebhookTestCase(TestCase): webhooks[1].content_types.add(content_types[1]) webhooks[2].content_types.add(content_types[2]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Webhook 1', 'Webhook 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -89,7 +86,7 @@ class WebhookTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class CustomLinkTestCase(TestCase): +class CustomLinkTestCase(TestCase, BaseFilterSetTests): queryset = CustomLink.objects.all() filterset = CustomLinkFilterSet @@ -125,10 +122,6 @@ class CustomLinkTestCase(TestCase): ) CustomLink.objects.bulk_create(custom_links) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Custom Link 1', 'Custom Link 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -148,7 +141,7 @@ class CustomLinkTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class ExportTemplateTestCase(TestCase): +class ExportTemplateTestCase(TestCase, BaseFilterSetTests): queryset = ExportTemplate.objects.all() filterset = ExportTemplateFilterSet @@ -164,10 +157,6 @@ class ExportTemplateTestCase(TestCase): ) ExportTemplate.objects.bulk_create(export_templates) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Export Template 1', 'Export Template 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -177,7 +166,7 @@ class ExportTemplateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class ImageAttachmentTestCase(TestCase): +class ImageAttachmentTestCase(TestCase, BaseFilterSetTests): queryset = ImageAttachment.objects.all() filterset = ImageAttachmentFilterSet @@ -235,10 +224,6 @@ class ImageAttachmentTestCase(TestCase): ) ImageAttachment.objects.bulk_create(image_attachments) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Image Attachment 1', 'Image Attachment 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -255,7 +240,7 @@ class ImageAttachmentTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class JournalEntryTestCase(TestCase): +class JournalEntryTestCase(TestCase, BaseFilterSetTests): queryset = JournalEntry.objects.all() filterset = JournalEntryFilterSet @@ -320,10 +305,6 @@ class JournalEntryTestCase(TestCase): ) JournalEntry.objects.bulk_create(journal_entries) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_created_by(self): users = User.objects.filter(username__in=['Alice', 'Bob']) params = {'created_by': [users[0].username, users[1].username]} @@ -349,7 +330,7 @@ class JournalEntryTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class ConfigContextTestCase(TestCase): +class ConfigContextTestCase(TestCase, BaseFilterSetTests): queryset = ConfigContext.objects.all() filterset = ConfigContextFilterSet @@ -449,10 +430,6 @@ class ConfigContextTestCase(TestCase): c.tenant_groups.set([tenant_groups[i]]) c.tenants.set([tenants[i]]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Config Context 1', 'Config Context 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -530,7 +507,7 @@ class ConfigContextTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class TagTestCase(TestCase): +class TagTestCase(TestCase, BaseFilterSetTests): queryset = Tag.objects.all() filterset = TagFilterSet @@ -544,10 +521,6 @@ class TagTestCase(TestCase): ) Tag.objects.bulk_create(tags) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Tag 1', 'Tag 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -561,7 +534,7 @@ class TagTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ObjectChangeTestCase(TestCase): +class ObjectChangeTestCase(TestCase, BaseFilterSetTests): queryset = ObjectChange.objects.all() filterset = ObjectChangeFilterSet @@ -635,10 +608,6 @@ class ObjectChangeTestCase(TestCase): ) ObjectChange.objects.bulk_create(object_changes) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:3]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) - def test_user(self): params = {'user_id': User.objects.filter(username__in=['user1', 'user2']).values_list('pk', flat=True)} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) diff --git a/netbox/ipam/tests/test_filtersets.py b/netbox/ipam/tests/test_filtersets.py index d0b59ae39..e17c9bb99 100644 --- a/netbox/ipam/tests/test_filtersets.py +++ b/netbox/ipam/tests/test_filtersets.py @@ -4,11 +4,12 @@ from dcim.models import Device, DeviceRole, DeviceType, Interface, Location, Man from ipam.choices import * from ipam.filtersets import * from ipam.models import Aggregate, IPAddress, Prefix, RIR, Role, RouteTarget, Service, VLAN, VLANGroup, VRF +from utilities.testing import BaseFilterSetTests from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface from tenancy.models import Tenant, TenantGroup -class VRFTestCase(TestCase): +class VRFTestCase(TestCase, BaseFilterSetTests): queryset = VRF.objects.all() filterset = VRFFilterSet @@ -53,10 +54,6 @@ class VRFTestCase(TestCase): vrfs[2].import_targets.add(route_targets[2]) vrfs[2].export_targets.add(route_targets[2]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['VRF 1', 'VRF 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -100,7 +97,7 @@ class VRFTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class RouteTargetTestCase(TestCase): +class RouteTargetTestCase(TestCase, BaseFilterSetTests): queryset = RouteTarget.objects.all() filterset = RouteTargetFilterSet @@ -149,10 +146,6 @@ class RouteTargetTestCase(TestCase): vrfs[1].import_targets.add(route_targets[4], route_targets[5]) vrfs[1].export_targets.add(route_targets[6], route_targets[7]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['65000:1001', '65000:1002', '65000:1003']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) @@ -186,7 +179,7 @@ class RouteTargetTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 8) -class RIRTestCase(TestCase): +class RIRTestCase(TestCase, BaseFilterSetTests): queryset = RIR.objects.all() filterset = RIRFilterSet @@ -203,10 +196,6 @@ class RIRTestCase(TestCase): ) RIR.objects.bulk_create(rirs) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['RIR 1', 'RIR 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -226,7 +215,7 @@ class RIRTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) -class AggregateTestCase(TestCase): +class AggregateTestCase(TestCase, BaseFilterSetTests): queryset = Aggregate.objects.all() filterset = AggregateFilterSet @@ -265,10 +254,6 @@ class AggregateTestCase(TestCase): ) Aggregate.objects.bulk_create(aggregates) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_family(self): params = {'family': '4'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) @@ -304,7 +289,7 @@ class AggregateTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class RoleTestCase(TestCase): +class RoleTestCase(TestCase, BaseFilterSetTests): queryset = Role.objects.all() filterset = RoleFilterSet @@ -318,10 +303,6 @@ class RoleTestCase(TestCase): ) Role.objects.bulk_create(roles) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Role 1', 'Role 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -331,7 +312,7 @@ class RoleTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class PrefixTestCase(TestCase): +class PrefixTestCase(TestCase, BaseFilterSetTests): queryset = Prefix.objects.all() filterset = PrefixFilterSet @@ -421,10 +402,6 @@ class PrefixTestCase(TestCase): ) Prefix.objects.bulk_create(prefixes) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_family(self): params = {'family': '6'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5) @@ -528,7 +505,7 @@ class PrefixTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class IPAddressTestCase(TestCase): +class IPAddressTestCase(TestCase, BaseFilterSetTests): queryset = IPAddress.objects.all() filterset = IPAddressFilterSet @@ -607,10 +584,6 @@ class IPAddressTestCase(TestCase): ) IPAddress.objects.bulk_create(ipaddresses) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_family(self): params = {'family': '6'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5) @@ -708,7 +681,7 @@ class IPAddressTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) -class VLANGroupTestCase(TestCase): +class VLANGroupTestCase(TestCase, BaseFilterSetTests): queryset = VLANGroup.objects.all() filterset = VLANGroupFilterSet @@ -751,10 +724,6 @@ class VLANGroupTestCase(TestCase): ) VLANGroup.objects.bulk_create(vlan_groups) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['VLAN Group 1', 'VLAN Group 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -796,7 +765,7 @@ class VLANGroupTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) -class VLANTestCase(TestCase): +class VLANTestCase(TestCase, BaseFilterSetTests): queryset = VLAN.objects.all() filterset = VLANFilterSet @@ -965,10 +934,6 @@ class VLANTestCase(TestCase): ) VLAN.objects.bulk_create(vlans) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['VLAN 101', 'VLAN 102']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -1041,7 +1006,7 @@ class VLANTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6) # 5 scoped + 1 global -class ServiceTestCase(TestCase): +class ServiceTestCase(TestCase, BaseFilterSetTests): queryset = Service.objects.all() filterset = ServiceFilterSet @@ -1080,10 +1045,6 @@ class ServiceTestCase(TestCase): ) Service.objects.bulk_create(services) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:3]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) - def test_name(self): params = {'name': ['Service 1', 'Service 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/secrets/tests/test_filtersets.py b/netbox/secrets/tests/test_filtersets.py index 1d9d18f37..e4833c0fb 100644 --- a/netbox/secrets/tests/test_filtersets.py +++ b/netbox/secrets/tests/test_filtersets.py @@ -3,10 +3,11 @@ from django.test import TestCase from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site from secrets.filtersets import * from secrets.models import Secret, SecretRole +from utilities.testing import BaseFilterSetTests from virtualization.models import Cluster, ClusterType, VirtualMachine -class SecretRoleTestCase(TestCase): +class SecretRoleTestCase(TestCase, BaseFilterSetTests): queryset = SecretRole.objects.all() filterset = SecretRoleFilterSet @@ -20,10 +21,6 @@ class SecretRoleTestCase(TestCase): ) SecretRole.objects.bulk_create(roles) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Secret Role 1', 'Secret Role 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -33,7 +30,7 @@ class SecretRoleTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class SecretTestCase(TestCase): +class SecretTestCase(TestCase, BaseFilterSetTests): queryset = Secret.objects.all() filterset = SecretFilterSet @@ -80,10 +77,6 @@ class SecretTestCase(TestCase): for s in secrets: s.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Secret 1', 'Secret 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/tenancy/tests/test_filtersets.py b/netbox/tenancy/tests/test_filtersets.py index 32c9cd186..483cdf110 100644 --- a/netbox/tenancy/tests/test_filtersets.py +++ b/netbox/tenancy/tests/test_filtersets.py @@ -2,9 +2,10 @@ from django.test import TestCase from tenancy.filtersets import * from tenancy.models import Tenant, TenantGroup +from utilities.testing import BaseFilterSetTests -class TenantGroupTestCase(TestCase): +class TenantGroupTestCase(TestCase, BaseFilterSetTests): queryset = TenantGroup.objects.all() filterset = TenantGroupFilterSet @@ -27,10 +28,6 @@ class TenantGroupTestCase(TestCase): for tenantgroup in tenant_groups: tenantgroup.save() - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Tenant Group 1', 'Tenant Group 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -51,7 +48,7 @@ class TenantGroupTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class TenantTestCase(TestCase): +class TenantTestCase(TestCase, BaseFilterSetTests): queryset = Tenant.objects.all() filterset = TenantFilterSet @@ -73,10 +70,6 @@ class TenantTestCase(TestCase): ) Tenant.objects.bulk_create(tenants) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Tenant 1', 'Tenant 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/users/tests/test_filtersets.py b/netbox/users/tests/test_filtersets.py index 2a3a8e24f..32a6b6cd9 100644 --- a/netbox/users/tests/test_filtersets.py +++ b/netbox/users/tests/test_filtersets.py @@ -4,9 +4,10 @@ from django.test import TestCase from users.filtersets import GroupFilterSet, ObjectPermissionFilterSet, UserFilterSet from users.models import ObjectPermission +from utilities.testing import BaseFilterSetTests -class UserTestCase(TestCase): +class UserTestCase(TestCase, BaseFilterSetTests): queryset = User.objects.all() filterset = UserFilterSet @@ -59,10 +60,6 @@ class UserTestCase(TestCase): users[1].groups.set([groups[1]]) users[2].groups.set([groups[2]]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_username(self): params = {'username': ['User1', 'User2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -95,7 +92,7 @@ class UserTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class GroupTestCase(TestCase): +class GroupTestCase(TestCase, BaseFilterSetTests): queryset = Group.objects.all() filterset = GroupFilterSet @@ -109,16 +106,12 @@ class GroupTestCase(TestCase): ) Group.objects.bulk_create(groups) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Group 1', 'Group 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ObjectPermissionTestCase(TestCase): +class ObjectPermissionTestCase(TestCase, BaseFilterSetTests): queryset = ObjectPermission.objects.all() filterset = ObjectPermissionFilterSet @@ -160,10 +153,6 @@ class ObjectPermissionTestCase(TestCase): permissions[i].users.set([users[i]]) permissions[i].object_types.set([object_types[i]]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Permission 1', 'Permission 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/utilities/testing/__init__.py b/netbox/utilities/testing/__init__.py index c6634f22e..6a52d93f3 100644 --- a/netbox/utilities/testing/__init__.py +++ b/netbox/utilities/testing/__init__.py @@ -1,4 +1,5 @@ from .api import * from .base import * +from .filtersets import * from .utils import * from .views import * diff --git a/netbox/utilities/testing/filtersets.py b/netbox/utilities/testing/filtersets.py new file mode 100644 index 000000000..3745c6c47 --- /dev/null +++ b/netbox/utilities/testing/filtersets.py @@ -0,0 +1,16 @@ +__all__ = ( + 'BaseFilterSetTests', +) + + +class BaseFilterSetTests: + queryset = None + filterset = None + + def test_id(self): + """ + Test filtering for two PKs from a set of >2 objects. + """ + params = {'id': self.queryset.values_list('pk', flat=True)[:2]} + self.assertGreater(self.queryset.count(), 2) + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/virtualization/tests/test_filtersets.py b/netbox/virtualization/tests/test_filtersets.py index 40803cc07..b35faba91 100644 --- a/netbox/virtualization/tests/test_filtersets.py +++ b/netbox/virtualization/tests/test_filtersets.py @@ -3,12 +3,13 @@ from django.test import TestCase from dcim.models import DeviceRole, Platform, Region, Site, SiteGroup from ipam.models import IPAddress from tenancy.models import Tenant, TenantGroup +from utilities.testing import BaseFilterSetTests from virtualization.choices import * from virtualization.filtersets import * from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface -class ClusterTypeTestCase(TestCase): +class ClusterTypeTestCase(TestCase, BaseFilterSetTests): queryset = ClusterType.objects.all() filterset = ClusterTypeFilterSet @@ -22,10 +23,6 @@ class ClusterTypeTestCase(TestCase): ) ClusterType.objects.bulk_create(cluster_types) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Cluster Type 1', 'Cluster Type 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -39,7 +36,7 @@ class ClusterTypeTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ClusterGroupTestCase(TestCase): +class ClusterGroupTestCase(TestCase, BaseFilterSetTests): queryset = ClusterGroup.objects.all() filterset = ClusterGroupFilterSet @@ -53,10 +50,6 @@ class ClusterGroupTestCase(TestCase): ) ClusterGroup.objects.bulk_create(cluster_groups) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Cluster Group 1', 'Cluster Group 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -70,7 +63,7 @@ class ClusterGroupTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class ClusterTestCase(TestCase): +class ClusterTestCase(TestCase, BaseFilterSetTests): queryset = Cluster.objects.all() filterset = ClusterFilterSet @@ -136,10 +129,6 @@ class ClusterTestCase(TestCase): ) Cluster.objects.bulk_create(clusters) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Cluster 1', 'Cluster 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -194,7 +183,7 @@ class ClusterTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class VirtualMachineTestCase(TestCase): +class VirtualMachineTestCase(TestCase, BaseFilterSetTests): queryset = VirtualMachine.objects.all() filterset = VirtualMachineFilterSet @@ -297,10 +286,6 @@ class VirtualMachineTestCase(TestCase): VirtualMachine.objects.filter(pk=vms[0].pk).update(primary_ip4=ipaddresses[0]) VirtualMachine.objects.filter(pk=vms[1].pk).update(primary_ip4=ipaddresses[1]) - def test_id(self): - params = {'id': self.queryset.values_list('pk', flat=True)[:2]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Virtual Machine 1', 'Virtual Machine 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -409,7 +394,7 @@ class VirtualMachineTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) -class VMInterfaceTestCase(TestCase): +class VMInterfaceTestCase(TestCase, BaseFilterSetTests): queryset = VMInterface.objects.all() filterset = VMInterfaceFilterSet @@ -444,11 +429,6 @@ class VMInterfaceTestCase(TestCase): ) VMInterface.objects.bulk_create(interfaces) - def test_id(self): - id_list = self.queryset.values_list('id', flat=True)[:2] - params = {'id': [str(id) for id in id_list]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_name(self): params = {'name': ['Interface 1', 'Interface 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)