Tweaked tests to query for multiple IDs

This commit is contained in:
jeremystretch 2023-01-05 14:09:34 -05:00
parent ba03bd54cd
commit ecb1d096cd

View File

@ -1626,12 +1626,14 @@ class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests):
ipaddresses = ( ipaddresses = (
IPAddress(address='192.0.2.1/24', assigned_object=interfaces[0]), IPAddress(address='192.0.2.1/24', assigned_object=interfaces[0]),
IPAddress(address='192.0.2.2/24', assigned_object=interfaces[1]), IPAddress(address='192.0.2.2/24', assigned_object=interfaces[1]),
IPAddress(address='2001:db8::1/64', assigned_object=interfaces[1]), IPAddress(address='192.0.2.3/24', assigned_object=None),
IPAddress(address='2001:db8::2/64', assigned_object=None), IPAddress(address='2001:db8::1/64', assigned_object=interfaces[0]),
IPAddress(address='2001:db8::2/64', assigned_object=interfaces[1]),
IPAddress(address='2001:db8::3/64', assigned_object=None),
) )
IPAddress.objects.bulk_create(ipaddresses) IPAddress.objects.bulk_create(ipaddresses)
Device.objects.filter(pk=devices[0].pk).update(primary_ip4=ipaddresses[0]) Device.objects.filter(pk=devices[0].pk).update(primary_ip4=ipaddresses[0], primary_ip6=ipaddresses[3])
Device.objects.filter(pk=devices[1].pk).update(primary_ip4=ipaddresses[1], primary_ip6=ipaddresses[2]) Device.objects.filter(pk=devices[1].pk).update(primary_ip4=ipaddresses[1], primary_ip6=ipaddresses[4])
# VirtualChassis assignment for filtering # VirtualChassis assignment for filtering
virtual_chassis = VirtualChassis.objects.create(master=devices[0]) virtual_chassis = VirtualChassis.objects.create(master=devices[0])
@ -1764,17 +1766,17 @@ class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_primary_ip4(self): def test_primary_ip4(self):
addresses = IPAddress.objects.all() addresses = IPAddress.objects.filter(address__family=4)
params = {'primary_ip4_id': [addresses[0].pk]} params = {'primary_ip4_id': [addresses[0].pk, addresses[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'primary_ip4_id': [addresses[1].pk]} params = {'primary_ip4_id': [addresses[2].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
def test_primary_ip6(self): def test_primary_ip6(self):
addresses = IPAddress.objects.all() addresses = IPAddress.objects.filter(address__family=6)
params = {'primary_ip6_id': [addresses[0].pk, addresses[1].pk]}
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(), 1)
params = {'primary_ip6_id': [addresses[3].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
def test_virtual_chassis_id(self): def test_virtual_chassis_id(self):