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:
@@ -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)
|
||||
|
Reference in New Issue
Block a user