17414 allow single vlan in vlan group (#17418)

* 17414 allow single vlan in vlan group

* 17414 add test
This commit is contained in:
Arthur Hanson 2024-09-10 06:03:50 -07:00 committed by GitHub
parent 93eea95735
commit 81a1280b65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View File

@ -100,7 +100,7 @@ class VLANGroup(OrganizationalModel):
if self.vid_ranges and check_ranges_overlap(self.vid_ranges):
raise ValidationError({'vid_ranges': _("Ranges cannot overlap.")})
for vid_range in self.vid_ranges:
if vid_range.lower >= vid_range.upper:
if vid_range.lower > vid_range.upper:
raise ValidationError({
'vid_ranges': _(
"Maximum child VID must be greater than or equal to minimum child VID ({value})"

View File

@ -543,3 +543,17 @@ class TestVLANGroup(TestCase):
vlan = VLAN(vid=109, name='VLAN 109', group=vlangroup)
vlan.full_clean()
def test_overlapping_vlan(self):
vlangroup = VLANGroup(
name='VLAN Group 1',
slug='vlan-group-1',
vid_ranges=string_to_ranges('2-4,3-5'),
)
with self.assertRaises(ValidationError):
vlangroup.full_clean()
# make sure single vlan range works
vlangroup.vid_ranges = string_to_ranges('2-2')
vlangroup.full_clean()
vlangroup.save()