diff options
author | Alan Conway <aconway@apache.org> | 2008-11-04 19:52:49 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-11-04 19:52:49 +0000 |
commit | eda249ff22edb3726243da81ff48c82e4d88e872 (patch) | |
tree | 0939d790e6a1b0d86993c9c3804c1adaa369aeb8 /cpp/src/tests | |
parent | 5d2471636928eff8b8031237c54348db0d5c388d (diff) | |
download | qpid-python-eda249ff22edb3726243da81ff48c82e4d88e872.tar.gz |
constants.rb: generate type code constants for AMQP types. Useful with Array.
framing/Array:
- added some std:::vector like functions & typedefs.
- use TypeCode enums, human readable ostream << operator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711365 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests')
-rw-r--r-- | cpp/src/tests/FieldValue.cpp | 8 | ||||
-rw-r--r-- | cpp/src/tests/cluster_test.cpp | 45 |
2 files changed, 49 insertions, 4 deletions
diff --git a/cpp/src/tests/FieldValue.cpp b/cpp/src/tests/FieldValue.cpp index eacf098034..448f068107 100644 --- a/cpp/src/tests/FieldValue.cpp +++ b/cpp/src/tests/FieldValue.cpp @@ -24,17 +24,17 @@ QPID_AUTO_TEST_SUITE(FieldValueTestSuite) using namespace qpid::framing; -StringValue s("abc"); +Str16Value s("abc"); IntegerValue i(42); //DecimalValue d(1234,2); //FieldTableValue ft; //EmptyValue e; -QPID_AUTO_TEST_CASE(testStringValueEquals) +QPID_AUTO_TEST_CASE(testStr16ValueEquals) { - BOOST_CHECK(StringValue("abc") == s); - BOOST_CHECK(StringValue("foo") != s); + BOOST_CHECK(Str16Value("abc") == s); + BOOST_CHECK(Str16Value("foo") != s); BOOST_CHECK(s != i); BOOST_CHECK(s.convertsTo<std::string>() == true); BOOST_CHECK(s.convertsTo<int>() == false); diff --git a/cpp/src/tests/cluster_test.cpp b/cpp/src/tests/cluster_test.cpp index eeedbf5ec5..d8f366009d 100644 --- a/cpp/src/tests/cluster_test.cpp +++ b/cpp/src/tests/cluster_test.cpp @@ -216,6 +216,51 @@ class Sender { uint16_t channel; }; +QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testTxTransaction, 1) { + ClusterFixture cluster(1, 1); // FIXME aconway 2008-11-04: local broker at index 1 + Client c0(cluster[0], "c0"); + c0.session.queueDeclare(arg::queue="q"); + c0.session.messageTransfer(arg::content=Message("A", "q")); + c0.session.messageTransfer(arg::content=Message("B", "q")); + + // Start a transaction that will commit. + Session commitSession = c0.connection.newSession("commit"); + SubscriptionManager commitSubs(commitSession); + commitSession.txSelect(); + commitSession.messageTransfer(arg::content=Message("a", "q")); + commitSession.messageTransfer(arg::content=Message("b", "q")); + BOOST_CHECK_EQUAL(commitSubs.get("q", TIME_SEC).getData(), "A"); + + // Start a transaction that will roll back. + Session rollbackSession = c0.connection.newSession("rollback"); + SubscriptionManager rollbackSubs(rollbackSession); + rollbackSession.txSelect(); + rollbackSession.messageTransfer(arg::content=Message("1", "q")); + BOOST_CHECK_EQUAL(rollbackSubs.get("q", TIME_SEC).getData(), "B"); + + BOOST_CHECK_EQUAL(c0.session.queueQuery("q").getMessageCount(), 0u); + // Add new member mid transaction. + cluster.add(); + Client c1(cluster[1], "c1"); + + // More transactional work + BOOST_CHECK_EQUAL(c1.session.queueQuery("q").getMessageCount(), 0u); + rollbackSession.messageTransfer(arg::content=Message("2", "q")); + commitSession.messageTransfer(arg::content=Message("c", "q")); + rollbackSession.messageTransfer(arg::content=Message("3", "q")); + + BOOST_CHECK_EQUAL(c1.session.queueQuery("q").getMessageCount(), 0u); + // Commit/roll back. + commitSession.txCommit(); + rollbackSession.txRollback(); + // Verify queue status: just the comitted messages + BOOST_CHECK_EQUAL(c1.session.queueQuery("q").getMessageCount(), 4u); + BOOST_CHECK_EQUAL(c1.subs.get("q", TIME_SEC).getData(), "B"); + BOOST_CHECK_EQUAL(c1.subs.get("q", TIME_SEC).getData(), "a"); + BOOST_CHECK_EQUAL(c1.subs.get("q", TIME_SEC).getData(), "b"); + BOOST_CHECK_EQUAL(c1.subs.get("q", TIME_SEC).getData(), "c"); +} + QPID_AUTO_TEST_CASE(testUnsupported) { ScopedSuppressLogging sl; ClusterFixture cluster(1); |