def test_create_soa_record(self): """Create an SOA record; return results object.""" type = 'SOA' ns = 'ns0.aethernet.local' email = 'postmaster' + self.dns_zone_name serial = 1 slave_refresh = 1800 slave_retry = 900 slave_expire = 302400 min_ttl = 43200 entry = '%s. %s. %s %s %s %s %s' % (ns, email, serial, slave_refresh, slave_retry, slave_expire, min_ttl) soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) result = soa.create(ns=ns, email=email, serial=serial, slave_refresh=slave_refresh, slave_retry=slave_retry, min_ttl=min_ttl, slave_expire=slave_expire)['data'] dn = '%s=%s,%s' % (self.dns_zone_name_attr, self.dns_zone_name, self.dns_base) dn_info = {self.dns_soa_attr: [entry]} expected_result = [(dn, dn_info)] self.assertEqual(result, expected_result)
def test_delete_soa_record(self): """Delete SOA record; return True.""" type = 'SOA' ns = 'ns0.aethernet.local' email = 'test.aethernet.local' soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) soa.create(ns, email) self.assertTrue(soa.delete(type))
def test_get_soa_record(self): """Create an SOA record; return an SOA record object.""" type = 'SOA' ns = 'ns0.aethernet.local' email = 'postmaster' + self.dns_zone_name entry = '%s. %s. %s %s %s %s %s' % ( ns, email, self.dns_serial_start, self.dns_slave_refresh, self.dns_slave_retry, self.dns_slave_expire, self.dns_min_ttl) soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) soa.create(ns=ns, email=email) result = soa.get(type)['data'] dn = '%s=%s,%s' % (self.dns_zone_name_attr, self.dns_zone_name, self.dns_base) dn_info = { 'objectClass': ['top', self.dns_zone_name_class], 'relativeDomainName': ['@'], 'zoneName': [self.dns_zone_name], self.dns_soa_attr: [entry] } expected_result = [(dn, dn_info)] self.assertEqual(result, expected_result)
def test_invalid_soa_record(self): """Create SOA record with a non-integer ttl; raise InputError.""" type = 'SOA' ns = 'ns0.aethernet.local' email = 'postmaster' + self.dns_zone_name ttl = 'A' soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) self.assertRaises(error.InputError, soa.create, ns=ns, email=email, min_ttl=ttl)
def test_get_soa_record(self): """Create an SOA record; return an SOA record object.""" type = 'SOA' ns = 'ns0.aethernet.local' email = 'postmaster' + self.dns_zone_name entry = '%s. %s. %s %s %s %s %s' % (ns, email, self.dns_serial_start, self.dns_slave_refresh, self.dns_slave_retry, self.dns_slave_expire, self.dns_min_ttl) soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) soa.create(ns=ns, email=email) result = soa.get(type)['data'] dn = '%s=%s,%s' % (self.dns_zone_name_attr, self.dns_zone_name, self.dns_base) dn_info = {'objectClass': ['top', self.dns_zone_name_class], 'relativeDomainName': ['@'], 'zoneName': [self.dns_zone_name], self.dns_soa_attr: [entry]} expected_result = [(dn, dn_info)] self.assertEqual(result, expected_result)
def test_create_soa_record_with_missing_email(self): """Create SOA record with a missing email; raise InputError.""" type = 'SOA' ns = 'ns0.aethernet.local' soa = SpokeDNSSOA(self.org_name, self.dns_zone_name) self.assertRaises(error.InputError, soa.create, ns=ns, email=None)