summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_websocket_stream_spdy3_unittest.cc
diff options
context:
space:
mode:
authortoyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 02:27:32 +0000
committertoyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 02:27:32 +0000
commit5e248dc8b3db2bcc2141130d58bdfbb7e5a93749 (patch)
treea86f8b88f9c240da4589e47e380aee04bc75c5d6 /net/spdy/spdy_websocket_stream_spdy3_unittest.cc
parente9ab37ef71e6694a392f5b26aed0ba6f39304c64 (diff)
downloadchromium_src-5e248dc8b3db2bcc2141130d58bdfbb7e5a93749.zip
chromium_src-5e248dc8b3db2bcc2141130d58bdfbb7e5a93749.tar.gz
chromium_src-5e248dc8b3db2bcc2141130d58bdfbb7e5a93749.tar.bz2
WebSocket over SPDY: unit test cleanup
To prepare for new framing implementation and tests. - update test data to mimic real cases and follow the latest spec - reorganize utility functions for tests BUG=42320 TEST=net_unittests Review URL: https://chromiumcodereview.appspot.com/10832335 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152484 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_websocket_stream_spdy3_unittest.cc')
-rw-r--r--net/spdy/spdy_websocket_stream_spdy3_unittest.cc50
1 files changed, 19 insertions, 31 deletions
diff --git a/net/spdy/spdy_websocket_stream_spdy3_unittest.cc b/net/spdy/spdy_websocket_stream_spdy3_unittest.cc
index 167d6af..35e35e2 100644
--- a/net/spdy/spdy_websocket_stream_spdy3_unittest.cc
+++ b/net/spdy/spdy_websocket_stream_spdy3_unittest.cc
@@ -63,15 +63,13 @@ class SpdyWebSocketStreamEventRecorder : public SpdyWebSocketStream::Delegate {
void SetOnSentHeaders(const StreamEventCallback& callback) {
on_sent_headers_ = callback;
}
- void SetOnReceivedHeader(
- const StreamEventCallback& callback) {
+ void SetOnReceivedHeader(const StreamEventCallback& callback) {
on_received_header_ = callback;
}
void SetOnSentData(const StreamEventCallback& callback) {
on_sent_data_ = callback;
}
- void SetOnReceivedData(
- const StreamEventCallback& callback) {
+ void SetOnReceivedData(const StreamEventCallback& callback) {
on_received_data_ = callback;
}
void SetOnClose(const StreamEventCallback& callback) {
@@ -210,30 +208,13 @@ class SpdyWebSocketStreamSpdy3Test : public testing::Test {
void Prepare(SpdyStreamId stream_id) {
stream_id_ = stream_id;
- const char* const request_headers[] = {
- "url", "ws://example.com/echo",
- "origin", "http://example.com/wsdemo",
- };
-
- int request_header_count = arraysize(request_headers) / 2;
-
- const char* const response_headers[] = {
- "sec-websocket-location", "ws://example.com/echo",
- "sec-websocket-origin", "http://example.com/wsdemo",
- };
-
- int response_header_count = arraysize(response_headers) / 2;
-
- request_frame_.reset(ConstructSpdyWebSocketHandshakeRequestFrame(
- request_headers,
- request_header_count,
+ request_frame_.reset(ConstructSpdyWebSocketSynStream(
stream_id_,
- HIGHEST));
- response_frame_.reset(ConstructSpdyWebSocketHandshakeResponseFrame(
- response_headers,
- response_header_count,
- stream_id_,
- HIGHEST));
+ "/echo",
+ "example.com",
+ "http://example.com/wsdemo"));
+
+ response_frame_.reset(ConstructSpdyWebSocketSynReply(stream_id_));
message_frame_.reset(ConstructSpdyWebSocketDataFrame(
kMessageFrame,
@@ -247,6 +228,7 @@ class SpdyWebSocketStreamSpdy3Test : public testing::Test {
stream_id_,
false));
}
+
int InitSession(MockRead* reads, size_t reads_count,
MockWrite* writes, size_t writes_count,
bool throttling) {
@@ -282,10 +264,14 @@ class SpdyWebSocketStreamSpdy3Test : public testing::Test {
EXPECT_EQ(OK, callback.WaitForResult());
return session_->InitializeWithSocket(connection.release(), false, OK);
}
+
void SendRequest() {
scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock);
- (*headers)["url"] = "ws://example.com/echo";
- (*headers)["origin"] = "http://example.com/wsdemo";
+ (*headers)[":path"] = "/echo";
+ (*headers)[":host"] = "example.com";
+ (*headers)[":version"] = "WebSocket/13";
+ (*headers)[":scheme"] = "ws";
+ (*headers)[":origin"] = "http://example.com/wsdemo";
websocket_stream_->SendRequest(headers.Pass());
}
@@ -320,8 +306,10 @@ class SpdyWebSocketStreamSpdy3Test : public testing::Test {
SpdyTestStateHelper spdy_state_;
};
-const char SpdyWebSocketStreamSpdy3Test::kMessageFrame[] = "\0hello\xff";
-const char SpdyWebSocketStreamSpdy3Test::kClosingFrame[] = "\xff\0";
+// TODO(toyoshim): Replace old framing data to new one, then use HEADERS and
+// data frames.
+const char SpdyWebSocketStreamSpdy3Test::kMessageFrame[] = "\x81\x05hello";
+const char SpdyWebSocketStreamSpdy3Test::kClosingFrame[] = "\x88\0";
const size_t SpdyWebSocketStreamSpdy3Test::kMessageFrameLength =
arraysize(SpdyWebSocketStreamSpdy3Test::kMessageFrame) - 1;
const size_t SpdyWebSocketStreamSpdy3Test::kClosingFrameLength =