From 9203f65f986f644562b9bd5c9952de155278f920 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Sun, 13 Apr 2025 11:06:24 +0200 Subject: [PATCH] feat(virtualization): Add tests for VLAN mode filtering Introduces tests to validate filtering by `mode` for VMInterface. Ensures correct filtering for 802.1Q VLAN mode. --- netbox/virtualization/tests/test_filtersets.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netbox/virtualization/tests/test_filtersets.py b/netbox/virtualization/tests/test_filtersets.py index eef5d6b52..d53ca78de 100644 --- a/netbox/virtualization/tests/test_filtersets.py +++ b/netbox/virtualization/tests/test_filtersets.py @@ -605,6 +605,7 @@ class VMInterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): mtu=100, vrf=vrfs[0], description='foobar1', + mode=InterfaceModeChoices.MODE_ACCESS, vlan_translation_policy=vlan_translation_policies[0], ), VMInterface( @@ -614,6 +615,7 @@ class VMInterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): mtu=200, vrf=vrfs[1], description='foobar2', + mode=InterfaceModeChoices.MODE_TAGGED, vlan_translation_policy=vlan_translation_policies[0], ), VMInterface( @@ -699,6 +701,10 @@ class VMInterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'description': ['foobar1', 'foobar2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_mode(self): + params = {'mode': [InterfaceModeChoices.MODE_ACCESS]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + def test_vlan(self): vlan = VLAN.objects.filter(qinq_role=VLANQinQRoleChoices.ROLE_SERVICE).first() params = {'vlan_id': vlan.pk}