Merge "Makes health return True or False"

This commit is contained in:
Jenkins
2014-11-24 16:18:57 +00:00
committed by Gerrit Code Review
2 changed files with 22 additions and 6 deletions

View File

@@ -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())

View File

@@ -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