diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2009-07-10 19:42:16 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2009-07-10 19:42:16 +0000 |
| commit | 4225df85209e788d09f1830c6d0ce62cbe016182 (patch) | |
| tree | 3c79dcf90099585b772490bbf09a4dbbe484fecd /qpid/cpp/src/tests/MessageBuilderTest.cpp | |
| parent | 2dced0fb971f24cf61f6c0965e868ce29f09328b (diff) | |
| download | qpid-python-4225df85209e788d09f1830c6d0ce62cbe016182.tar.gz | |
Correct the case where for very low ( bytes) staging threshhold management
could get disabled. Fix prevents the staging of management messages + test
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@793091 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/MessageBuilderTest.cpp')
| -rw-r--r-- | qpid/cpp/src/tests/MessageBuilderTest.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/MessageBuilderTest.cpp b/qpid/cpp/src/tests/MessageBuilderTest.cpp index 54646dcde6..1f3f830633 100644 --- a/qpid/cpp/src/tests/MessageBuilderTest.cpp +++ b/qpid/cpp/src/tests/MessageBuilderTest.cpp @@ -217,4 +217,29 @@ QPID_AUTO_TEST_CASE(testStaging) BOOST_CHECK(!builder.getMessage()->isContentLoaded()); } +QPID_AUTO_TEST_CASE(testNoManagementStaging) +{ + // Make sure management messages don't stage + MockMessageStore store; + MessageBuilder builder(&store, 5); + builder.start(SequenceNumber()); + + std::string data1("abcdefg"); + std::string exchange("qpid.management"); + std::string key("builder-exchange"); + + AMQFrame method(MessageTransferBody(ProtocolVersion(), exchange, 0, 0)); + AMQFrame header((AMQHeaderBody())); + AMQFrame content1((AMQContentBody(data1))); + + header.castBody<AMQHeaderBody>()->get<MessageProperties>(true)->setContentLength(data1.size()); + header.castBody<AMQHeaderBody>()->get<DeliveryProperties>(true)->setRoutingKey(key); + + builder.handle(method); + builder.handle(header); + + builder.handle(content1); + BOOST_CHECK(store.expectationsMet()); + BOOST_CHECK_EQUAL((uint64_t) 0, builder.getMessage()->getPersistenceId()); +} QPID_AUTO_TEST_SUITE_END() |
