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

Closes #8168: Add min/max VID fields to VLANGroup

This commit is contained in:
jeremystretch
2021-12-23 11:13:28 -05:00
parent 083fda3172
commit 544d991e1e
14 changed files with 148 additions and 31 deletions

View File

@@ -497,18 +497,32 @@ class TestIPAddress(TestCase):
class TestVLANGroup(TestCase):
@classmethod
def setUpTestData(cls):
vlangroup = VLANGroup.objects.create(
name='VLAN Group 1',
slug='vlan-group-1',
min_vid=100,
max_vid=199
)
VLAN.objects.bulk_create((
VLAN(name='VLAN 100', vid=100, group=vlangroup),
VLAN(name='VLAN 101', vid=101, group=vlangroup),
VLAN(name='VLAN 102', vid=102, group=vlangroup),
VLAN(name='VLAN 103', vid=103, group=vlangroup),
))
def test_get_available_vids(self):
vlangroup = VLANGroup.objects.first()
child_vids = VLAN.objects.filter(group=vlangroup).values_list('vid', flat=True)
self.assertEqual(len(child_vids), 4)
available_vids = vlangroup.get_available_vids()
self.assertListEqual(available_vids, list(range(104, 200)))
def test_get_next_available_vid(self):
vlangroup = VLANGroup.objects.first()
self.assertEqual(vlangroup.get_next_available_vid(), 104)
vlangroup = VLANGroup.objects.create(name='VLAN Group 1', slug='vlan-group-1')
VLAN.objects.bulk_create((
VLAN(name='VLAN 1', vid=1, group=vlangroup),
VLAN(name='VLAN 2', vid=2, group=vlangroup),
VLAN(name='VLAN 3', vid=3, group=vlangroup),
VLAN(name='VLAN 5', vid=5, group=vlangroup),
))
self.assertEqual(vlangroup.get_next_available_vid(), 4)
VLAN.objects.bulk_create((
VLAN(name='VLAN 4', vid=4, group=vlangroup),
))
self.assertEqual(vlangroup.get_next_available_vid(), 6)
VLAN.objects.create(name='VLAN 104', vid=104, group=vlangroup)
self.assertEqual(vlangroup.get_next_available_vid(), 105)