diff options
| author | Michael Goulish <mgoulish@apache.org> | 2012-09-14 17:11:09 +0000 |
|---|---|---|
| committer | Michael Goulish <mgoulish@apache.org> | 2012-09-14 17:11:09 +0000 |
| commit | 451095cdec60b6bbf4b313f52d613ede7837db9c (patch) | |
| tree | cdfddf81db05c8a756986ca85f522c9b09c72945 /qpid/cpp/src/tests/MessagingSessionTests.cpp | |
| parent | f80d698d36339be3632fedee513b396876c7473c (diff) | |
| download | qpid-python-451095cdec60b6bbf4b313f52d613ede7837db9c.tar.gz | |
Jira QPID-4142
auto test for browse-only queues - using messaging interface
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1384851 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/MessagingSessionTests.cpp')
| -rw-r--r-- | qpid/cpp/src/tests/MessagingSessionTests.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index c8ee3aa401..6d6551458d 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -1164,6 +1164,38 @@ QPID_AUTO_TEST_CASE(testAlternateExchangeInLinkDeclare) } } +QPID_AUTO_TEST_CASE(testBrowseOnly) +{ + /* Set up a queue browse-only, and try to receive + the same messages twice with two different receivers. + This works because the browse-only queue does not + allow message acquisition. */ + + QueueFixture fix; + std::string addr = "q; {create:always, node:{type:queue, durable:false, x-declare:{arguments:{browse-only:1}}}}"; + Sender sender = fix.session.createSender(addr); + Message out("test-message"); + + int count = 10; + for ( int i = 0; i < count; ++ i ) { + sender.send(out); + } + + Message m; + + Receiver receiver_1 = fix.session.createReceiver(addr); + for ( int i = 0; i < count; ++ i ) { + BOOST_CHECK(receiver_1.fetch(m, Duration::SECOND)); + } + + Receiver receiver_2 = fix.session.createReceiver(addr); + for ( int i = 0; i < count; ++ i ) { + BOOST_CHECK(receiver_2.fetch(m, Duration::SECOND)); + } + + fix.session.acknowledge(); +} + QPID_AUTO_TEST_SUITE_END() }} // namespace qpid::tests |
