From bbb52b4c4e6b9afb88a0fc2ab007f7ffcbcec3bb Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Sun, 13 Apr 2025 13:16:56 +0200 Subject: [PATCH] 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. --- netbox/ipam/tests/test_filtersets.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/netbox/ipam/tests/test_filtersets.py b/netbox/ipam/tests/test_filtersets.py index 6281f7b41..b6e179d9e 100644 --- a/netbox/ipam/tests/test_filtersets.py +++ b/netbox/ipam/tests/test_filtersets.py @@ -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]}