1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Implement populate exists for PowerDnsProvider

This commit is contained in:
Ross McFarland
2018-01-21 14:27:08 -08:00
parent 73c002f94c
commit d03e07c01c
2 changed files with 7 additions and 2 deletions

View File

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

View File

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