mirror of
				https://github.com/github/octodns.git
				synced 2024-05-11 05:55:00 +00:00 
			
		
		
		
	Add test for Route53Provider geo -> plain conversion
This commit is contained in:
		@@ -500,6 +500,70 @@ class TestRoute53Provider(TestCase):
 | 
			
		||||
        self.assertEquals(1, provider.apply(plan))
 | 
			
		||||
        stubber.assert_no_pending_responses()
 | 
			
		||||
 | 
			
		||||
        # Update converting to non-geo by monkey patching in a populate that
 | 
			
		||||
        # modifies the A record with geos
 | 
			
		||||
        def mod_add_geo_populate(existing, target):
 | 
			
		||||
            for record in self.expected.records:
 | 
			
		||||
                if record._type != 'A' or record.geo:
 | 
			
		||||
                    existing.records.add(record)
 | 
			
		||||
            record = Record.new(existing, 'simple', {
 | 
			
		||||
                'ttl': 61,
 | 
			
		||||
                'type': 'A',
 | 
			
		||||
                'values': ['1.2.3.4', '2.2.3.4'],
 | 
			
		||||
                'geo': {
 | 
			
		||||
                    'OC': ['3.2.3.4', '4.2.3.4'],
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
            existing.records.add(record)
 | 
			
		||||
 | 
			
		||||
        provider.populate = mod_add_geo_populate
 | 
			
		||||
        change_resource_record_sets_params = {
 | 
			
		||||
            'ChangeBatch': {
 | 
			
		||||
                'Changes': [{
 | 
			
		||||
                    'Action': 'DELETE',
 | 
			
		||||
                    'ResourceRecordSet': {
 | 
			
		||||
                        'GeoLocation': {'ContinentCode': 'OC'},
 | 
			
		||||
                        'Name': 'simple.unit.tests.',
 | 
			
		||||
                        'ResourceRecords': [{'Value': '3.2.3.4'},
 | 
			
		||||
                                            {'Value': '4.2.3.4'}],
 | 
			
		||||
                        'SetIdentifier': 'OC',
 | 
			
		||||
                        'TTL': 61,
 | 
			
		||||
                        'Type': 'A'}
 | 
			
		||||
                }, {
 | 
			
		||||
                    'Action': 'DELETE',
 | 
			
		||||
                    'ResourceRecordSet': {
 | 
			
		||||
                        'GeoLocation': {'CountryCode': '*'},
 | 
			
		||||
                        'Name': 'simple.unit.tests.',
 | 
			
		||||
                        'ResourceRecords': [{'Value': '1.2.3.4'},
 | 
			
		||||
                                            {'Value': '2.2.3.4'}],
 | 
			
		||||
                        'SetIdentifier': 'default',
 | 
			
		||||
                        'TTL': 61,
 | 
			
		||||
                        'Type': 'A'}
 | 
			
		||||
                }, {
 | 
			
		||||
                    'Action': 'CREATE',
 | 
			
		||||
                    'ResourceRecordSet': {
 | 
			
		||||
                        'Name': 'simple.unit.tests.',
 | 
			
		||||
                        'ResourceRecords': [{'Value': '1.2.3.4'},
 | 
			
		||||
                                            {'Value': '2.2.3.4'}],
 | 
			
		||||
                        'TTL': 60,
 | 
			
		||||
                        'Type': 'A'}
 | 
			
		||||
                }],
 | 
			
		||||
                'Comment': ANY
 | 
			
		||||
            },
 | 
			
		||||
            'HostedZoneId': 'z42'
 | 
			
		||||
        }
 | 
			
		||||
        stubber.add_response('change_resource_record_sets',
 | 
			
		||||
                             {'ChangeInfo': {
 | 
			
		||||
                                 'Id': 'id',
 | 
			
		||||
                                 'Status': 'PENDING',
 | 
			
		||||
                                 'SubmittedAt': '2017-01-29T01:02:03Z',
 | 
			
		||||
                             }}, change_resource_record_sets_params)
 | 
			
		||||
        plan = provider.plan(self.expected)
 | 
			
		||||
        self.assertEquals(1, len(plan.changes))
 | 
			
		||||
        self.assertIsInstance(plan.changes[0], Update)
 | 
			
		||||
        self.assertEquals(1, provider.apply(plan))
 | 
			
		||||
        stubber.assert_no_pending_responses()
 | 
			
		||||
 | 
			
		||||
    def test_sync_create(self):
 | 
			
		||||
        provider, stubber = self._get_stubbed_provider()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user