diff options
author | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-10-12 17:42:27 +0000 |
---|---|---|
committer | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-10-12 17:42:27 +0000 |
commit | 23a0d956ffa79aa3e3fbf43e3755f1cea387b562 (patch) | |
tree | 34ff95f37feb436b970715bd89975747075e07b2 /tests | |
parent | f821fb7fae3c74d8662e7783b255d52c785961f5 (diff) | |
download | qpid-python-23a0d956ffa79aa3e3fbf43e3755f1cea387b562.tar.gz |
QPID-3417: C++ broker - support adding arrival timestamp to received messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1182490 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/py/qpid_tests/broker_0_10/management.py | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/tests/src/py/qpid_tests/broker_0_10/management.py b/tests/src/py/qpid_tests/broker_0_10/management.py index 5aaa1a7c7d..ac6d7578da 100644 --- a/tests/src/py/qpid_tests/broker_0_10/management.py +++ b/tests/src/py/qpid_tests/broker_0_10/management.py @@ -584,4 +584,63 @@ class ManagementTest (TestBase010): conn_qmf.update() self.assertEqual(conn_qmf.msgsToClient, 1) - + def test_timestamp_config(self): + """ + Test message timestamping control. + """ + self.startQmf() + conn = self.connect() + session = conn.session("timestamp-session") + + #verify that receive message timestamping is OFF by default + broker = self.qmf.getObjects(_class="broker")[0] + rc = broker.getTimestampConfig() + self.assertEqual(rc.status, 0) + self.assertEqual(rc.text, "OK") + #self.assertEqual(rc.receive, False) + + #try to enable it + rc = broker.setTimestampConfig(True) + self.assertEqual(rc.status, 0) + self.assertEqual(rc.text, "OK") + + rc = broker.getTimestampConfig() + self.assertEqual(rc.status, 0) + self.assertEqual(rc.text, "OK") + self.assertEqual(rc.receive, True) + + #send a message to a queue + session.queue_declare(queue="ts-q", exclusive=True, auto_delete=True) + session.message_transfer(message=Message(session.delivery_properties(routing_key="ts-q"), "abc")) + + #receive message from queue, and verify timestamp is present + session.message_subscribe(destination="d", queue="ts-q") + session.message_flow(destination="d", unit=session.credit_unit.message, value=0xFFFFFFFFL) + session.message_flow(destination="d", unit=session.credit_unit.byte, value=0xFFFFFFFFL) + incoming = session.incoming("d") + msg = incoming.get(timeout=1) + self.assertEqual("abc", msg.body) + self.assertEqual(msg.has("delivery_properties"), True) + dp = msg.get("delivery_properties") + assert(dp.timestamp) + + #try to disable it + rc = broker.setTimestampConfig(False) + self.assertEqual(rc.status, 0) + self.assertEqual(rc.text, "OK") + + rc = broker.getTimestampConfig() + self.assertEqual(rc.status, 0) + self.assertEqual(rc.text, "OK") + self.assertEqual(rc.receive, False) + + #send another message to the queue + session.message_transfer(message=Message(session.delivery_properties(routing_key="ts-q"), "def")) + + #receive message from queue, and verify timestamp is NOT PRESENT + msg = incoming.get(timeout=1) + self.assertEqual("def", msg.body) + self.assertEqual(msg.has("delivery_properties"), True) + dp = msg.get("delivery_properties") + self.assertEqual(dp.timestamp, None) + |