mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Route53 dynamic value status support test coverage
This commit is contained in:
@@ -192,6 +192,26 @@ dynamic_rrsets = [{
|
|||||||
'SetIdentifier': '3-us-east-1-None',
|
'SetIdentifier': '3-us-east-1-None',
|
||||||
'Type': 'A',
|
'Type': 'A',
|
||||||
}]
|
}]
|
||||||
|
dynamic_health_checks = {
|
||||||
|
'76': {
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': False,
|
||||||
|
'Inverted': False,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'09': {
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': True,
|
||||||
|
'Inverted': False,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'ab': {
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': True,
|
||||||
|
'Inverted': True,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
dynamic_record_data = {
|
dynamic_record_data = {
|
||||||
'dynamic': {
|
'dynamic': {
|
||||||
@@ -199,7 +219,7 @@ dynamic_record_data = {
|
|||||||
'ap-southeast-1': {
|
'ap-southeast-1': {
|
||||||
'fallback': 'us-east-1',
|
'fallback': 'us-east-1',
|
||||||
'values': [{
|
'values': [{
|
||||||
'weight': 2, 'value': '1.4.1.1', 'status': 'up',
|
'weight': 2, 'value': '1.4.1.1', 'status': 'obey',
|
||||||
}, {
|
}, {
|
||||||
'weight': 2, 'value': '1.4.1.2', 'status': 'up',
|
'weight': 2, 'value': '1.4.1.2', 'status': 'up',
|
||||||
}]
|
}]
|
||||||
@@ -207,7 +227,7 @@ dynamic_record_data = {
|
|||||||
'eu-central-1': {
|
'eu-central-1': {
|
||||||
'fallback': 'us-east-1',
|
'fallback': 'us-east-1',
|
||||||
'values': [{
|
'values': [{
|
||||||
'weight': 1, 'value': '1.3.1.1', 'status': 'up',
|
'weight': 1, 'value': '1.3.1.1', 'status': 'down',
|
||||||
}, {
|
}, {
|
||||||
'weight': 1, 'value': '1.3.1.2', 'status': 'up',
|
'weight': 1, 'value': '1.3.1.2', 'status': 'up',
|
||||||
}],
|
}],
|
||||||
@@ -1259,9 +1279,109 @@ class TestRoute53Provider(TestCase):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
value = record.geo['AF'].values[0]
|
value = record.geo['AF'].values[0]
|
||||||
id = provider.get_health_check_id(record, value, True)
|
id = provider.get_health_check_id(record, value, 'obey', True)
|
||||||
self.assertEquals('42', id)
|
self.assertEquals('42', id)
|
||||||
|
|
||||||
|
def test_health_check_status_support(self):
|
||||||
|
provider, stubber = self._get_stubbed_provider()
|
||||||
|
|
||||||
|
health_checks = [{
|
||||||
|
'Id': '42',
|
||||||
|
'CallerReference': self.caller_ref,
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': False,
|
||||||
|
'EnableSNI': True,
|
||||||
|
'Inverted': False,
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'FullyQualifiedDomainName': 'unit.tests',
|
||||||
|
'IPAddress': '1.1.1.1',
|
||||||
|
'ResourcePath': '/_dns',
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'Port': 443,
|
||||||
|
'MeasureLatency': True,
|
||||||
|
'RequestInterval': 10,
|
||||||
|
},
|
||||||
|
'HealthCheckVersion': 2,
|
||||||
|
}, {
|
||||||
|
'Id': '43',
|
||||||
|
'CallerReference': self.caller_ref,
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': True,
|
||||||
|
'EnableSNI': True,
|
||||||
|
'Inverted': False,
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'FullyQualifiedDomainName': 'unit.tests',
|
||||||
|
'IPAddress': '2.2.2.2',
|
||||||
|
'ResourcePath': '/_dns',
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'Port': 443,
|
||||||
|
'MeasureLatency': True,
|
||||||
|
'RequestInterval': 10,
|
||||||
|
},
|
||||||
|
'HealthCheckVersion': 2,
|
||||||
|
}, {
|
||||||
|
'Id': '44',
|
||||||
|
'CallerReference': self.caller_ref,
|
||||||
|
'HealthCheckConfig': {
|
||||||
|
'Disabled': True,
|
||||||
|
'EnableSNI': True,
|
||||||
|
'Inverted': True,
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'FullyQualifiedDomainName': 'unit.tests',
|
||||||
|
'IPAddress': '3.3.3.3',
|
||||||
|
'ResourcePath': '/_dns',
|
||||||
|
'Type': 'HTTPS',
|
||||||
|
'Port': 443,
|
||||||
|
'MeasureLatency': True,
|
||||||
|
'RequestInterval': 10,
|
||||||
|
},
|
||||||
|
'HealthCheckVersion': 2,
|
||||||
|
}]
|
||||||
|
stubber.add_response('list_health_checks',
|
||||||
|
{
|
||||||
|
'HealthChecks': health_checks,
|
||||||
|
'IsTruncated': False,
|
||||||
|
'MaxItems': '20',
|
||||||
|
'Marker': '',
|
||||||
|
})
|
||||||
|
|
||||||
|
health_checks = provider.health_checks
|
||||||
|
|
||||||
|
# get without create
|
||||||
|
record = Record.new(self.expected, '', {
|
||||||
|
'ttl': 61,
|
||||||
|
'type': 'A',
|
||||||
|
'value': '5.5.5.5',
|
||||||
|
'dynamic': {
|
||||||
|
'pools': {
|
||||||
|
'main': {
|
||||||
|
'values': [{
|
||||||
|
'value': '6.6.6.6',
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'rules': [{
|
||||||
|
'pool': 'main',
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
self.assertEquals('42',
|
||||||
|
provider.get_health_check_id(record, '1.1.1.1',
|
||||||
|
'obey', False))
|
||||||
|
self.assertEquals('43',
|
||||||
|
provider.get_health_check_id(record, '2.2.2.2',
|
||||||
|
'up', False))
|
||||||
|
self.assertEquals('44',
|
||||||
|
provider.get_health_check_id(record, '3.3.3.3',
|
||||||
|
'down', False))
|
||||||
|
|
||||||
|
# If we're not allowed to create we won't find a health check for
|
||||||
|
# 1.1.1.1 with status up or down
|
||||||
|
self.assertFalse(provider.get_health_check_id(record, '1.1.1.1',
|
||||||
|
'up', False))
|
||||||
|
self.assertFalse(provider.get_health_check_id(record, '1.1.1.1',
|
||||||
|
'down', False))
|
||||||
|
|
||||||
def test_health_check_create(self):
|
def test_health_check_create(self):
|
||||||
provider, stubber = self._get_stubbed_provider()
|
provider, stubber = self._get_stubbed_provider()
|
||||||
|
|
||||||
@@ -2758,7 +2878,7 @@ class TestRoute53Provider(TestCase):
|
|||||||
|
|
||||||
def test_data_for_dynamic(self):
|
def test_data_for_dynamic(self):
|
||||||
provider = Route53Provider('test', 'abc', '123')
|
provider = Route53Provider('test', 'abc', '123')
|
||||||
provider._health_checks = {}
|
provider._health_checks = dynamic_health_checks
|
||||||
|
|
||||||
data = provider._data_for_dynamic('', 'A', dynamic_rrsets)
|
data = provider._data_for_dynamic('', 'A', dynamic_rrsets)
|
||||||
self.assertEquals(dynamic_record_data, data)
|
self.assertEquals(dynamic_record_data, data)
|
||||||
|
|||||||
Reference in New Issue
Block a user