summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/FramingTest.cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2007-08-31 18:20:29 +0000
committerAndrew Stitcher <astitcher@apache.org>2007-08-31 18:20:29 +0000
commit0bc9a47a7c35f8cf67ef0e92cc53c91e66a6deec (patch)
treeca13237c15fbfc83e460cb5c5685d3dfd4dcbc1f /qpid/cpp/src/tests/FramingTest.cpp
parentf9236f2f81a1df20a4a95d2e8dc8538b33fb4746 (diff)
downloadqpid-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.cpp90
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);