Browse Source

Switch MetaProcessor.include_extra to k=v

pull/1191/head
Ross McFarland 1 year ago
parent
commit
af86e9b0d1
No known key found for this signature in database GPG Key ID: 943B179E15D3B22A
2 changed files with 21 additions and 11 deletions
  1. +9
    -6
      octodns/processor/meta.py
  2. +12
    -5
      tests/test_octodns_processor_meta.py

+ 9
- 6
octodns/processor/meta.py View File

@ -62,9 +62,8 @@ class MetaProcessor(BaseProcessor):
# Extra values to set on the records
# (default: None)
#include_extra:
# - key=val
# - foo=bar
# - arbitrary string
# key: val
# foo: env/BAR
'''
@classmethod
@ -103,7 +102,11 @@ class MetaProcessor(BaseProcessor):
self.uuid = self.get_uuid() if include_uuid else None
self.include_version = include_version
self.include_provider = include_provider
self.include_extra = include_extra
self.include_extra = (
[f'{key}={val}' for key, val in include_extra.items()]
if include_extra is not None
else []
)
self.ttl = ttl
def values(self, target_id):
@ -116,8 +119,8 @@ class MetaProcessor(BaseProcessor):
ret.append(f'time={self.time}')
if self.uuid:
ret.append(f'uuid={self.uuid}')
if self.include_extra is not None:
ret.extend(self.include_extra)
# these were previously converted into key=value or will otherwise be []
ret.extend(self.include_extra)
return ret
def process_source_and_target_zones(self, desired, existing, target):


+ 12
- 5
tests/test_octodns_processor_meta.py View File

@ -116,7 +116,7 @@ class TestMetaProcessor(TestCase):
self.assertFalse(proc.time)
self.assertFalse(proc.include_provider)
self.assertFalse(proc.include_version)
self.assertIsNone(proc.include_extra)
self.assertEqual([], proc.include_extra)
values = list(proc.values('dummy'))
self.assertEqual(1, len(values))
@ -124,17 +124,24 @@ class TestMetaProcessor(TestCase):
self.assertEqual(f'uuid={proc.uuid}', value)
def test_extra(self):
extra = ['one', 'two=three', 'four', 'five six']
extra = {'key': 'value', 'foo': 'bar', 'baz': 42}
expected = ['key=value', 'foo=bar', 'baz=42']
proc = MetaProcessor('test', include_time=False, include_extra=extra)
self.assertEqual(extra, proc.include_extra)
self.assertEqual(expected, proc.include_extra)
self.assertFalse(proc.include_provider)
self.assertFalse(proc.include_version)
self.assertFalse(proc.time)
self.assertFalse(proc.uuid)
values = list(proc.values('dummy'))
self.assertEqual(4, len(values))
self.assertEqual(extra, values)
self.assertEqual(3, len(values))
self.assertEqual(expected, values)
# other param values
proc = MetaProcessor('test', include_time=False, include_extra=None)
self.assertEqual([], proc.include_extra)
proc = MetaProcessor('test', include_time=False, include_extra={})
self.assertEqual([], proc.include_extra)
def test_is_up_to_date_meta(self):
proc = MetaProcessor('test')


Loading…
Cancel
Save