mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Merge branch 'master' of github.com:CyberDem0n/governor
This commit is contained in:
+8
-2
@@ -121,11 +121,17 @@ class Client:
|
||||
|
||||
response, status_code = self._get('/members')
|
||||
if status_code != 200:
|
||||
self._base_uri = None
|
||||
raise EtcdError('Got response with code=%s from %s' % (status_code, self._base_uri))
|
||||
|
||||
members_cache = []
|
||||
for member in response if load_from_srv else response['members']:
|
||||
members_cache.extend([m + '/' + self.API_VERSION for m in member['clientURLs']])
|
||||
try:
|
||||
for member in response if load_from_srv else response['members']:
|
||||
members_cache.extend([m + '/' + self.API_VERSION for m in member['clientURLs']])
|
||||
except:
|
||||
self._base_uri = None
|
||||
raise EtcdError('Got invalid response from %s: %s' % (self._base_uri, response))
|
||||
|
||||
self._members_cache = list(set(members_cache))
|
||||
random.shuffle(self._members_cache)
|
||||
if load_from_srv:
|
||||
|
||||
+6
-1
@@ -37,7 +37,10 @@ def requests_get(url, **kwargs):
|
||||
if url.startswith('http://error'):
|
||||
response.status_code = 404
|
||||
elif url.endswith('/members'):
|
||||
response.content = members
|
||||
if url.startswith('http://error'):
|
||||
response.content = '[{}]'
|
||||
else:
|
||||
response.content = members
|
||||
elif url.endswith('/bad_response'):
|
||||
response.content = '{'
|
||||
elif url.startswith('http://local'):
|
||||
@@ -138,6 +141,8 @@ class TestClient(unittest.TestCase):
|
||||
def test_load_members(self):
|
||||
self.client._base_uri = self.client._base_uri.replace('localhost', 'error_code')
|
||||
self.assertRaises(EtcdError, self.client.load_members)
|
||||
self.client._base_uri = 'http://error_code:2380'
|
||||
self.assertRaises(EtcdError, self.client.load_members)
|
||||
self.client._base_uri = None
|
||||
self.client._config = {}
|
||||
self.assertRaises(Exception, self.client.load_members)
|
||||
|
||||
Reference in New Issue
Block a user