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

Follow-up to #804

This commit is contained in:
Jeremy Stretch
2017-01-17 12:32:54 -05:00
parent 398faf518c
commit ab706d2440
2 changed files with 53 additions and 69 deletions

View File

@@ -8,65 +8,53 @@ from django.core.exceptions import ValidationError
class TestPrefix(TestCase):
fixtures = [
'dcim',
'ipam'
]
def test_create(self):
prefix = Prefix.objects.create(
prefix=netaddr.IPNetwork('10.1.1.0/24'),
status=1
)
self.assertIsNone(prefix.clean())
@override_settings(ENFORCE_GLOBAL_UNIQUE=True)
@override_settings(ENFORCE_GLOBAL_UNIQUE=False)
def test_duplicate_global(self):
prefix = Prefix.objects.create(
prefix=netaddr.IPNetwork('10.1.1.0/24'),
status=1
)
self.assertRaises(ValidationError, prefix.clean)
Prefix.objects.create(prefix=netaddr.IPNetwork('192.0.2.0/24'))
duplicate_prefix = Prefix(prefix=netaddr.IPNetwork('192.0.2.0/24'))
self.assertIsNone(duplicate_prefix.clean())
@override_settings(ENFORCE_GLOBAL_UNIQUE=True)
def test_duplicate_global_unique(self):
Prefix.objects.create(prefix=netaddr.IPNetwork('192.0.2.0/24'))
duplicate_prefix = Prefix(prefix=netaddr.IPNetwork('192.0.2.0/24'))
self.assertRaises(ValidationError, duplicate_prefix.clean)
def test_duplicate_vrf(self):
pfx_kwargs = {
"prefix": netaddr.IPNetwork('10.1.1.0/24'),
"status": 1,
"vrf": VRF.objects.create(name='Test', rd='1:1'),
}
Prefix.objects.create(**pfx_kwargs)
dup_prefix = Prefix.objects.create(**pfx_kwargs)
self.assertRaises(ValidationError, dup_prefix.clean)
vrf = VRF.objects.create(name='Test', rd='1:1', enforce_unique=False)
Prefix.objects.create(vrf=vrf, prefix=netaddr.IPNetwork('192.0.2.0/24'))
duplicate_prefix = Prefix(vrf=vrf, prefix=netaddr.IPNetwork('192.0.2.0/24'))
self.assertIsNone(duplicate_prefix.clean())
def test_duplicate_vrf_unique(self):
vrf = VRF.objects.create(name='Test', rd='1:1', enforce_unique=True)
Prefix.objects.create(vrf=vrf, prefix=netaddr.IPNetwork('192.0.2.0/24'))
duplicate_prefix = Prefix(vrf=vrf, prefix=netaddr.IPNetwork('192.0.2.0/24'))
self.assertRaises(ValidationError, duplicate_prefix.clean)
class TestIPAddress(TestCase):
fixtures = [
'dcim',
'ipam'
]
def test_create(self):
address = IPAddress.objects.create(
address=netaddr.IPNetwork('10.0.254.1/24'),
)
self.assertIsNone(address.clean())
@override_settings(ENFORCE_GLOBAL_UNIQUE=True)
@override_settings(ENFORCE_GLOBAL_UNIQUE=False)
def test_duplicate_global(self):
address = IPAddress.objects.create(
address=netaddr.IPNetwork('10.0.254.1/24'),
)
self.assertRaises(ValidationError, address.clean)
IPAddress.objects.create(address=netaddr.IPNetwork('192.0.2.1/24'))
duplicate_ip = IPAddress(address=netaddr.IPNetwork('192.0.2.1/24'))
self.assertIsNone(duplicate_ip.clean())
@override_settings(ENFORCE_GLOBAL_UNIQUE=True)
def test_duplicate_global_unique(self):
IPAddress.objects.create(address=netaddr.IPNetwork('192.0.2.1/24'))
duplicate_ip = IPAddress(address=netaddr.IPNetwork('192.0.2.1/24'))
self.assertRaises(ValidationError, duplicate_ip.clean)
def test_duplicate_vrf(self):
pfx_kwargs = {
"address": netaddr.IPNetwork('10.0.254.1/24'),
"status": 1,
"vrf": VRF.objects.create(name='Test', rd='1:1'),
}
IPAddress.objects.create(**pfx_kwargs)
dup_address = IPAddress.objects.create(**pfx_kwargs)
self.assertRaises(ValidationError, dup_address.clean)
vrf = VRF.objects.create(name='Test', rd='1:1', enforce_unique=False)
IPAddress.objects.create(vrf=vrf, address=netaddr.IPNetwork('192.0.2.1/24'))
duplicate_ip = IPAddress(vrf=vrf, address=netaddr.IPNetwork('192.0.2.1/24'))
self.assertIsNone(duplicate_ip.clean())
def test_duplicate_vrf_unique(self):
vrf = VRF.objects.create(name='Test', rd='1:1', enforce_unique=True)
IPAddress.objects.create(vrf=vrf, address=netaddr.IPNetwork('192.0.2.1/24'))
duplicate_ip = IPAddress(vrf=vrf, address=netaddr.IPNetwork('192.0.2.1/24'))
self.assertRaises(ValidationError, duplicate_ip.clean)