summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/MessageBuilderTest.cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2009-07-10 19:42:16 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2009-07-10 19:42:16 +0000
commit4225df85209e788d09f1830c6d0ce62cbe016182 (patch)
tree3c79dcf90099585b772490bbf09a4dbbe484fecd /qpid/cpp/src/tests/MessageBuilderTest.cpp
parent2dced0fb971f24cf61f6c0965e868ce29f09328b (diff)
downloadqpid-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.cpp25
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()