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

Implement populate exists for AzureProvider

This commit is contained in:
Ross McFarland
2018-01-21 14:49:20 -08:00
parent d693d2e99e
commit 720e8eb434
2 changed files with 10 additions and 3 deletions

View File

@@ -322,6 +322,8 @@ class AzureProvider(BaseProvider):
:type return: void :type return: void
''' '''
self.log.debug('populate: name=%s', zone.name) self.log.debug('populate: name=%s', zone.name)
exists = False
before = len(zone.records) before = len(zone.records)
zone_name = zone.name[:len(zone.name) - 1] zone_name = zone.name[:len(zone.name) - 1]
@@ -331,6 +333,7 @@ class AzureProvider(BaseProvider):
_records = set() _records = set()
records = self._dns_client.record_sets.list_by_dns_zone records = self._dns_client.record_sets.list_by_dns_zone
if self._check_zone(zone_name): if self._check_zone(zone_name):
exists = True
for azrecord in records(self._resource_group, zone_name): for azrecord in records(self._resource_group, zone_name):
if _parse_azure_type(azrecord.type) in self.SUPPORTS: if _parse_azure_type(azrecord.type) in self.SUPPORTS:
_records.add(azrecord) _records.add(azrecord)
@@ -344,7 +347,9 @@ class AzureProvider(BaseProvider):
record = Record.new(zone, record_name, data, source=self) record = Record.new(zone, record_name, data, source=self)
zone.add_record(record) 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 _data_for_A(self, azrecord): def _data_for_A(self, azrecord):
return {'values': [ar.ipv4_address for ar in azrecord.arecords]} return {'values': [ar.ipv4_address for ar in azrecord.arecords]}

View File

@@ -302,7 +302,8 @@ class TestAzureDnsProvider(TestCase):
record_list = provider._dns_client.record_sets.list_by_dns_zone record_list = provider._dns_client.record_sets.list_by_dns_zone
record_list.return_value = rs record_list.return_value = rs
provider.populate(zone) exists = provider.populate(zone)
self.assertTrue(exists)
self.assertEquals(len(zone.records), 16) self.assertEquals(len(zone.records), 16)
@@ -377,6 +378,7 @@ class TestAzureDnsProvider(TestCase):
_get = provider._dns_client.zones.get _get = provider._dns_client.zones.get
_get.side_effect = CloudError(Mock(status=404), err_msg) _get.side_effect = CloudError(Mock(status=404), err_msg)
provider.populate(Zone('unit3.test.', [])) exists = provider.populate(Zone('unit3.test.', []))
self.assertFalse(exists)
self.assertEquals(len(zone.records), 0) self.assertEquals(len(zone.records), 0)