diff options
| author | Gordon Sim <gsim@apache.org> | 2016-03-30 10:33:29 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2016-03-30 10:33:29 +0000 |
| commit | 87aa4db83f1a7c2ffbdf168a7c5b942cb5d56a4a (patch) | |
| tree | 0ab32d9e81c98eee9c19f44047a3e537e61d6a6d /qpid/cpp/src/tests | |
| parent | 006496cf708639db842f37941c40f7d452789509 (diff) | |
| download | qpid-python-87aa4db83f1a7c2ffbdf168a7c5b942cb5d56a4a.tar.gz | |
QPID-7134: ensure content object is reset when bytes are set
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1737093 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
| -rw-r--r-- | qpid/cpp/src/tests/MessagingSessionTests.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index 6af988e1cc..3c882b6028 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -1508,6 +1508,30 @@ QPID_AUTO_TEST_CASE(testResendEmpty) BOOST_CHECK_EQUAL(in.getContent(), std::string()); } +QPID_AUTO_TEST_CASE(testResendMapAsString) +{ + QueueFixture fix; + Sender sender = fix.session.createSender(fix.queue); + Message out; + qpid::types::Variant::Map content; + content["foo"] = "bar"; + encode(content, out); + sender.send(out); + + Receiver receiver = fix.session.createReceiver(fix.queue); + Message in = receiver.fetch(Duration::SECOND * 5); + fix.session.acknowledge(); + BOOST_CHECK_EQUAL(in.getContent(), out.getContent()); + //change content and resend + std::string newContent("something random"); + in.setContent(newContent); + in.setContentType(std::string());//it is no longer a map + sender.send(in); + in = receiver.fetch(Duration::SECOND * 5); + fix.session.acknowledge(); + BOOST_CHECK_EQUAL(in.getContent(), newContent); +} + QPID_AUTO_TEST_SUITE_END() }} // namespace qpid::tests |
