summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-02-12 18:19:40 +0000
committerGordon Sim <gsim@apache.org>2007-02-12 18:19:40 +0000
commit3856a4f1fa8adc5ff04949ce37a2b162d7f9dd77 (patch)
treed02724898fa0d94268211cd49abef796a28b8e64
parentbdc6d9b233bfa27bf3b3908ebffd6d0f75515d88 (diff)
downloadqpid-python-3856a4f1fa8adc5ff04949ce37a2b162d7f9dd77.tar.gz
Added test for checkpointing
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@506565 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--python/tests/message.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/python/tests/message.py b/python/tests/message.py
index cb26c7508a..5e35fa953f 100644
--- a/python/tests/message.py
+++ b/python/tests/message.py
@@ -628,14 +628,38 @@ class MessageTests(TestBase):
channel.message_consume(queue = "q", destination = "consumer")
channel.message_transfer(routing_key = "q", body="blah, blah")
- msg = self.client.queue("consumer").get(timeout = 5)
+ msg = self.client.queue("consumer").get(timeout = 1)
self.assertEquals(msg.body, "blah, blah")
channel.message_cancel(destination = "consumer")
msg.reject()
channel.message_consume(queue = "q", destination = "checker")
- msg = self.client.queue("checker").get(timeout = 5)
+ msg = self.client.queue("checker").get(timeout = 1)
self.assertEquals(msg.body, "blah, blah")
+
+ def test_checkpoint(self):
+ channel = self.channel
+ channel.queue_declare(queue = "q", exclusive=True)
+
+ channel.message_open(reference="my-ref")
+ channel.message_append(reference="my-ref", bytes="abcdefgh")
+ channel.message_append(reference="my-ref", bytes="ijklmnop")
+ channel.message_checkpoint(reference="my-ref", identifier="my-checkpoint")
+ channel.channel_close()
+
+ channel = self.client.channel(2)
+ channel.channel_open()
+ channel.message_consume(queue = "q", destination = "consumer")
+ offset = channel.channel_resume(reference="my-ref", identifier="my-checkpoint").value
+ self.assertEquals(offset, 16)
+ channel.message_append(reference="my-ref", bytes="qrstuvwx")
+ channel.synchronous = False
+ channel.message_transfer(routing_key="q-one", message_id="abcd", body=ReferenceId("my-ref"))
+ channel.synchronous = True
+ channel.message_close(reference="my-ref")
+
+ self.assertDataEquals(channel, self.client.queue("consumer").get(timeout = 1))
+ self.assertEmpty(self.client.queue("consumer"))
def assertDataEquals(self, channel, msg, expected):