Browse Source

Implement populate exists for PowerDnsProvider

pull/177/head
Ross McFarland 8 years ago
parent
commit
d03e07c01c
No known key found for this signature in database GPG Key ID: 61C10C4FC8FE4A89
2 changed files with 7 additions and 2 deletions
  1. +5
    -2
      octodns/provider/powerdns.py
  2. +2
    -0
      tests/test_octodns_provider_powerdns.py

+ 5
- 2
octodns/provider/powerdns.py View File

@ -187,8 +187,10 @@ class PowerDnsBaseProvider(BaseProvider):
raise
before = len(zone.records)
exists = False
if resp:
exists = True
for rrset in resp.json()['rrsets']:
_type = rrset['type']
if _type == 'SOA':
@ -199,8 +201,9 @@ class PowerDnsBaseProvider(BaseProvider):
source=self, lenient=lenient)
zone.add_record(record)
self.log.info('populate: found %s records',
len(zone.records) - before)
self.log.info('populate: found %s records, exists=%s',
len(zone.records) - before, exists)
return exists
def _records_for_multiple(self, record):
return [{'content': v, 'disabled': False}


+ 2
- 0
tests/test_octodns_provider_powerdns.py View File

@ -106,6 +106,7 @@ class TestPowerDnsProvider(TestCase):
plan = provider.plan(expected)
self.assertEquals(expected_n, len(plan.changes))
self.assertEquals(expected_n, provider.apply(plan))
self.assertTrue(plan.exists)
# Non-existent zone -> creates for every record in expected
# OMG this is fucking ugly, probably better to ditch requests_mocks and
@ -124,6 +125,7 @@ class TestPowerDnsProvider(TestCase):
plan = provider.plan(expected)
self.assertEquals(expected_n, len(plan.changes))
self.assertEquals(expected_n, provider.apply(plan))
self.assertFalse(plan.exists)
with requests_mock() as mock:
# get 422's, unknown zone


Loading…
Cancel
Save