Browse Source

Fix MetaProcessor/Manager.include_meta where include_provider

pull/1111/head
Ross McFarland 2 years ago
parent
commit
e612e2b885
No known key found for this signature in database GPG Key ID: 943B179E15D3B22A
3 changed files with 16 additions and 8 deletions
  1. +2
    -0
      CHANGELOG.md
  2. +3
    -3
      octodns/processor/meta.py
  3. +11
    -5
      tests/test_octodns_processor_meta.py

+ 2
- 0
CHANGELOG.md View File

@ -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


+ 3
- 3
octodns/processor/meta.py View File

@ -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


+ 11
- 5
tests/test_octodns_processor_meta.py View File

@ -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)


Loading…
Cancel
Save