diff options
| author | Gordon Sim <gsim@apache.org> | 2009-11-23 12:50:58 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2009-11-23 12:50:58 +0000 |
| commit | 18b14a7190e120519086b11b2f5554c5b8e9e603 (patch) | |
| tree | e814d875ca233805e7be76db2323d7fa1af6b44d /qpid/cpp/src/tests | |
| parent | 57294a69b789426e9cb82c4ad7bb92a62cb387dc (diff) | |
| download | qpid-python-18b14a7190e120519086b11b2f5554c5b8e9e603.tar.gz | |
QPID-664: Allow session to be specified as transactional; add basic test of transaction implementation.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@883325 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
| -rw-r--r-- | qpid/cpp/src/tests/MessagingSessionTests.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index 07112f52dc..4125c51698 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -745,6 +745,33 @@ QPID_AUTO_TEST_CASE(testGetConnectionFromSession) BOOST_CHECK_EQUAL(out.getContent(), in.getContent()); } +QPID_AUTO_TEST_CASE(testTx) +{ + QueueFixture fix; + Session ssn1 = fix.connection.newSession(true); + Session ssn2 = fix.connection.newSession(true); + Sender sender1 = ssn1.createSender(fix.queue); + Sender sender2 = ssn2.createSender(fix.queue); + Receiver receiver1 = ssn1.createReceiver(fix.queue); + Receiver receiver2 = ssn2.createReceiver(fix.queue); + Message in; + + send(sender1, 5, 1, "A"); + send(sender2, 5, 1, "B"); + ssn2.commit(); + receive(receiver1, 5, 1, "B");//(only those from sender2 should be received) + BOOST_CHECK(!receiver1.fetch(in, 0));//check there are no more messages + ssn1.rollback(); + receive(receiver2, 5, 1, "B"); + BOOST_CHECK(!receiver2.fetch(in, 0));//check there are no more messages + ssn2.rollback(); + receive(receiver1, 5, 1, "B"); + BOOST_CHECK(!receiver1.fetch(in, 0));//check there are no more messages + ssn1.commit(); + //check neither receiver gets any more messages: + BOOST_CHECK(!receiver1.fetch(in, 0)); + BOOST_CHECK(!receiver2.fetch(in, 0)); +} QPID_AUTO_TEST_SUITE_END() |
