Index: net/spdy/spdy_http_stream_unittest.cc |
diff --git a/net/spdy/spdy_http_stream_unittest.cc b/net/spdy/spdy_http_stream_unittest.cc |
index 3039de8abd76cc4405bca680244e4e7d763e23d3..b1ad0c2b1a9fd7398e0f9fef39d190bc4c12bff7 100644 |
--- a/net/spdy/spdy_http_stream_unittest.cc |
+++ b/net/spdy/spdy_http_stream_unittest.cc |
@@ -113,7 +113,9 @@ class SpdyHttpStreamTest : public testing::Test, |
public: |
SpdyHttpStreamTest() |
: spdy_util_(GetProtocol(), GetDependenciesFromPriority()), |
- session_deps_(GetProtocol()) { |
+ session_deps_(GetProtocol()), |
+ host_port_pair_(HostPortPair::FromURL(GURL(kDefaultUrl))), |
+ key_(host_port_pair_, ProxyServer::Direct(), PRIVACY_MODE_DISABLED) { |
session_deps_.enable_priority_dependencies = GetDependenciesFromPriority(); |
session_deps_.net_log = &net_log_; |
spdy_util_.set_default_url(GURL("http://www.example.org/")); |
@@ -141,14 +143,13 @@ class SpdyHttpStreamTest : public testing::Test, |
void InitSession(MockRead* reads, |
size_t reads_count, |
MockWrite* writes, |
- size_t writes_count, |
- const SpdySessionKey& key) { |
+ size_t writes_count) { |
sequenced_data_.reset( |
new SequencedSocketData(reads, reads_count, writes, writes_count)); |
session_deps_.socket_factory->AddSocketDataProvider(sequenced_data_.get()); |
http_session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); |
session_ = |
- CreateInsecureSpdySession(http_session_.get(), key, BoundNetLog()); |
+ CreateInsecureSpdySession(http_session_.get(), key_, BoundNetLog()); |
} |
void TestSendCredentials( |
@@ -159,6 +160,8 @@ class SpdyHttpStreamTest : public testing::Test, |
SpdyTestUtil spdy_util_; |
TestNetLog net_log_; |
SpdySessionDependencies session_deps_; |
+ const HostPortPair host_port_pair_; |
+ const SpdySessionKey key_; |
std::unique_ptr<SequencedSocketData> sequenced_data_; |
std::unique_ptr<HttpNetworkSession> http_session_; |
base::WeakPtr<SpdySession> session_; |
@@ -180,10 +183,7 @@ TEST_P(SpdyHttpStreamTest, GetUploadProgressBeforeInitialization) { |
MockRead(ASYNC, 0, 0) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), nullptr, 0, key); |
+ InitSession(reads, arraysize(reads), nullptr, 0); |
SpdyHttpStream stream(session_, false); |
UploadProgress progress = stream.GetUploadProgress(); |
@@ -206,10 +206,7 @@ TEST_P(SpdyHttpStreamTest, SendRequest) { |
CreateMockRead(*resp, 1), MockRead(SYNCHRONOUS, 0, 2) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
HttpRequestInfo request; |
request.method = "GET"; |
@@ -232,7 +229,7 @@ TEST_P(SpdyHttpStreamTest, SendRequest) { |
EXPECT_EQ(ERR_IO_PENDING, http_stream->SendRequest(headers, &response, |
callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_FALSE(http_stream->GetLoadTimingInfo(&load_timing_info)); |
callback.WaitForResult(); |
@@ -242,7 +239,7 @@ TEST_P(SpdyHttpStreamTest, SendRequest) { |
// Because we abandoned the stream, we don't expect to find a session in the |
// pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
TestLoadTimingNotReused(*http_stream); |
http_stream->Close(true); |
@@ -281,10 +278,7 @@ TEST_P(SpdyHttpStreamTest, LoadTimingTwoRequests) { |
MockRead(ASYNC, 0, 6) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
HttpRequestInfo request1; |
request1.method = "GET"; |
@@ -311,7 +305,7 @@ TEST_P(SpdyHttpStreamTest, LoadTimingTwoRequests) { |
CompletionCallback())); |
EXPECT_EQ(ERR_IO_PENDING, http_stream1->SendRequest(headers1, &response1, |
callback1.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_LE(0, callback1.WaitForResult()); |
@@ -328,7 +322,7 @@ TEST_P(SpdyHttpStreamTest, LoadTimingTwoRequests) { |
CompletionCallback())); |
EXPECT_EQ(ERR_IO_PENDING, http_stream2->SendRequest(headers2, &response2, |
callback2.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_LE(0, callback2.WaitForResult()); |
TestLoadTimingReused(*http_stream2); |
@@ -378,10 +372,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPost) { |
MockRead(SYNCHRONOUS, 0, 4) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
ChunkedUploadDataStream upload_stream(0); |
@@ -409,7 +400,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPost) { |
EXPECT_EQ(ERR_IO_PENDING, http_stream.SendRequest( |
headers, &response, callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_EQ(OK, callback.WaitForResult()); |
@@ -420,7 +411,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPost) { |
// Because the server closed the connection, we there shouldn't be a session |
// in the pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
} |
// This unittest tests the request callback is properly called and handled. |
@@ -442,10 +433,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPostLastEmpty) { |
MockRead(SYNCHRONOUS, 0, 4) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
ChunkedUploadDataStream upload_stream(0); |
@@ -467,7 +455,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPostLastEmpty) { |
net_log, CompletionCallback())); |
EXPECT_EQ(ERR_IO_PENDING, |
http_stream.SendRequest(headers, &response, callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_EQ(OK, callback.WaitForResult()); |
@@ -478,7 +466,7 @@ TEST_P(SpdyHttpStreamTest, SendChunkedPostLastEmpty) { |
// Because the server closed the connection, there shouldn't be a session |
// in the pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
} |
TEST_P(SpdyHttpStreamTest, ConnectionClosedDuringChunkedPost) { |
@@ -499,10 +487,7 @@ TEST_P(SpdyHttpStreamTest, ConnectionClosedDuringChunkedPost) { |
MockRead(ASYNC, ERR_CONNECTION_CLOSED, 2) // Server hangs up early. |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
ChunkedUploadDataStream upload_stream(0); |
@@ -526,7 +511,7 @@ TEST_P(SpdyHttpStreamTest, ConnectionClosedDuringChunkedPost) { |
EXPECT_EQ(ERR_IO_PENDING, |
http_stream.SendRequest(headers, &response, callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult()); |
@@ -536,7 +521,7 @@ TEST_P(SpdyHttpStreamTest, ConnectionClosedDuringChunkedPost) { |
// Because the server closed the connection, we there shouldn't be a session |
// in the pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
// Appending a second chunk now should not result in a crash. |
upload_stream.AppendData(kUploadData, kUploadDataSize, true); |
@@ -579,10 +564,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPost) { |
MockRead(ASYNC, 0, 8) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
ChunkedUploadDataStream upload_stream(0); |
@@ -607,7 +589,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPost) { |
// complete asynchronously. |
EXPECT_EQ(ERR_IO_PENDING, http_stream->SendRequest(headers, &response, |
callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
// Complete the initial request write and the first chunk. |
base::RunLoop().RunUntilIdle(); |
@@ -680,10 +662,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPostWithEmptyFinalDataFrame) { |
MockRead(ASYNC, 0, 6) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
ChunkedUploadDataStream upload_stream(0); |
@@ -708,7 +687,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPostWithEmptyFinalDataFrame) { |
// complete asynchronously. |
EXPECT_EQ(ERR_IO_PENDING, http_stream->SendRequest(headers, &response, |
callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
// Complete the initial request write and the first chunk. |
base::RunLoop().RunUntilIdle(); |
@@ -770,10 +749,7 @@ TEST_P(SpdyHttpStreamTest, ChunkedPostWithEmptyPayload) { |
MockRead(ASYNC, 0, 4) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
ChunkedUploadDataStream upload_stream(0); |
@@ -798,7 +774,7 @@ TEST_P(SpdyHttpStreamTest, ChunkedPostWithEmptyPayload) { |
// complete asynchronously. |
EXPECT_EQ(ERR_IO_PENDING, http_stream->SendRequest(headers, &response, |
callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
// Complete writing request, followed by a FIN. |
base::RunLoop().RunUntilIdle(); |
@@ -838,10 +814,7 @@ TEST_P(SpdyHttpStreamTest, SpdyURLTest) { |
CreateMockRead(*resp, 1), MockRead(SYNCHRONOUS, 0, 2) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
HttpRequestInfo request; |
request.method = "GET"; |
@@ -870,7 +843,7 @@ TEST_P(SpdyHttpStreamTest, SpdyURLTest) { |
// Because we abandoned the stream, we don't expect to find a session in the |
// pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
} |
// Test the receipt of a WINDOW_UPDATE frame while waiting for a chunk to be |
@@ -896,11 +869,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPostWithWindowUpdate) { |
MockRead(ASYNC, 0, 6) // EOF |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
ChunkedUploadDataStream upload_stream(0); |
@@ -924,7 +893,7 @@ TEST_P(SpdyHttpStreamTest, DelayedSendChunkedPostWithWindowUpdate) { |
TestCompletionCallback callback; |
EXPECT_EQ(ERR_IO_PENDING, http_stream->SendRequest(headers, &response, |
callback.callback())); |
- EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_TRUE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
// Complete the initial request write and first chunk. |
base::RunLoop().RunUntilIdle(); |
@@ -1004,10 +973,7 @@ TEST_P(SpdyHttpStreamTest, DataReadErrorSynchronous) { |
CreateMockRead(*resp, 2), MockRead(SYNCHRONOUS, 0, 3), |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
ReadErrorUploadDataStream upload_data_stream( |
@@ -1032,7 +998,7 @@ TEST_P(SpdyHttpStreamTest, DataReadErrorSynchronous) { |
// Because the server has not closed the connection yet, there shouldn't be |
// a stream but a session in the pool |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
} |
TEST_P(SpdyHttpStreamTest, DataReadErrorAsynchronous) { |
@@ -1057,10 +1023,7 @@ TEST_P(SpdyHttpStreamTest, DataReadErrorAsynchronous) { |
MockRead(ASYNC, 0, 2), |
}; |
- HostPortPair host_port_pair("www.example.org", 80); |
- SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
- PRIVACY_MODE_DISABLED); |
- InitSession(reads, arraysize(reads), writes, arraysize(writes), key); |
+ InitSession(reads, arraysize(reads), writes, arraysize(writes)); |
EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
ReadErrorUploadDataStream upload_data_stream( |
@@ -1086,7 +1049,7 @@ TEST_P(SpdyHttpStreamTest, DataReadErrorAsynchronous) { |
// Because the server has closed the connection, there shouldn't be a session |
// in the pool anymore. |
- EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key)); |
+ EXPECT_FALSE(HasSpdySession(http_session_->spdy_session_pool(), key_)); |
} |
// TODO(willchan): Write a longer test for SpdyStream that exercises all |