1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Implement Record.rrs

This commit is contained in:
Ross McFarland
2022-09-22 20:26:25 -07:00
parent b3c374257b
commit 7f0cfb08a2
2 changed files with 33 additions and 0 deletions

View File

@@ -417,6 +417,15 @@ class ValuesMixin(object):
return ret
@property
def rrs(self):
return (
self.fqdn,
self._type,
self.ttl,
[v.rdata_text for v in self.values],
)
def __repr__(self):
values = "', '".join([str(v) for v in self.values])
klass = self.__class__.__name__
@@ -510,6 +519,10 @@ class ValueMixin(object):
ret['value'] = getattr(self.value, 'data', self.value)
return ret
@property
def rrs(self):
return self.fqdn, self._type, self.ttl, [self.value.rdata_text]
def __repr__(self):
klass = self.__class__.__name__
return f'<{klass} {self._type} {self.ttl}, {self.decoded_fqdn}, {self.value}>'

View File

@@ -2508,6 +2508,26 @@ class TestRecord(TestCase):
# nothing much to test, just make sure that things don't blow up
Rr('name', 'type', 42, 'Hello World!').__repr__()
zone = Zone('unit.tests.', [])
record = Record.new(
zone,
'a',
{'ttl': 42, 'type': 'A', 'values': ['1.2.3.4', '2.3.4.5']},
)
self.assertEqual(
('a.unit.tests.', 'A', 42, ['1.2.3.4', '2.3.4.5']), record.rrs
)
record = Record.new(
zone,
'cname',
{'ttl': 43, 'type': 'CNAME', 'value': 'target.unit.tests.'},
)
self.assertEqual(
('cname.unit.tests.', 'CNAME', 43, ['target.unit.tests.']),
record.rrs,
)
class TestRecordValidation(TestCase):
zone = Zone('unit.tests.', [])