def setUp(self): Task.objects.all().delete() for soa in SOA.objects.all(): delete_zone_helper(soa.root_domain.name) Domain.objects.get_or_create(name="arpa") Domain.objects.get_or_create(name="in-addr.arpa") self.r1, _ = Domain.objects.get_or_create(name="10.in-addr.arpa") Domain.objects.get_or_create(name="com") Domain.objects.get_or_create(name="mozilla.com") self.cleint = Client() # Build file system assets self.stage_dir = '{0}/stage/inv_zones/'.format(TEST_PREFIX) self.svn_dir = '{0}/dnsconfig/'.format(TEST_PREFIX) self.prod_dir = '{0}/dnsconfig/inv_zones/'.format(TEST_PREFIX) self.prod_dir2 = '{0}/dnsconfig/inv_zones2/'.format(TEST_PREFIX) self.svn_repo = '{0}/svn_repo'.format(TEST_PREFIX) self.lock_file = '{0}/lock.fake'.format(TEST_PREFIX) self.stop_update = '{0}/stop.update'.format(TEST_PREFIX) self.re_test_file = '{0}/re_test'.format(TEST_PREFIX) #os.chdir(os.path.join(TEST_PREFIX, "..")) if os.path.isdir(TEST_PREFIX): shutil.rmtree(TEST_PREFIX) os.makedirs(TEST_PREFIX) #os.makedirs(self.svn_repo) command_str = "svnadmin create {0}".format(self.svn_repo) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr) command_str = "svn co file://{0} {1}".format(self.svn_repo, self.prod_dir) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr) command_str = "svn co file://{0} {1}".format(self.svn_repo, self.prod_dir2) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr)
def setUp(self): Task.objects.all().delete() for soa in SOA.objects.all(): delete_zone_helper(soa.root_domain.name) Domain.objects.get_or_create(name="arpa") Domain.objects.get_or_create(name="in-addr.arpa") self.r1, _ = Domain.objects.get_or_create(name="10.in-addr.arpa") Domain.objects.get_or_create(name="com") Domain.objects.get_or_create(name="mozilla.com") self.cleint = Client() # Build file system assets self.stage_dir = '{0}/stage/inv_zones/'.format(TEST_PREFIX) self.svn_dir = '{0}/dnsconfig/'.format(TEST_PREFIX) self.prod_dir = '{0}/dnsconfig/inv_zones/'.format(TEST_PREFIX) self.prod_dir2 = '{0}/dnsconfig/inv_zones2/'.format(TEST_PREFIX) self.svn_repo = '{0}/svn_repo'.format(TEST_PREFIX) self.lock_file = '{0}/lock.fake'.format(TEST_PREFIX) self.stop_update = '{0}/stop.update'.format(TEST_PREFIX) self.re_test_file = '{0}/re_test'.format(TEST_PREFIX) #os.chdir(os.path.join(TEST_PREFIX, "..")) if os.path.isdir(TEST_PREFIX): shutil.rmtree(TEST_PREFIX) os.makedirs(TEST_PREFIX) #os.makedirs(self.svn_repo) command_str = "svnadmin create {0}".format(self.svn_repo) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr) command_str = "svn co file://{0} {1}".format(self.svn_repo, self.prod_dir) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr) command_str = "svn co file://{0} {1}".format(self.svn_repo, self.prod_dir2) rets = subprocess.Popen(shlex.split(command_str), stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout, stderr = rets.communicate() self.assertEqual(0, rets.returncode, stderr)
def test_delete_hanging_domain_1(self): # What happens when there is a domain hanging off the root_domain that # isn't in the zone root_domain = create_fake_zone('foo1.mozilla.com', suffix="") domain_name = root_domain.name hang_domain = Domain.objects.create(name='bar.foo1.mozilla.com') self.assertFalse(hang_domain.soa) in_domain = Domain.objects.create( name='baz.foo1.mozilla.com', soa=root_domain.soa ) in_domain_name = in_domain.name self.assertTrue(root_domain.has_record_set()) delete_zone_helper(domain_name) self.assertFalse(root_domain.has_record_set()) self.assertFalse(Domain.objects.filter(name__contains=in_domain_name)) self.assertTrue(Domain.objects.filter(name__contains=root_domain.name)) self.assertTrue(Domain.objects.filter(name__contains=hang_domain.name))
def test_delete_hanging_domain_2(self): # What happens when there is a domain hanging off the root_domain that # isn't in the zone root_domain = create_fake_zone('foo2.mozilla.com', suffix="") d1 = Domain.objects.create( name='bar.foo2.mozilla.com', soa=root_domain.soa ) soa2 = SOA.objects.create( primary='foo.com', contact='foo', description='foo' ) d2 = Domain.objects.create(name='baz.bar.foo2.mozilla.com', soa=soa2) root_domain_name = root_domain.name d1_domain_name = d1.name d2_domain_name = d2.name self.assertTrue(root_domain.has_record_set()) delete_zone_helper(root_domain_name) self.assertFalse(root_domain.has_record_set()) self.assertTrue(Domain.objects.get(name=root_domain_name)) self.assertTrue(Domain.objects.get(name=d1_domain_name)) d2 = Domain.objects.get(name=d2_domain_name) self.assertEquals(d2.soa, soa2)
def delete_zone(): try: return delete_zone_helper(domain_name) except ValidationError, e: transaction.rollback() return {'success': False, 'message': e.messages}
def test_delete(self): root_domain = create_fake_zone('foo.mozilla.com', suffix="") domain_name = root_domain.name delete_zone_helper(domain_name) self.assertFalse(Domain.objects.filter(name__contains=domain_name))