mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
create/copy test with delegation set support
This commit is contained in:
@@ -370,6 +370,16 @@ class TestRoute53Provider(TestCase):
|
||||
|
||||
return (provider, stubber)
|
||||
|
||||
def _get_stubbed_delegation_set_provider(self):
|
||||
provider = Route53Provider('test', 'abc', '123',
|
||||
delegation_set_id="ABCDEFG123456")
|
||||
|
||||
# Use the stubber
|
||||
stubber = Stubber(provider._conn)
|
||||
stubber.activate()
|
||||
|
||||
return (provider, stubber)
|
||||
|
||||
def _get_stubbed_fallback_auth_provider(self):
|
||||
provider = Route53Provider('test')
|
||||
|
||||
@@ -913,6 +923,92 @@ class TestRoute53Provider(TestCase):
|
||||
self.assertEquals(9, provider.apply(plan))
|
||||
stubber.assert_no_pending_responses()
|
||||
|
||||
def test_sync_create_with_delegation_set(self):
|
||||
provider, stubber = self._get_stubbed_delegation_set_provider()
|
||||
|
||||
got = Zone('unit.tests.', [])
|
||||
|
||||
list_hosted_zones_resp = {
|
||||
'HostedZones': [],
|
||||
'Marker': 'm',
|
||||
'IsTruncated': False,
|
||||
'MaxItems': '100',
|
||||
}
|
||||
stubber.add_response('list_hosted_zones', list_hosted_zones_resp,
|
||||
{})
|
||||
|
||||
plan = provider.plan(self.expected)
|
||||
self.assertEquals(9, len(plan.changes))
|
||||
self.assertFalse(plan.exists)
|
||||
for change in plan.changes:
|
||||
self.assertIsInstance(change, Create)
|
||||
stubber.assert_no_pending_responses()
|
||||
|
||||
create_hosted_zone_resp = {
|
||||
'HostedZone': {
|
||||
'Name': 'unit.tests.',
|
||||
'Id': 'z42',
|
||||
'CallerReference': 'abc',
|
||||
},
|
||||
'ChangeInfo': {
|
||||
'Id': 'a12',
|
||||
'Status': 'PENDING',
|
||||
'SubmittedAt': '2017-01-29T01:02:03Z',
|
||||
'Comment': 'hrm',
|
||||
},
|
||||
'DelegationSet': {
|
||||
'Id': 'b23',
|
||||
'CallerReference': 'blip',
|
||||
'NameServers': [
|
||||
'n12.unit.tests.',
|
||||
],
|
||||
},
|
||||
'Location': 'us-east-1',
|
||||
}
|
||||
stubber.add_response('create_hosted_zone',
|
||||
create_hosted_zone_resp, {
|
||||
'Name': got.name,
|
||||
'CallerReference': ANY,
|
||||
'DelegationSetId': 'ABCDEFG123456'
|
||||
})
|
||||
|
||||
list_resource_record_sets_resp = {
|
||||
'ResourceRecordSets': [{
|
||||
'Name': 'a.unit.tests.',
|
||||
'Type': 'A',
|
||||
'GeoLocation': {
|
||||
'ContinentCode': 'NA',
|
||||
},
|
||||
'ResourceRecords': [{
|
||||
'Value': '2.2.3.4',
|
||||
}],
|
||||
'TTL': 61,
|
||||
}],
|
||||
'IsTruncated': False,
|
||||
'MaxItems': '100',
|
||||
}
|
||||
stubber.add_response('list_resource_record_sets',
|
||||
list_resource_record_sets_resp,
|
||||
{'HostedZoneId': 'z42'})
|
||||
|
||||
stubber.add_response('list_health_checks',
|
||||
{
|
||||
'HealthChecks': self.health_checks,
|
||||
'IsTruncated': False,
|
||||
'MaxItems': '100',
|
||||
'Marker': '',
|
||||
})
|
||||
|
||||
stubber.add_response('change_resource_record_sets',
|
||||
{'ChangeInfo': {
|
||||
'Id': 'id',
|
||||
'Status': 'PENDING',
|
||||
'SubmittedAt': '2017-01-29T01:02:03Z',
|
||||
}}, {'HostedZoneId': 'z42', 'ChangeBatch': ANY})
|
||||
|
||||
self.assertEquals(9, provider.apply(plan))
|
||||
stubber.assert_no_pending_responses()
|
||||
|
||||
def test_health_checks_pagination(self):
|
||||
provider, stubber = self._get_stubbed_provider()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user