diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-08-12 01:14:12 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-08-12 01:14:12 +0000 |
commit | a7d7eb660e1e8d5bb0f849956737b5cf3ddb4139 (patch) | |
tree | 71f8c07ffcbd02b4cacab6e128b1df67c8b12a8e | |
parent | 8cb17b8041f71b8c5c59ce5dd25653248ea3303a (diff) | |
parent | 5fa7f93d091d0e5ab82f59709949ce6491610b68 (diff) | |
download | oslo-messaging-a7d7eb660e1e8d5bb0f849956737b5cf3ddb4139.tar.gz |
Merge "Fix handling expected exceptions in rabbit driver"
-rw-r--r-- | oslo/messaging/_drivers/amqpdriver.py | 3 | ||||
-rw-r--r-- | tests/test_rabbit.py | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/oslo/messaging/_drivers/amqpdriver.py b/oslo/messaging/_drivers/amqpdriver.py index 40c1fcc..b20a61c 100644 --- a/oslo/messaging/_drivers/amqpdriver.py +++ b/oslo/messaging/_drivers/amqpdriver.py @@ -40,7 +40,8 @@ class AMQPIncomingMessage(base.IncomingMessage): def _send_reply(self, conn, reply=None, failure=None, ending=False, log_failure=True): if failure: - failure = rpc_common.serialize_remote_exception(failure) + failure = rpc_common.serialize_remote_exception(failure, + log_failure) msg = {'result': reply, 'failure': failure} if ending: diff --git a/tests/test_rabbit.py b/tests/test_rabbit.py index 31c03f5..06d21a0 100644 --- a/tests/test_rabbit.py +++ b/tests/test_rabbit.py @@ -24,6 +24,7 @@ import kombu import testscenarios from oslo import messaging +from oslo.messaging._drivers import common as driver_common from oslo.messaging._drivers import impl_rabbit as rabbit_driver from oslo.messaging.openstack.common import jsonutils from oslo.messaging import transport as msg_transport @@ -96,6 +97,14 @@ class TestSendReceive(test_utils.BaseTestCase): senders = [] replies = [] msgs = [] + errors = [] + + def stub_error(msg, *a, **kw): + if (a and len(a) == 1 and isinstance(a[0], dict) and a[0]): + a = a[0] + errors.append(str(msg) % a) + + self.stubs.Set(driver_common.LOG, 'error', stub_error) def send_and_wait_for_reply(i): try: @@ -150,6 +159,11 @@ class TestSendReceive(test_utils.BaseTestCase): else: self.assertEqual(reply, {'bar': order[i]}) + if not self.timeout and self.failure and not self.expected: + self.assertTrue(len(errors) > 0, errors) + else: + self.assertEqual(len(errors), 0, errors) + TestSendReceive.generate_scenarios() |