diff options
author | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 02:27:32 +0000 |
---|---|---|
committer | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 02:27:32 +0000 |
commit | 5e248dc8b3db2bcc2141130d58bdfbb7e5a93749 (patch) | |
tree | a86f8b88f9c240da4589e47e380aee04bc75c5d6 /net/spdy/spdy_websocket_stream_spdy3_unittest.cc | |
parent | e9ab37ef71e6694a392f5b26aed0ba6f39304c64 (diff) | |
download | chromium_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.cc | 50 |
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 = |