mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Fix MetaProcessor/Manager.include_meta where include_provider
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user