diff --git a/octodns/record/base.py b/octodns/record/base.py index 9bbb9aa..3b9b36e 100644 --- a/octodns/record/base.py +++ b/octodns/record/base.py @@ -328,7 +328,10 @@ class ValuesMixin(object): def __repr__(self): values = "', '".join([str(v) for v in self.values]) klass = self.__class__.__name__ - return f"<{klass} {self._type} {self.ttl}, {self.decoded_fqdn}, ['{values}']>" + octodns = '' + if self._octodns: + octodns = f', {self._octodns}' + return f"<{klass} {self._type} {self.ttl}, {self.decoded_fqdn}, ['{values}']{octodns}>" class ValueMixin(object): @@ -371,4 +374,7 @@ class ValueMixin(object): def __repr__(self): klass = self.__class__.__name__ - return f'<{klass} {self._type} {self.ttl}, {self.decoded_fqdn}, {self.value}>' + octodns = '' + if self._octodns: + octodns = f', {self._octodns}' + return f'<{klass} {self._type} {self.ttl}, {self.decoded_fqdn}, {self.value}{octodns}>' diff --git a/tests/test_octodns_record.py b/tests/test_octodns_record.py index a6d27b7..abd886d 100644 --- a/tests/test_octodns_record.py +++ b/tests/test_octodns_record.py @@ -654,3 +654,51 @@ class TestRecordValidation(TestCase): ), ) self.assertEqual('needle', record.context) + + def test_values_mixin_repr(self): + # ValuesMixin + record = Record.new( + self.zone, + 'www', + { + 'ttl': 42, + 'type': 'A', + 'values': ['1.2.3.4', '2.3.4.5'], + 'octodns': {'key': 'value'}, + }, + ) + # has the octodns special section + self.assertEqual( + "", + record.__repr__(), + ) + # no special section + record._octodns = {} + self.assertEqual( + "", + record.__repr__(), + ) + + def test_value_mixin_repr(self): + # ValueMixin + record = Record.new( + self.zone, + 'pointer', + { + 'ttl': 43, + 'type': 'CNAME', + 'value': 'unit.tests.', + 'octodns': {'key': 42}, + }, + ) + # has the octodns special section + self.assertEqual( + "", + record.__repr__(), + ) + # no special section + record._octodns = {} + self.assertEqual( + '', + record.__repr__(), + )