summaryrefslogtreecommitdiffstats
path: root/tests/unit/rpc
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2013-02-20 23:08:50 +0000
committerMark McLoughlin <markmc@redhat.com>2013-02-20 23:16:22 +0000
commit6f9cef85353155538fe14e5025e2d0bab5cc63e4 (patch)
tree23598db753266a1a4f167c725d267a5d8b74ae59 /tests/unit/rpc
parent7e6513dedc58577c187d69d576659bc7f2ed7a87 (diff)
downloadoslo-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.py8
-rw-r--r--tests/unit/rpc/test_common.py32
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([]))