summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_websocket_stream_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/spdy/spdy_websocket_stream_unittest.cc')
-rw-r--r--net/spdy/spdy_websocket_stream_unittest.cc56
1 files changed, 25 insertions, 31 deletions
diff --git a/net/spdy/spdy_websocket_stream_unittest.cc b/net/spdy/spdy_websocket_stream_unittest.cc
index f05b34e..e0661a0 100644
--- a/net/spdy/spdy_websocket_stream_unittest.cc
+++ b/net/spdy/spdy_websocket_stream_unittest.cc
@@ -238,23 +238,11 @@ class SpdyWebSocketStreamTest
}
void InitSession(MockRead* reads, size_t reads_count,
- MockWrite* writes, size_t writes_count,
- bool throttling) {
+ MockWrite* writes, size_t writes_count) {
data_.reset(new OrderedSocketData(reads, reads_count,
writes, writes_count));
session_deps_.socket_factory->AddSocketDataProvider(data_.get());
http_session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_);
- SpdySessionPool* spdy_session_pool(http_session_->spdy_session_pool());
-
- if (throttling) {
- // Set max concurrent streams to 1.
- spdy_session_pool->http_server_properties()->SetSpdySetting(
- host_port_pair_,
- spdy_settings_id_to_set_,
- spdy_settings_flags_to_set_,
- spdy_settings_value_to_set_);
- }
-
session_ = CreateInsecureSpdySession(
http_session_, spdy_session_key_, BoundNetLog());
}
@@ -327,7 +315,7 @@ TEST_P(SpdyWebSocketStreamTest, Basic) {
MockRead(SYNCHRONOUS, 0, 8) // EOF cause OnCloseSpdyStream event.
};
- InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
+ InitSession(reads, arraysize(reads), writes, arraysize(writes));
SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
delegate.SetOnReceivedHeader(
@@ -399,7 +387,7 @@ TEST_P(SpdyWebSocketStreamTest, DestructionBeforeClose) {
MockRead(ASYNC, ERR_IO_PENDING, 5)
};
- InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
+ InitSession(reads, arraysize(reads), writes, arraysize(writes));
SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
delegate.SetOnReceivedHeader(
@@ -461,7 +449,7 @@ TEST_P(SpdyWebSocketStreamTest, DestructionAfterExplicitClose) {
MockRead(ASYNC, ERR_IO_PENDING, 6)
};
- InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
+ InitSession(reads, arraysize(reads), writes, arraysize(writes));
SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
delegate.SetOnReceivedHeader(
@@ -512,24 +500,27 @@ TEST_P(SpdyWebSocketStreamTest, IOPending) {
scoped_ptr<SpdyFrame> settings_frame(
spdy_util_.ConstructSpdySettings(spdy_settings_to_send_));
MockWrite writes[] = {
- // Setting throttling make SpdySession send settings frame automatically.
- CreateMockWrite(*settings_frame.get(), 1),
- CreateMockWrite(*request_frame_.get(), 3),
- CreateMockWrite(*message_frame_.get(), 6),
- CreateMockWrite(*closing_frame_.get(), 9)
+ CreateMockWrite(*request_frame_.get(), 1),
+ CreateMockWrite(*message_frame_.get(), 3),
+ CreateMockWrite(*closing_frame_.get(), 5)
};
MockRead reads[] = {
- CreateMockRead(*settings_frame.get(), 2),
- CreateMockRead(*response_frame_.get(), 4),
- // Skip sequence 5 (I/O Pending)
- CreateMockRead(*message_frame_.get(), 7),
- // Skip sequence 8 (I/O Pending)
- CreateMockRead(*closing_frame_.get(), 10),
- MockRead(SYNCHRONOUS, 0, 11) // EOF cause OnCloseSpdyStream event.
+ CreateMockRead(*settings_frame.get(), 0),
+ CreateMockRead(*response_frame_.get(), 2),
+ CreateMockRead(*message_frame_.get(), 4),
+ CreateMockRead(*closing_frame_.get(), 6),
+ MockRead(SYNCHRONOUS, 0, 7) // EOF cause OnCloseSpdyStream event.
};
- InitSession(reads, arraysize(reads), writes, arraysize(writes), true);
+ DeterministicSocketData data(reads, arraysize(reads),
+ writes, arraysize(writes));
+ session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data);
+ http_session_ =
+ SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_);
+
+ session_ = CreateInsecureSpdySession(
+ http_session_, spdy_session_key_, BoundNetLog());
// Create a dummy WebSocketStream which cause ERR_IO_PENDING to another
// WebSocketStream under test.
@@ -542,6 +533,8 @@ TEST_P(SpdyWebSocketStreamTest, IOPending) {
ASSERT_EQ(OK,
block_stream->InitializeStream(block_url, HIGHEST, block_net_log));
+ data.RunFor(1);
+
// Create a WebSocketStream under test.
SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
delegate.SetOnCreated(
@@ -566,6 +559,7 @@ TEST_P(SpdyWebSocketStreamTest, IOPending) {
SendRequest();
+ data.RunFor(7);
completion_callback_.WaitForResult();
websocket_stream_.reset();
@@ -605,8 +599,8 @@ TEST_P(SpdyWebSocketStreamTest, IOPending) {
// EOF close SPDY session.
EXPECT_FALSE(
HasSpdySession(http_session_->spdy_session_pool(), spdy_session_key_));
- EXPECT_TRUE(data()->at_read_eof());
- EXPECT_TRUE(data()->at_write_eof());
+ EXPECT_TRUE(data.at_read_eof());
+ EXPECT_TRUE(data.at_write_eof());
}
} // namespace net