summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-08-17 16:58:33 +0000
committerGerrit Code Review <review@openstack.org>2013-08-17 16:58:33 +0000
commit42c324293d7bfd79bd1d1223327cc8a290168a90 (patch)
tree5e8210d8558c3163ce94d24636a39843eb6d68a8
parenta3ffdd1b1666b1fe94910075a93e0418873b5065 (diff)
parent001d66e6e56cdc946b5c6115423358206942bc9c (diff)
downloadoslo-messaging-42c324293d7bfd79bd1d1223327cc8a290168a90.tar.gz
Merge "Fix fake driver handling of failure replies"
-rw-r--r--oslo/messaging/_drivers/impl_fake.py1
-rw-r--r--tests/test_rpc_server.py20
2 files changed, 17 insertions, 4 deletions
diff --git a/oslo/messaging/_drivers/impl_fake.py b/oslo/messaging/_drivers/impl_fake.py
index ef331b5..e1f204c 100644
--- a/oslo/messaging/_drivers/impl_fake.py
+++ b/oslo/messaging/_drivers/impl_fake.py
@@ -32,6 +32,7 @@ class FakeIncomingMessage(base.IncomingMessage):
def reply(self, reply=None, failure=None, log_failure=True):
if self._reply_q:
+ failure = failure[1] if failure else None
self._reply_q.put((reply, failure))
diff --git a/tests/test_rpc_server.py b/tests/test_rpc_server.py
index 27bc674..8577c56 100644
--- a/tests/test_rpc_server.py
+++ b/tests/test_rpc_server.py
@@ -279,12 +279,18 @@ class TestRPCServer(test_utils.BaseTestCase, ServerSetupMixin):
class TestEndpoint(object):
def ping(self, ctxt, arg):
- raise ValueError
+ raise ValueError(arg)
server_thread = self._setup_server(transport, TestEndpoint())
client = self._setup_client(transport)
- self.assertRaises(ValueError, client.call, {}, 'ping', arg='foo')
+ try:
+ client.call({}, 'ping', arg='foo')
+ except Exception as ex:
+ self.assertIsInstance(ex, ValueError)
+ self.assertEquals(ex[0], 'dsfoo')
+ else:
+ self.assertTrue(False)
self._stop_server(client, server_thread)
@@ -294,12 +300,18 @@ class TestRPCServer(test_utils.BaseTestCase, ServerSetupMixin):
class TestEndpoint(object):
@messaging.expected_exceptions(ValueError)
def ping(self, ctxt, arg):
- raise ValueError
+ raise ValueError(arg)
server_thread = self._setup_server(transport, TestEndpoint())
client = self._setup_client(transport)
- self.assertRaises(ValueError, client.call, {}, 'ping', arg='foo')
+ try:
+ client.call({}, 'ping', arg='foo')
+ except Exception as ex:
+ self.assertIsInstance(ex, ValueError)
+ self.assertEquals(ex[0], 'dsfoo')
+ else:
+ self.assertTrue(False)
self._stop_server(client, server_thread)