def test_duplicate_vrf(self): 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_not_null_assigned_object_type_and_null_assigned_object_id(self): site = Site.objects.create(name="Test Site 1", slug="test-site-1") manufacturer = Manufacturer.objects.create(name="Test Manufacturer 1", slug="test-manufacturer-1") devicetype = DeviceType.objects.create( manufacturer=manufacturer, model="Test Device Type 1", slug="test-device-type-1", ) devicerole = DeviceRole.objects.create(name="Test Device Role 1", slug="test-device-role-1", color="ff0000") device_status = Status.objects.get_for_model(Device).get(slug="active") device = Device.objects.create( device_type=devicetype, device_role=devicerole, name="TestDevice1", site=site, status=device_status, ) interface = Interface.objects.create(device=device, name="eth0") ipaddress_1 = IPAddress( address=netaddr.IPNetwork("192.0.2.1/24"), role=IPAddressRoleChoices.ROLE_VIP, assigned_object_id=interface.id, ) self.assertRaises(ValidationError, ipaddress_1.clean) # Test IPAddress.clean() raises no exception if assigned_object_id and assigned_object_type # are both provided ipaddress_2 = IPAddress( address=netaddr.IPNetwork("192.0.2.1/24"), role=IPAddressRoleChoices.ROLE_VIP, assigned_object_id=interface.id, assigned_object_type=ContentType.objects.get_for_model(Interface), ) self.assertIsNone(ipaddress_2.clean())
def test_duplicate_global(self): 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())