diff options
author | Alan Conway <aconway@apache.org> | 2008-06-25 20:51:30 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-06-25 20:51:30 +0000 |
commit | 23b153214d057627be9d00f8cc14280cd89eb95b (patch) | |
tree | 150a06aa11744b1187ed51bd3154c8e9b9eb19ac /qpid/cpp/src/tests/cluster_client.cpp | |
parent | 4f72761ff1c309fca15956d1860b165530d3d353 (diff) | |
download | qpid-python-23b153214d057627be9d00f8cc14280cd89eb95b.tar.gz |
Additions to the client API:
- SubscriptionManager::get(queue) to get a single message from a queue.
- Set FlowControl per-subscription.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@671655 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/cluster_client.cpp')
-rw-r--r-- | qpid/cpp/src/tests/cluster_client.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/qpid/cpp/src/tests/cluster_client.cpp b/qpid/cpp/src/tests/cluster_client.cpp index f6b3a80c97..efb6e04aa8 100644 --- a/qpid/cpp/src/tests/cluster_client.cpp +++ b/qpid/cpp/src/tests/cluster_client.cpp @@ -62,14 +62,14 @@ QPID_AUTO_TEST_CASE(testWiringReplication) { ClusterConnections cluster; BOOST_REQUIRE(cluster.size() > 1); - Session broker0 = cluster[0]->newSession(ASYNC); + Session broker0 = cluster[0]->newSession(); broker0.exchangeDeclare(exchange="ex"); broker0.queueDeclare(queue="q"); broker0.queueBind(exchange="ex", queue="q", routingKey="key"); broker0.close(); for (size_t i = 1; i < cluster.size(); ++i) { - Session s = cluster[i]->newSession(ASYNC); + Session s = cluster[i]->newSession(); s.messageTransfer(content=TransferContent("data", "key", "ex")); s.messageSubscribe(queue="q", destination="q"); s.messageFlow(destination="q", unit=0, value=1);//messages @@ -81,4 +81,28 @@ QPID_AUTO_TEST_CASE(testWiringReplication) { } } +QPID_AUTO_TEST_CASE(testMessageReplication) { + // Enqueue on one broker, dequeue on another. + ClusterConnections cluster; + BOOST_REQUIRE(cluster.size() > 1); + + Session broker0 = cluster[0]->newSession(); + broker0.queueDeclare(queue="q"); + broker0.messageTransfer(content=TransferContent("data", "q")); + broker0.close(); + + Session broker1 = cluster[1]->newSession(); + broker1. + s.messageSubscribe(queue="q", destination="q"); + s.messageFlow(destination="q", unit=0, value=1);//messages + FrameSet::shared_ptr msg = s.get(); + BOOST_CHECK(msg->isA<MessageTransferBody>()); + BOOST_CHECK_EQUAL(string("data"), msg->getContent()); + s.getExecution().completed(msg->getId(), true, true); + cluster[i]->close(); + } +} + +// TODO aconway 2008-06-25: dequeue replication, exactly once delivery, failover. + QPID_AUTO_TEST_SUITE_END() |