From 76e330a7c373a1ba8f1552ba0ae289ca0e8b3055 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Mon, 25 Sep 2023 12:26:13 -0700 Subject: [PATCH] Add source parameter to Record.from_rrs --- octodns/record/base.py | 6 ++++-- tests/test_octodns_record.py | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/octodns/record/base.py b/octodns/record/base.py index a1b26b9..053d8dd 100644 --- a/octodns/record/base.py +++ b/octodns/record/base.py @@ -113,7 +113,7 @@ class Record(EqualityTupleMixin): return reasons @classmethod - def from_rrs(cls, zone, rrs, lenient=False): + def from_rrs(cls, zone, rrs, lenient=False, source=None): # group records by name & type so that multiple rdatas can be combined # into a single record when needed grouped = defaultdict(list) @@ -128,7 +128,9 @@ class Record(EqualityTupleMixin): name = zone.hostname_from_fqdn(rr.name) _class = cls._CLASSES[rr._type] data = _class.data_from_rrs(rrs) - record = Record.new(zone, name, data, lenient=lenient) + record = Record.new( + zone, name, data, lenient=lenient, source=source + ) records.append(record) return records diff --git a/tests/test_octodns_record.py b/tests/test_octodns_record.py index 4aaa989..204b4d1 100644 --- a/tests/test_octodns_record.py +++ b/tests/test_octodns_record.py @@ -159,10 +159,13 @@ class TestRecord(TestCase): ) zone = Zone('unit.tests.', []) - records = {(r._type, r.name): r for r in Record.from_rrs(zone, rrs)} + records = { + (r._type, r.name): r for r in Record.from_rrs(zone, rrs, source=99) + } record = records[('A', '')] self.assertEqual(42, record.ttl) self.assertEqual(['1.2.3.4', '2.3.4.5'], record.values) + self.assertEqual(99, record.source) record = records[('AAAA', '')] self.assertEqual(43, record.ttl) self.assertEqual(['fc00::1', 'fc00::2'], record.values)