summaryrefslogtreecommitdiff
path: root/cpp/src/tests/MessageTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/MessageTest.cpp')
-rw-r--r--cpp/src/tests/MessageTest.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/cpp/src/tests/MessageTest.cpp b/cpp/src/tests/MessageTest.cpp
index fe670a274e..666a2c6297 100644
--- a/cpp/src/tests/MessageTest.cpp
+++ b/cpp/src/tests/MessageTest.cpp
@@ -19,6 +19,7 @@
*
*/
#include "qpid/broker/Message.h"
+#include "qpid/broker/Protocol.h"
#include "qpid/framing/AMQP_HighestVersion.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/MessageTransferBody.h"
@@ -56,10 +57,12 @@ QPID_AUTO_TEST_CASE(testEncodeDecode)
properties["abc"] = "xyz";
Message msg = MessageUtils::createMessage(properties, data);
- std::string buffer;
- encode(msg, buffer);
- msg = Message();
- decode(buffer, msg);
+ std::vector<char> bytes(msg.getPersistentContext()->encodedSize());
+ qpid::framing::Buffer buffer(&bytes[0], bytes.size());
+ msg.getPersistentContext()->encode(buffer);
+ buffer.reset();
+ ProtocolRegistry registry;
+ msg = registry.decode(buffer);
BOOST_CHECK_EQUAL(routingKey, msg.getRoutingKey());
BOOST_CHECK_EQUAL((uint64_t) data.size(), msg.getContentSize());