summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/cluster_test.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-10-20 20:44:29 +0000
committerAlan Conway <aconway@apache.org>2008-10-20 20:44:29 +0000
commitecda572e6ead7761e48d4be9af70ab6e5f0a4271 (patch)
tree699ca2986c5b96c1183f4df857958c96c905b5c0 /qpid/cpp/src/tests/cluster_test.cpp
parent5d2b66b3169f0e2fe6ea6e2a52cd4f6d6e687280 (diff)
downloadqpid-python-ecda572e6ead7761e48d4be9af70ab6e5f0a4271.tar.gz
cluster_test: Unit test for Tx state replication.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@706400 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/cluster_test.cpp')
-rw-r--r--qpid/cpp/src/tests/cluster_test.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/cluster_test.cpp b/qpid/cpp/src/tests/cluster_test.cpp
index 72440bbe88..a20a3841a9 100644
--- a/qpid/cpp/src/tests/cluster_test.cpp
+++ b/qpid/cpp/src/tests/cluster_test.cpp
@@ -220,6 +220,33 @@ class Sender {
uint16_t channel;
};
+// FIXME aconway 2008-10-20: dump Tx state.
+QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testDumpTxState, 1) {
+ // Verify that we dump transaction state correctly to new members.
+ ClusterFixture cluster(1);
+ Client c0(cluster[0], "c0");
+ c0.session.txSelect();
+ c0.session.queueDeclare("q");
+ c0.session.messageTransfer(arg::content=Message("1","q"));
+ c0.session.txCommit();
+
+ c0.subs.subscribe(c0.lq, "q", FlowControl::messageCredit(1));
+ Message m;
+ BOOST_CHECK(c0.lq.get(m, TIME_SEC));
+ BOOST_CHECK_EQUAL(m.getData(), "1");
+ c0.session.messageTransfer(arg::content=Message("2","q"));
+
+ cluster.add();
+ Client c1(cluster[1], "c1");
+ // Not yet comitted, c1 should see nothing.
+ BOOST_CHECK_EQUAL(c1.session.queueQuery(arg::queue="q").getMessageCount(), 0u);
+ c0.session.txCommit();
+ // c1 shoudl see results of tx.
+ BOOST_CHECK_EQUAL(c1.session.queueQuery(arg::queue="q").getMessageCount(), 1u);
+ BOOST_CHECK(c1.subs.get(m, "q", TIME_SEC));
+ BOOST_CHECK_EQUAL(m.getData(), "2");
+}
+
QPID_AUTO_TEST_CASE(testDumpMessageBuilder) {
// Verify that we dump a partially recieved message to a new member.
ClusterFixture cluster(1);