Browse Source

set default value for nsone cname to None, use first value if non-zero length

pull/136/head
Adam Smith 8 years ago
parent
commit
00aaa3bf4d
2 changed files with 36 additions and 1 deletions
  1. +5
    -1
      octodns/provider/ns1.py
  2. +31
    -0
      tests/test_octodns_provider_ns1.py

+ 5
- 1
octodns/provider/ns1.py View File

@ -69,10 +69,14 @@ class Ns1Provider(BaseProvider):
}
def _data_for_CNAME(self, _type, record):
try:
value = record['short_answers'][0]
except IndexError:
value = None
return {
'ttl': record['ttl'],
'type': _type,
'value': record['short_answers'][0],
'value': value,
}
_data_for_ALIAS = _data_for_CNAME


+ 31
- 0
tests/test_octodns_provider_ns1.py View File

@ -326,3 +326,34 @@ class TestNs1Provider(TestCase):
})
self.assertEquals(['foo; bar baz; blip'],
provider._params_for_TXT(record)['answers'])
def test_data_for_CNAME(self):
provider = Ns1Provider('test', 'api-key')
# answers from nsone
a_record = {
'ttl': 31,
'type': 'CNAME',
'short_answers': ['foo.unit.tests.']
}
a_expected = {
'ttl': 31,
'type': 'CNAME',
'value': 'foo.unit.tests.'
}
self.assertEqual(a_expected,
provider._data_for_CNAME(a_record['type'], a_record))
# no answers from nsone
b_record = {
'ttl': 32,
'type': 'CNAME',
'short_answers': []
}
b_expected = {
'ttl': 32,
'type': 'CNAME',
'value': None
}
self.assertEqual(b_expected,
provider._data_for_CNAME(b_record['type'], b_record))

Loading…
Cancel
Save