def test_fqdn_of_alias_w_domain(self):
     """Test alias name refs parent name, without zone."""
     record = DnsRecord('com', 'www.example', '1.2.3.4')
     alias = DnsRecord('com', 'jopka.www.example', record)
     self.assertEqual(alias.fqdn, "jopka.www.example.com")
     self.assertEqual(str(alias), "jopka.www.example "
                      "IN CNAME www.example")
 def test_search_method(self):
     """Test search method."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = record.add_alias('mainserver.example.com')
     alias.add_subdomain('dev')
     result = record.search('dev.mainserver.example.com')
     self.assertEqual(result.fqdn, 'dev.mainserver.example.com')
 def test_dns_alias_str_third_lvl(self):
     """Test dns alias of alias string."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = DnsRecord('com', 'www.example.com', record)
     second_alias = DnsRecord('com', 'john.example.com', alias)
     self.assertEqual(str(second_alias),
                      "john.example IN CNAME www.example")
 def test_alias_to_subdomain(self):
     """Test alias to subdomain works."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     subdomain = record.add_subdomain('dev')
     alias = subdomain.add_alias('mainserver.example.com')
     self.assertEqual(str(alias), "mainserver.example IN "
                      "CNAME dev.example")
 def test_fqdn_of_alias_alias(self):
     """Test fqnd of alias of alias."""
     record = DnsRecord('com', 'example', '1.2.3.4')
     alias1 = DnsRecord('com', 'server.example', record)
     alias2 = DnsRecord('com', 'dev.server.example', alias1)
     self.assertEqual(alias2.fqdn, "dev.server.example.com")
     self.assertEqual(str(alias2), "dev.server.example IN CNAME "
                      "server.example")
 def test_subdomain_to_alias(self):
     """Test subdomain to alias."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = record.add_alias('mainserver.example.com')
     subdomain = alias.add_subdomain('dev')
     self.assertEqual(
         str(subdomain), "dev.mainserver.example IN "
         "CNAME mainserver.example")
 def test_add_alias(self):
     """Test add_alias_method."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = record.add_alias('www.example.com')
     self.assertEqual(str(alias), "www.example IN CNAME example")
     megaserver_alias = alias.add_alias('megaserver.com')
     self.assertEqual(str(megaserver_alias),
                      "megaserver IN CNAME www.example")
 def test_add_subdomain(self):
     """Test subdomain method."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = record.add_subdomain('dev')
     self.assertEqual(str(alias), "dev.example IN CNAME example")
     alias_to_alias = alias.add_subdomain('www')
     self.assertEqual(str(alias_to_alias), "www.dev.example IN "
                      "CNAME dev.example")
Exemple #9
0
 def add_alias(self, alias_record):
     """Add alias to builder."""
     new_record = DotConfig(alias_record)
     name = new_record.hostname
     refs = new_record.address
     result = self.search_record(refs)
     if result:
         return result.add_alias(name)
     elif self._is_not_stored(name):
         alias = DnsRecord(self.zone, name, DnsRecord(self.zone, refs, ''))
         self._aliases_without_ref[refs] = alias
         return alias
 def test_constructor(self):
     """Test class constructor."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     self.assertTrue(hasattr(record, 'zone'))
     self.assertTrue(hasattr(record, 'domain_name'))
     self.assertTrue(hasattr(record, 'references_to'))
     self.assertTrue(hasattr(record, 'fqdn'))
     self.assertTrue(hasattr(record, 'add_alias'))
Exemple #11
0
    def add_record(self, record):
        """Add record to builder."""
        new_record = DotConfig(record)

        fqdn = new_record.hostname + '.' + self.zone
        domain_name = new_record.hostname
        address = new_record.address
        if fqdn not in self._records:
            self._records[fqdn] = DnsRecord(self.zone, domain_name, address)
            if fqdn in self._aliases_without_ref:
                alias = self._aliases_without_ref[fqdn]
                del self._aliases_without_ref[fqdn]
                self._records[fqdn].add_alias(alias.domain_name)

        else:
            self._records[fqdn].add_references(address)
 def test_str_method(self):
     """Test str method."""
     record = DnsRecord('com', 'example', '1.2.3.4')
     self.assertEqual(str(record), "example IN A 1.2.3.4")
 def test_ref_to_list_of_one(self):
     """Ref to list of one ip."""
     record = DnsRecord('com', 'example.com', ['1.2.3.4'])
     self.assertEqual(str(record), "example IN A 1.2.3.4")
 def test_dns_alias_str(self):
     """Test dns alias string."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     alias = DnsRecord('com', 'www.example.com', record)
     self.assertEqual(str(alias), "www.example IN CNAME example")
 def test_search_same_record(self):
     """Test search same record."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     same_record = record.search('example.com')
     self.assertEqual(record, same_record)
     self.assertEqual(id(record), id(same_record))
 def test_search_not_found(self):
     """Test search and not found."""
     record = DnsRecord('com', 'example.com', '1.2.3.4')
     with self.assertRaises(DnsRecordNotFound):
         record.search('some.data')
 def testzone_with_dot(self):
     """Test zone with dot."""
     record = DnsRecord('.com', 'www.example.com', '1.2.3.4')
     self.assertEqual(str(record), "www.example IN A 1.2.3.4")
     self.assertEqual(record.zone, "com")
 def test_constructor_fails(self):
     """Test constructor fails with not str, list."""
     with self.assertRaises(InvalidReferencesException):
         DnsRecord('com', 'example.com', 10)
 def test_fqdn_of_alias(self):
     """Test fqnd of alias."""
     record = DnsRecord('com', 'www.example', '1.2.3.4')
     alias = DnsRecord('com', 'jopka', record)
     self.assertEqual(alias.fqdn, "jopka.com")
 def test_fqdn_without_zone(self):
     """Test fqdn without zone."""
     record = DnsRecord('com', 'www.example', '1.2.3.4')
     self.assertEqual(record.fqdn, "www.example.com")
 def test_ref_to_list_of_two(self):
     """Ref to list of two ip."""
     record = DnsRecord('com', 'example.com', ['1.2.3.4', '5.6.7.8'])
     self.assertEqual(str(record), "example IN A 1.2.3.4\n"
                      "example IN A 5.6.7.8")
 def test_name_with_zone(self):
     """Test domain name with fqdn."""
     record = DnsRecord('com', 'www.example.com', '1.2.3.4')
     self.assertEqual(record.zone, "com")
     self.assertEqual(record.domain_name, "www.example")
     self.assertEqual(str(record), "www.example IN A 1.2.3.4")