Browse Source

Implement populate exists for CloudflareProvider

pull/177/head
Ross McFarland 8 years ago
parent
commit
1f40b98889
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/cloudflare.py
  2. +2
    -0
      tests/test_octodns_provider_cloudflare.py

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

@ -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):


+ 2
- 0
tests/test_octodns_provider_cloudflare.py View File

@ -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/'


Loading…
Cancel
Save