class NameServerDeletionTestCase(TestCase): """This class defines the test suite for the NameServer model.""" def setUp(self): """Define the test client and other test variables.""" self.zone_sample = ForwardZone(name='example.org', primary_ns='ns.example.org', email='*****@*****.**') clean_and_save(self.zone_sample) self.zone_1010 = ReverseZone(name='10.10.in-addr.arpa', primary_ns='ns.example.org', email='*****@*****.**') clean_and_save(self.zone_1010) self.network_sample = Network(range='10.0.0.0/24', description='some description') clean_and_save(self.network_sample) self.ns_hostsample = Host(name='ns.example.org', contact='*****@*****.**') clean_and_save(self.ns_hostsample) self.ns_hostip = Ipaddress(host=self.ns_hostsample, ipaddress='10.0.0.111') clean_and_save(self.ns_hostip) self.ns_sample = NameServer(name='ns.example.org', ttl=300) clean_and_save(self.ns_sample) self.zone_sample.nameservers.add(self.ns_sample) self.zone_sample.save() def test_model_cant_delete_ns_host(self): """Test that it won't delete nameserver host-object if in use in a zone""" with self.assertRaises(PermissionDenied): self.ns_hostsample.delete() def test_model_cant_delete_ns_hostip(self): """Test that it won't delete nameserver with only 1 IP if in use in a zone""" with self.assertRaises(PermissionDenied): self.ns_hostip.delete() def test_model_can_delete_ns_hostip(self): """Test that the model is able to delete an IP from a nameserver, if nameserver has multiple IPs.""" self.ns_hostip2 = Ipaddress(host=self.ns_hostsample, ipaddress='10.0.0.112') clean_and_save(self.ns_hostip2) old_count = Ipaddress.objects.count() self.ns_hostip2.delete() new_count = Ipaddress.objects.count() self.assertNotEqual(old_count, new_count)
class ModelIpaddressTestCase(TestCase): """This class defines the test suite for the Ipaddress model.""" def setUp(self): """Define the test client and other test variables.""" # Needs sample host and sample network to test properly self.host_one = Host(name='some-host.example.org', contact='*****@*****.**', ttl=300, loc='23 58 23 N 10 43 50 E 80m', comment='some comment') self.network_sample = Network(range='129.240.202.0/20', description='some description', vlan=123, dns_delegated=False) clean_and_save(self.host_one) # clean_and_save(self.network_sample) # Needed when network ForeignKey is implemented. self.ipaddress_sample = Ipaddress(host=Host.objects.get(name='some-host.example.org'), ipaddress='129.240.202.123', macaddress='a4:34:d9:0e:88:b9') def test_model_can_create_ipaddress(self): """Test that the model is able to create an IP Address.""" old_count = Ipaddress.objects.count() clean_and_save(self.ipaddress_sample) new_count = Ipaddress.objects.count() self.assertNotEqual(old_count, new_count) def test_model_can_change_ipaddress(self): """Test that the model is able to change an IP Address.""" clean_and_save(self.ipaddress_sample) new_ipaddress = '129.240.202.124' self.ipaddress_sample.ipaddress = new_ipaddress clean_and_save(self.ipaddress_sample) updated_ipaddress = Ipaddress.objects.filter(host__name='some-host.example.org')[0].ipaddress self.assertEqual(new_ipaddress, updated_ipaddress) def test_model_can_delete_ipaddress(self): """Test that the model is able to delete an IP Address.""" clean_and_save(self.ipaddress_sample) old_count = Ipaddress.objects.count() self.ipaddress_sample.delete() new_count = Ipaddress.objects.count() self.assertNotEqual(old_count, new_count)
class ModelIpaddressTestCase(TestCase): """This class defines the test suite for the Ipaddress model.""" def setUp(self): """Define the test client and other test variables.""" # Needs sample host and sample network to test properly self.host = Host.objects.create(name='host.example.org') self.ipaddress_sample = Ipaddress(host=self.host, ipaddress='192.168.202.123', macaddress='a4:34:d9:0e:88:b9') self.ipv6address_sample = Ipaddress(host=self.host, ipaddress='2001:db8::beef', macaddress='a4:34:d9:0e:88:b9') def test_model_can_create_ipaddress(self): """Test that the model is able to create an IP Address.""" old_count = Ipaddress.objects.count() clean_and_save(self.ipaddress_sample) new_count = Ipaddress.objects.count() self.assertLess(old_count, new_count) str(self.ipaddress_sample) def test_model_can_create_ipv6address(self): """Test that the model is able to create an IPv6 Address.""" old_count = Ipaddress.objects.count() clean_and_save(self.ipv6address_sample) new_count = Ipaddress.objects.count() self.assertLess(old_count, new_count) def test_model_can_change_ipaddress(self): """Test that the model is able to change an IP Address.""" clean_and_save(self.ipaddress_sample) new_ipaddress = '192.168.202.124' self.ipaddress_sample.ipaddress = new_ipaddress clean_and_save(self.ipaddress_sample) updated_ipaddress = Ipaddress.objects.get(host=self.host).ipaddress self.assertEqual(new_ipaddress, updated_ipaddress) def test_model_can_change_ipv6address(self): """Test that the model is able to change an IPv6 Address.""" clean_and_save(self.ipv6address_sample) new_ipv6address = '2001:db8::feed' self.ipv6address_sample.ipaddress = new_ipv6address clean_and_save(self.ipv6address_sample) updated_ipv6address = Ipaddress.objects.get(host=self.host).ipaddress self.assertEqual(new_ipv6address, updated_ipv6address) def test_model_can_delete_ipaddress(self): """Test that the model is able to delete an IP Address.""" clean_and_save(self.ipaddress_sample) old_count = Ipaddress.objects.count() self.ipaddress_sample.delete() new_count = Ipaddress.objects.count() self.assertGreater(old_count, new_count) def test_model_can_delete_ipv6address(self): """Test that the model is able to delete an IPv6 Address.""" clean_and_save(self.ipv6address_sample) old_count = Ipaddress.objects.count() self.ipv6address_sample.delete() new_count = Ipaddress.objects.count() self.assertGreater(old_count, new_count)