Browse Source

Add record targets normalizaltion

pull/619/head
Jonathan Leroy 5 years ago
parent
commit
b280449969
No known key found for this signature in database GPG Key ID: 7A0BCBE3934842EA
3 changed files with 21 additions and 4 deletions
  1. +8
    -0
      octodns/provider/gandi.py
  2. +9
    -0
      tests/fixtures/gandi-records.json
  3. +4
    -4
      tests/test_octodns_provider_gandi.py

+ 8
- 0
octodns/provider/gandi.py View File

@ -87,6 +87,14 @@ class GandiClient(object):
if record['rrset_name'] == '@':
record['rrset_name'] = ''
# Change relative targets to absolute ones.
if record['rrset_type'] in ['ALIAS', 'CNAME', 'DNAME', 'MX',
'NS', 'SRV']:
for i, value in enumerate(record['rrset_values']):
if not value.endswith('.'):
record['rrset_values'][i] = '{}.{}.'.format(
value, zone_name)
return records
def record_create(self, zone_name, data):


tests/fixtures/gandi-default-zone.json → tests/fixtures/gandi-records.json View File


+ 4
- 4
tests/test_octodns_provider_gandi.py View File

@ -126,19 +126,19 @@ class TestGandiProvider(TestCase):
with requests_mock() as mock:
base = 'https://api.gandi.net/v5/livedns/domains/unit.tests' \
'/records'
with open('tests/fixtures/gandi-default-zone.json') as fh:
with open('tests/fixtures/gandi-records.json') as fh:
mock.get(base, text=fh.read())
zone = Zone('unit.tests.', [])
provider.populate(zone)
self.assertEquals(10, len(zone.records))
self.assertEquals(11, len(zone.records))
changes = self.expected.changes(zone, provider)
self.assertEquals(22, len(changes))
self.assertEquals(23, len(changes))
# 2nd populate makes no network calls/all from cache
again = Zone('unit.tests.', [])
provider.populate(again)
self.assertEquals(10, len(again.records))
self.assertEquals(11, len(again.records))
# bust the cache
del provider._zone_records[zone.name]


Loading…
Cancel
Save