1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Introduce BaseFilterSetTests to standardize testing of PK filters

This commit is contained in:
jeremystretch
2021-05-03 14:36:44 -04:00
parent fbffef1cc4
commit ffa4cd134b
10 changed files with 93 additions and 337 deletions

View File

@ -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)