diff options
author | Eric Windisch <eric@cloudscaling.com> | 2013-02-09 00:57:47 -0500 |
---|---|---|
committer | Eric Windisch <eric@cloudscaling.com> | 2013-02-19 14:43:19 -0500 |
commit | a60367820d826c536018b036480f7061b814f1a1 (patch) | |
tree | 76c6c7280e135c8a008d1eef27843356d1acdc86 /tests/unit/rpc | |
parent | 70891c271e011f59792933eaf65c3214493ef14a (diff) | |
download | oslo-a60367820d826c536018b036480f7061b814f1a1.tar.gz oslo-a60367820d826c536018b036480f7061b814f1a1.tar.xz oslo-a60367820d826c536018b036480f7061b814f1a1.zip |
Implement replay detection.
Bumps the envelope revision to 2.1
Change-Id: Ib0260a0c62e3d312d2e3448a125bed64d861319e
Diffstat (limited to 'tests/unit/rpc')
-rw-r--r-- | tests/unit/rpc/amqp.py | 8 | ||||
-rw-r--r-- | tests/unit/rpc/test_common.py | 32 |
2 files changed, 37 insertions, 3 deletions
diff --git a/tests/unit/rpc/amqp.py b/tests/unit/rpc/amqp.py index 1e4733c..c7215ea 100644 --- a/tests/unit/rpc/amqp.py +++ b/tests/unit/rpc/amqp.py @@ -100,14 +100,18 @@ class BaseRpcAMQPTestCase(common.BaseRpcTestCase): } self.rpc.notify(FLAGS, self.context, 'notifications.info', raw_msg, envelope=True) - self.assertEqual(self.test_msg, msg) + for k, v in msg.items(): + self.assertIn(k, self.test_msg) + self.assertEqual(self.test_msg[k], v) # Make sure envelopes are still on notifications, even if turned off # for general messages. self.stubs.Set(rpc_common, '_SEND_RPC_ENVELOPE', False) self.rpc.notify(FLAGS, self.context, 'notifications.info', raw_msg, envelope=True) - self.assertEqual(self.test_msg, msg) + for k, v in msg.items(): + self.assertIn(k, self.test_msg) + self.assertEqual(self.test_msg[k], v) def test_single_reply_queue_on_has_ids( self, single_reply_queue_for_callee_off=False): diff --git a/tests/unit/rpc/test_common.py b/tests/unit/rpc/test_common.py index 976da84..b4d4cf4 100644 --- a/tests/unit/rpc/test_common.py +++ b/tests/unit/rpc/test_common.py @@ -250,10 +250,40 @@ class RpcCommonTestCase(test_utils.BaseTestCase): 'oslo.message': jsonutils.dumps(msg)} serialized = rpc_common.serialize_msg(msg) - self.assertEqual(s_msg, rpc_common.serialize_msg(msg)) + for k, v in s_msg.items(): + self.assertIn(k, serialized) + self.assertEqual(serialized[k], v) self.assertEqual(msg, rpc_common.deserialize_msg(serialized)) + def test_serialize_msg_v2_1(self): + self.stubs.Set(rpc_common, '_SEND_RPC_ENVELOPE', True) + msg = {'foo': 'bar'} + s_msg = {'oslo.version': rpc_common._RPC_ENVELOPE_VERSION, + 'oslo.message': jsonutils.dumps(msg), + 'oslo.nonce': ''} + serialized = rpc_common.serialize_msg(msg) + + for k, v in s_msg.items(): + self.assertIn(k, serialized) + + if k == 'oslo.nonce': + # This key's value is set by serialize_msg + re_uuid = re.compile(r'[0-9a-f]{32}$', re.I) + self.assertTrue(re_uuid.match(serialized[k])) + continue + + self.assertEqual(serialized[k], v) + + self.assertEqual(msg, rpc_common.deserialize_msg(serialized)) + + def test_serialize_msg_v2_1(self): + self.stubs.Set(rpc_common, '_SEND_RPC_ENVELOPE', True) + msg = {'foo': 'bar'} + serialized = rpc_common.serialize_msg(msg) + self.assertIn('oslo.nonce', serialized) + self.assertEqual(msg, rpc_common.deserialize_msg(serialized)) + def test_deserialize_msg_no_envelope(self): self.assertEqual(1, rpc_common.deserialize_msg(1)) self.assertEqual([], rpc_common.deserialize_msg([])) |