mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Implement populate exists for CloudflareProvider
This commit is contained in:
@@ -173,9 +173,11 @@ class CloudflareProvider(BaseProvider):
|
||||
self.log.debug('populate: name=%s, target=%s, lenient=%s', zone.name,
|
||||
target, lenient)
|
||||
|
||||
exists = False
|
||||
before = len(zone.records)
|
||||
records = self.zone_records(zone)
|
||||
if records:
|
||||
exists = True
|
||||
values = defaultdict(lambda: defaultdict(list))
|
||||
for record in records:
|
||||
name = zone.hostname_from_fqdn(record['name'])
|
||||
@@ -196,8 +198,9 @@ class CloudflareProvider(BaseProvider):
|
||||
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 _include_change(self, change):
|
||||
if isinstance(change, Update):
|
||||
|
||||
@@ -147,6 +147,7 @@ class TestCloudflareProvider(TestCase):
|
||||
plan = provider.plan(self.expected)
|
||||
self.assertEquals(11, len(plan.changes))
|
||||
self.assertEquals(11, provider.apply(plan))
|
||||
self.assertFalse(plan.exists)
|
||||
|
||||
provider._request.assert_has_calls([
|
||||
# created the domain
|
||||
@@ -266,6 +267,7 @@ class TestCloudflareProvider(TestCase):
|
||||
# only see the delete & ttl update, below min-ttl is filtered out
|
||||
self.assertEquals(2, len(plan.changes))
|
||||
self.assertEquals(2, provider.apply(plan))
|
||||
self.assertTrue(plan.exists)
|
||||
# recreate for update, and deletes for the 2 parts of the other
|
||||
provider._request.assert_has_calls([
|
||||
call('PUT', '/zones/ff12ab34cd5611334422ab3322997650/dns_records/'
|
||||
|
||||
Reference in New Issue
Block a user