diff options
author | Andrew Stitcher <astitcher@apache.org> | 2007-08-31 18:20:29 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2007-08-31 18:20:29 +0000 |
commit | 0bc9a47a7c35f8cf67ef0e92cc53c91e66a6deec (patch) | |
tree | ca13237c15fbfc83e460cb5c5685d3dfd4dcbc1f /qpid/cpp/src/tests/FramingTest.cpp | |
parent | f9236f2f81a1df20a4a95d2e8dc8538b33fb4746 (diff) | |
download | qpid-python-0bc9a47a7c35f8cf67ef0e92cc53c91e66a6deec.tar.gz |
* Changes to make C++ client code use the asynchronous network IO
* Fixed up the test for buffer changes
* Removed unused buffer operations
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@571529 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/FramingTest.cpp')
-rw-r--r-- | qpid/cpp/src/tests/FramingTest.cpp | 90 |
1 files changed, 54 insertions, 36 deletions
diff --git a/qpid/cpp/src/tests/FramingTest.cpp b/qpid/cpp/src/tests/FramingTest.cpp index 1b843defc1..79df8eade2 100644 --- a/qpid/cpp/src/tests/FramingTest.cpp +++ b/qpid/cpp/src/tests/FramingTest.cpp @@ -68,114 +68,130 @@ class FramingTest : public CppUnit::TestCase CPPUNIT_TEST_SUITE_END(); private: - Buffer buffer; + char buffer[1024]; ProtocolVersion version; public: - FramingTest() : buffer(1024), version(highestProtocolVersion) {} + FramingTest() : version(highestProtocolVersion) {} void testBasicQosBody() { + Buffer wbuff(buffer, sizeof(buffer)); BasicQosBody in(version, 0xCAFEBABE, 0xABBA, true); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); BasicQosBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionSecureBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "security credential"; ConnectionSecureBody in(version, s); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); ConnectionSecureBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionRedirectBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string a = "hostA"; std::string b = "hostB"; ConnectionRedirectBody in(version, a, b); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); ConnectionRedirectBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testAccessRequestBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "text"; AccessRequestBody in(version, s, true, false, true, false, true); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AccessRequestBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testBasicConsumeBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string q = "queue"; std::string t = "tag"; BasicConsumeBody in(version, 0, q, t, false, true, false, false, FieldTable()); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); BasicConsumeBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionRedirectBodyFrame() { + Buffer wbuff(buffer, sizeof(buffer)); std::string a = "hostA"; std::string b = "hostB"; AMQFrame in(999, ConnectionRedirectBody(version, a, b)); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AMQFrame out; - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testBasicConsumeOkBodyFrame() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "hostA"; AMQFrame in(999, BasicConsumeOkBody(version, s)); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AMQFrame out; - for(int i = 0; i < 5; i++){ - out.decode(buffer); - CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); - } + out.decode(rbuff); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testInlineContent() { + Buffer wbuff(buffer, sizeof(buffer)); Content content(INLINE, "MyData"); CPPUNIT_ASSERT(content.isInline()); - content.encode(buffer); - buffer.flip(); + content.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); Content recovered; - recovered.decode(buffer); + recovered.decode(rbuff); CPPUNIT_ASSERT(recovered.isInline()); CPPUNIT_ASSERT_EQUAL(content.getValue(), recovered.getValue()); } void testContentReference() { + Buffer wbuff(buffer, sizeof(buffer)); Content content(REFERENCE, "MyRef"); CPPUNIT_ASSERT(content.isReference()); - content.encode(buffer); - buffer.flip(); + content.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); Content recovered; - recovered.decode(buffer); + recovered.decode(rbuff); CPPUNIT_ASSERT(recovered.isReference()); CPPUNIT_ASSERT_EQUAL(content.getValue(), recovered.getValue()); } @@ -198,11 +214,13 @@ class FramingTest : public CppUnit::TestCase } try { - buffer.putOctet(2); - buffer.putLongString("blah, blah"); - buffer.flip(); + Buffer wbuff(buffer, sizeof(buffer)); + wbuff.putOctet(2); + wbuff.putLongString("blah, blah"); + + Buffer rbuff(buffer, sizeof(buffer)); Content content; - content.decode(buffer); + content.decode(rbuff); CPPUNIT_ASSERT(false);//fail, expected exception } catch (QpidError& e) { CPPUNIT_ASSERT_EQUAL(FRAMING_ERROR, e.code); |