Browse Source

Flip ValuesMixin._values logic to handle/have key in all cases

pull/1113/head
Ross McFarland 2 years ago
parent
commit
1a5c9a2c5e
No known key found for this signature in database GPG Key ID: 943B179E15D3B22A
2 changed files with 11 additions and 11 deletions
  1. +7
    -7
      octodns/record/base.py
  2. +4
    -4
      tests/test_octodns_record.py

+ 7
- 7
octodns/record/base.py View File

@ -309,16 +309,16 @@ class ValuesMixin(object):
def _data(self):
ret = super()._data()
if len(self.values) > 1:
values = [getattr(v, 'data', v) for v in self.values if v]
if len(values) > 1:
ret['values'] = values
elif len(values) == 1:
ret['value'] = values[0]
elif len(self.values) == 1:
if len(self.values) == 1:
v = self.values[0]
if v:
ret['value'] = getattr(v, 'data', v)
else:
values = [getattr(v, 'data', v) for v in self.values if v]
if len(values) == 1:
ret['value'] = values[0]
else:
ret['values'] = values
return ret


+ 4
- 4
tests/test_octodns_record.py View File

@ -197,19 +197,19 @@ class TestRecord(TestCase):
)
def test_values_mixin_data(self):
# no values, no value or values in data
# empty values -> empty values in data
a = ARecord(self.zone, '', {'type': 'A', 'ttl': 600, 'values': []})
self.assertNotIn('values', a.data)
self.assertEqual([], a.data['values'])
# empty value, no value or values in data
b = ARecord(self.zone, '', {'type': 'A', 'ttl': 600, 'values': ['']})
self.assertNotIn('value', b.data)
# empty/None values, no value or values in data
# empty/None values -> empty values in data
c = ARecord(
self.zone, '', {'type': 'A', 'ttl': 600, 'values': ['', None]}
)
self.assertNotIn('values', c.data)
self.assertEqual([], a.data['values'])
# empty/None values and valid, value in data
c = ARecord(


Loading…
Cancel
Save