diff options
author | Mark McLoughlin <markmc@redhat.com> | 2013-02-20 23:08:50 +0000 |
---|---|---|
committer | Mark McLoughlin <markmc@redhat.com> | 2013-02-20 23:16:22 +0000 |
commit | 6f9cef85353155538fe14e5025e2d0bab5cc63e4 (patch) | |
tree | 23598db753266a1a4f167c725d267a5d8b74ae59 /tests/unit/rpc | |
parent | 7e6513dedc58577c187d69d576659bc7f2ed7a87 (diff) | |
download | oslo-6f9cef85353155538fe14e5025e2d0bab5cc63e4.tar.gz oslo-6f9cef85353155538fe14e5025e2d0bab5cc63e4.tar.xz oslo-6f9cef85353155538fe14e5025e2d0bab5cc63e4.zip |
Revert "Implement replay detection."
This reverts Ib0260a0c62e3d312d2e3448a125bed64d861319e (commit a603678)
The issue we're trying to fix here is bug #1107064 - when using mirrored
queues with AMQP, acks can be lost while a master is failing over to a
slace causing the new slave to re-send messages which had previously
been acked.
The "replay detection" code applies to more than just amqp and also has
the appearance of a security measure (e.g. the use of the term 'nonce')
when clearly it serves no security purpose until we actually have
message signing.
Revert the "replay detection" approach in favour of the more targetted
amqp bugfix.
Change-Id: I8b8d15835c8b4c85cd388f5df08b60ff4c74e38d
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, 3 insertions, 37 deletions
diff --git a/tests/unit/rpc/amqp.py b/tests/unit/rpc/amqp.py index c7215ea..1e4733c 100644 --- a/tests/unit/rpc/amqp.py +++ b/tests/unit/rpc/amqp.py @@ -100,18 +100,14 @@ class BaseRpcAMQPTestCase(common.BaseRpcTestCase): } self.rpc.notify(FLAGS, self.context, 'notifications.info', raw_msg, envelope=True) - for k, v in msg.items(): - self.assertIn(k, self.test_msg) - self.assertEqual(self.test_msg[k], v) + self.assertEqual(self.test_msg, msg) # 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) - for k, v in msg.items(): - self.assertIn(k, self.test_msg) - self.assertEqual(self.test_msg[k], v) + self.assertEqual(self.test_msg, msg) 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 b4d4cf4..976da84 100644 --- a/tests/unit/rpc/test_common.py +++ b/tests/unit/rpc/test_common.py @@ -250,40 +250,10 @@ class RpcCommonTestCase(test_utils.BaseTestCase): 'oslo.message': jsonutils.dumps(msg)} serialized = rpc_common.serialize_msg(msg) - for k, v in s_msg.items(): - self.assertIn(k, serialized) - self.assertEqual(serialized[k], v) + self.assertEqual(s_msg, rpc_common.serialize_msg(msg)) 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([])) |