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 | 50b65fe31f427a1fe6eb1b92014b76b9a4d4771a (patch) | |
| tree | f9d628fc9e0cc9091683b8c6feabdc1b1cc4efd5 /qpid/tests | |
| parent | f24028543c611c3c3710cc80871e6dadef41f67f (diff) | |
| download | qpid-python-50b65fe31f427a1fe6eb1b92014b76b9a4d4771a.tar.gz | |
QPID-3417: C++ broker - support adding arrival timestamp to received messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1182490 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/tests')
| -rw-r--r-- | qpid/tests/src/py/qpid_tests/broker_0_10/management.py | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/qpid/tests/src/py/qpid_tests/broker_0_10/management.py b/qpid/tests/src/py/qpid_tests/broker_0_10/management.py index 5aaa1a7c7d..ac6d7578da 100644 --- a/qpid/tests/src/py/qpid_tests/broker_0_10/management.py +++ b/qpid/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) + |
