mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Add healthcheck protocol validation, HTTP or HTTPS
This commit is contained in:
@@ -115,6 +115,12 @@ class Record(object):
|
|||||||
reasons.append('invalid ttl')
|
reasons.append('invalid ttl')
|
||||||
except KeyError:
|
except KeyError:
|
||||||
reasons.append('missing ttl')
|
reasons.append('missing ttl')
|
||||||
|
try:
|
||||||
|
if data['octodns']['healthcheck']['protocol'] \
|
||||||
|
not in ('HTTP', 'HTTPS'):
|
||||||
|
reasons.append('invalid healthcheck protocol')
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
return reasons
|
return reasons
|
||||||
|
|
||||||
def __init__(self, zone, name, data, source=None):
|
def __init__(self, zone, name, data, source=None):
|
||||||
@@ -172,12 +178,12 @@ class Record(object):
|
|||||||
try:
|
try:
|
||||||
return self._octodns['healthcheck']['protocol']
|
return self._octodns['healthcheck']['protocol']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return 'https'
|
return 'HTTPS'
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def healthcheck_port(self):
|
def healthcheck_port(self):
|
||||||
try:
|
try:
|
||||||
return self._octodns['healthcheck']['port']
|
return int(self._octodns['healthcheck']['port'])
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return 443
|
return 443
|
||||||
|
|
||||||
|
@@ -755,14 +755,14 @@ class TestRecord(TestCase):
|
|||||||
'healthcheck': {
|
'healthcheck': {
|
||||||
'path': '/_ready',
|
'path': '/_ready',
|
||||||
'host': 'bleep.bloop',
|
'host': 'bleep.bloop',
|
||||||
'protocol': 'http',
|
'protocol': 'HTTP',
|
||||||
'port': 8080,
|
'port': 8080,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
self.assertEquals('/_ready', new.healthcheck_path)
|
self.assertEquals('/_ready', new.healthcheck_path)
|
||||||
self.assertEquals('bleep.bloop', new.healthcheck_host)
|
self.assertEquals('bleep.bloop', new.healthcheck_host)
|
||||||
self.assertEquals('http', new.healthcheck_protocol)
|
self.assertEquals('HTTP', new.healthcheck_protocol)
|
||||||
self.assertEquals(8080, new.healthcheck_port)
|
self.assertEquals(8080, new.healthcheck_port)
|
||||||
|
|
||||||
new = Record.new(self.zone, 'a', {
|
new = Record.new(self.zone, 'a', {
|
||||||
@@ -772,7 +772,7 @@ class TestRecord(TestCase):
|
|||||||
})
|
})
|
||||||
self.assertEquals('/_dns', new.healthcheck_path)
|
self.assertEquals('/_dns', new.healthcheck_path)
|
||||||
self.assertEquals('a.unit.tests', new.healthcheck_host)
|
self.assertEquals('a.unit.tests', new.healthcheck_host)
|
||||||
self.assertEquals('https', new.healthcheck_protocol)
|
self.assertEquals('HTTPS', new.healthcheck_protocol)
|
||||||
self.assertEquals(443, new.healthcheck_port)
|
self.assertEquals(443, new.healthcheck_port)
|
||||||
|
|
||||||
def test_inored(self):
|
def test_inored(self):
|
||||||
|
Reference in New Issue
Block a user