feat(ipam): Add VLAN group filtering to tests

Introduces tests for VLAN group filtering in FilterSets. This ensures
correct validation and behavior when filtering by VLAN group.
This commit is contained in:
Martin Hauser 2025-04-13 13:16:56 +02:00
parent 2ec0676942
commit bbb52b4c4e
No known key found for this signature in database

View File

@ -645,9 +645,16 @@ class PrefixTestCase(TestCase, ChangeLoggedFilterSetTests):
vrfs[1].export_targets.add(route_targets[1])
vrfs[2].export_targets.add(route_targets[2])
vlan_groups = (
VLANGroup(name='VLAN Group 1', slug='vlan-group-1'),
VLANGroup(name='VLAN Group 2', slug='vlan-group-2'),
)
for vlan_group in vlan_groups:
vlan_group.save()
vlans = (
VLAN(vid=1, name='VLAN 1'),
VLAN(vid=2, name='VLAN 2'),
VLAN(vid=1, name='VLAN 1', group=vlan_groups[0]),
VLAN(vid=2, name='VLAN 2', group=vlan_groups[1]),
VLAN(vid=3, name='VLAN 3'),
)
VLAN.objects.bulk_create(vlans)
@ -850,6 +857,15 @@ class PrefixTestCase(TestCase, ChangeLoggedFilterSetTests):
params = {'site': [sites[0].slug, sites[1].slug]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
def test_vlan_group(self):
vlan_groups = VLANGroup.objects.all()[:2]
params = {'vlan_group_id': [vlan_groups[0].pk, vlan_groups[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'vlan_group': [vlan_groups[0].slug]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'vlan_group': [vlan_groups[0].slug, vlan_groups[1].slug]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
def test_vlan(self):
vlans = VLAN.objects.all()[:2]
params = {'vlan_id': [vlans[0].pk, vlans[1].pk]}