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:
@@ -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]}
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user