diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d32bd6..efc77c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ * Record.lenient property added similar to other common/standard _octodns data * Processor.process_source_and_target_zones added to support modifying both the desired and/or existing zones just prior to computing changes. +* Fix an issue in MetaProcessor/Manager.include_meta where include_provider + wasn't correctly taking effect ## v1.3.0 - 2023-11-14 - New and improved processors diff --git a/octodns/processor/meta.py b/octodns/processor/meta.py index 0389388..06ce614 100644 --- a/octodns/processor/meta.py +++ b/octodns/processor/meta.py @@ -111,13 +111,13 @@ class MetaProcessor(BaseProcessor): self.record_name, {'ttl': self.ttl, 'type': 'TXT', 'values': self.values}, # we may be passing in empty values here to be filled out later in - # process_target_zone + # process_source_and_target_zones lenient=True, ) desired.add_record(meta) return desired - def process_target_zone(self, existing, target): + def process_source_and_target_zones(self, desired, existing, target): if self.include_provider: # look for the meta record for record in sorted(existing.records): @@ -129,7 +129,7 @@ class MetaProcessor(BaseProcessor): existing.add_record(record, replace=True) break - return existing + return desired, existing def _up_to_date(self, change): # existing state, if there is one diff --git a/tests/test_octodns_processor_meta.py b/tests/test_octodns_processor_meta.py index c5af501..c5b5f78 100644 --- a/tests/test_octodns_processor_meta.py +++ b/tests/test_octodns_processor_meta.py @@ -124,12 +124,12 @@ class TestMetaProcessor(TestCase): self.assertEqual(self.meta_up_to_date, record) self.assertEqual(['time=the-time'], record.values) - def test_process_target_zone(self): + def test_process_source_and_target_zones(self): proc = MetaProcessor('test') # with defaults, not enabled zone = self.zone.copy() - processed = proc.process_target_zone(zone, None) + processed, _ = proc.process_source_and_target_zones(zone, zone, None) self.assertFalse(processed.records) # enable provider @@ -140,7 +140,9 @@ class TestMetaProcessor(TestCase): # enabled provider, no meta record, shouldn't happen, but also shouldn't # blow up - processed = proc.process_target_zone(zone, DummyTarget()) + processed, _ = proc.process_source_and_target_zones( + zone, zone, DummyTarget() + ) self.assertFalse(processed.records) # enabled provider, should now look for and update the provider value, @@ -150,7 +152,9 @@ class TestMetaProcessor(TestCase): zone = self.zone.copy() meta = self.meta_up_to_date.copy() zone.add_record(meta) - processed = proc.process_target_zone(zone, DummyTarget()) + processed, _ = proc.process_source_and_target_zones( + zone, zone, DummyTarget() + ) record = next(iter(processed.records)) self.assertEqual(['provider=dummy', 'time=xxx'], record.values) @@ -160,7 +164,9 @@ class TestMetaProcessor(TestCase): meta = self.meta_up_to_date.copy() zone.add_record(meta) zone.add_record(self.not_meta) - processed = proc.process_target_zone(zone, DummyTarget()) + processed, _ = proc.process_source_and_target_zones( + zone, zone, DummyTarget() + ) self.assertEqual(2, len(processed.records)) record = [r for r in processed.records if r.name == proc.record_name][0] self.assertEqual(['provider=dummy', 'time=xxx'], record.values)