Makes health return True or False
API returns a 204 for the health check with no body content. The function should have returned True if http result was a 204, or else a False. I solved the problem by making the function return false in case of an error. Change-Id: I02771f5aa61db4ed83da952245744cb3a6163a26 Closes-bug: #1288986
This commit is contained in:
parent
2acbced0ea
commit
2cb7e9054f
|
@ -20,7 +20,7 @@ import ddt
|
|||
from zaqarclient.queues import client
|
||||
from zaqarclient.queues.v1 import core
|
||||
from zaqarclient.tests import base
|
||||
from zaqarclient.transport import response
|
||||
from zaqarclient.transport import errors
|
||||
|
||||
VERSIONS = [1, 1.1]
|
||||
|
||||
|
@ -35,10 +35,21 @@ class TestClient(base.TestBase):
|
|||
self.assertIsNotNone(cli.transport())
|
||||
|
||||
@ddt.data(*VERSIONS)
|
||||
def test_health(self, version):
|
||||
def test_health_ok(self, version):
|
||||
cli = client.Client('http://example.com',
|
||||
version, {})
|
||||
with mock.patch.object(core, 'health', autospec=True) as core_health:
|
||||
resp = response.Response(None, None)
|
||||
core_health.return_value = resp
|
||||
self.assertIsNotNone(cli.health())
|
||||
core_health.return_value = None
|
||||
self.assertTrue(cli.health())
|
||||
|
||||
@ddt.data(*VERSIONS)
|
||||
def test_health_bad(self, version):
|
||||
cli = client.Client('http://example.com',
|
||||
version, {})
|
||||
|
||||
def raise_error(*args, **kwargs):
|
||||
raise errors.ServiceUnavailableError()
|
||||
|
||||
with mock.patch.object(core, 'health', autospec=True) as core_health:
|
||||
core_health.side_effect = raise_error
|
||||
self.assertFalse(cli.health())
|
||||
|
|
|
@ -23,6 +23,7 @@ from zaqarclient.queues.v1 import iterator
|
|||
from zaqarclient.queues.v1 import pool
|
||||
from zaqarclient.queues.v1 import queues
|
||||
from zaqarclient import transport
|
||||
from zaqarclient.transport import errors
|
||||
from zaqarclient.transport import request
|
||||
|
||||
|
||||
|
@ -160,4 +161,8 @@ class Client(object):
|
|||
def health(self):
|
||||
"""Gets the health status of Zaqar server."""
|
||||
req, trans = self._request_and_transport()
|
||||
return core.health(trans, req)
|
||||
try:
|
||||
core.health(trans, req)
|
||||
return True
|
||||
except errors.ServiceUnavailableError:
|
||||
return False
|
||||
|
|
Loading…
Reference in New Issue