Index: net/quic/quic_network_transaction_unittest.cc |
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc |
index 19d85f7ec3117dc39bd5a82d5ec751f22765147f..cb6756915632434cf683e540982f5c07b083fd05 100644 |
--- a/net/quic/quic_network_transaction_unittest.cc |
+++ b/net/quic/quic_network_transaction_unittest.cc |
@@ -131,8 +131,6 @@ class QuicNetworkTransactionTest |
PlatformTest::TearDown(); |
NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(); |
base::MessageLoop::current()->RunUntilIdle(); |
- HttpStreamFactory::set_use_alternate_protocols(false); |
- HttpStreamFactory::SetNextProtos(std::vector<NextProto>()); |
} |
scoped_ptr<QuicEncryptedPacket> ConstructConnectionClosePacket( |
@@ -188,10 +186,16 @@ class QuicNetworkTransactionTest |
} |
void CreateSession() { |
- CreateSessionWithFactory(&socket_factory_); |
+ CreateSessionWithFactory(&socket_factory_, false); |
} |
- void CreateSessionWithFactory(ClientSocketFactory* socket_factory) { |
+ void CreateSessionWithNextProtos() { |
+ CreateSessionWithFactory(&socket_factory_, true); |
+ } |
+ |
+ // If |use_next_protos| is true, enables SPDY and QUIC. |
+ void CreateSessionWithFactory(ClientSocketFactory* socket_factory, |
+ bool use_next_protos) { |
params_.enable_quic = true; |
params_.quic_clock = clock_; |
params_.quic_random = &random_generator_; |
@@ -206,6 +210,11 @@ class QuicNetworkTransactionTest |
params_.http_server_properties = http_server_properties.GetWeakPtr(); |
params_.quic_supported_versions = SupportedVersions(GetParam()); |
+ if (use_next_protos) { |
+ params_.use_alternate_protocols = true; |
+ params_.next_protos = NextProtosSpdy3(); |
+ } |
+ |
session_ = new HttpNetworkSession(params_); |
session_->quic_stream_factory()->set_require_confirmation(false); |
} |
@@ -445,8 +454,6 @@ TEST_P(QuicNetworkTransactionTest, DoNotForceQuicForHttps) { |
} |
TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolForQuic) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
MockRead http_reads[] = { |
MockRead("HTTP/1.1 200 OK\r\n"), |
MockRead(kQuicAlternateProtocolHttpHeader), |
@@ -477,7 +484,7 @@ TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolForQuic) { |
// the alternate-protocol job will "win". |
AddHangingNonAlternateProtocolSocketData(); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
SendRequestAndExpectHttpResponse("hello world"); |
SendRequestAndExpectQuicResponse("hello!"); |
@@ -487,7 +494,6 @@ TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolForQuicForHttps) { |
params_.origin_to_force_quic_on = |
HostPortPair::FromString("www.google.com:443"); |
params_.enable_quic_https = true; |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
MockRead http_reads[] = { |
MockRead("HTTP/1.1 200 OK\r\n"), |
@@ -519,14 +525,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolForQuicForHttps) { |
// the alternate-protocol job will "win". |
AddHangingNonAlternateProtocolSocketData(); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
// TODO(rtenneti): Test QUIC over HTTPS, GetSSLInfo(). |
SendRequestAndExpectHttpResponse("hello world"); |
} |
TEST_P(QuicNetworkTransactionTest, HungAlternateProtocol) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
crypto_client_stream_factory_.set_handshake_mode( |
MockCryptoClientStream::COLD_START); |
@@ -565,7 +570,7 @@ TEST_P(QuicNetworkTransactionTest, HungAlternateProtocol) { |
http_writes, arraysize(http_writes)); |
socket_factory.AddSocketDataProvider(&http_data2); |
- CreateSessionWithFactory(&socket_factory); |
+ CreateSessionWithFactory(&socket_factory, true); |
// Run the first request. |
http_data.StopAfter(arraysize(http_reads) + arraysize(http_writes)); |
@@ -585,8 +590,6 @@ TEST_P(QuicNetworkTransactionTest, HungAlternateProtocol) { |
} |
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
MockQuicData mock_quic_data; |
mock_quic_data.AddWrite( |
ConstructRequestHeadersPacket(1, kClientDataStreamId1, true, true, |
@@ -605,14 +608,12 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) { |
// the alternate-protocol job will "win". |
AddHangingNonAlternateProtocolSocketData(); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
SendRequestAndExpectQuicResponse("hello!"); |
} |
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
MockQuicData mock_quic_data; |
mock_quic_data.AddWrite( |
ConstructRequestHeadersPacket(1, kClientDataStreamId1, true, true, |
@@ -640,7 +641,7 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) { |
NULL, |
net_log_.bound()); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
SendRequestAndExpectQuicResponse("hello!"); |
} |
@@ -648,7 +649,6 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) { |
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithProxy) { |
proxy_service_.reset( |
ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
// Since we are using a proxy, the QUIC job will not succeed. |
MockWrite http_writes[] = { |
@@ -682,14 +682,12 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithProxy) { |
NULL, |
net_log_.bound()); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
SendRequestAndExpectHttpResponse("hello world"); |
} |
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithConfirmationRequired) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
MockQuicData mock_quic_data; |
mock_quic_data.AddWrite( |
ConstructRequestHeadersPacket(1, kClientDataStreamId1, true, true, |
@@ -719,7 +717,7 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithConfirmationRequired) { |
host_resolver_.Resolve(info, DEFAULT_PRIORITY, &address, |
CompletionCallback(), NULL, net_log_.bound()); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
session_->quic_stream_factory()->set_require_confirmation(true); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
@@ -735,8 +733,6 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithConfirmationRequired) { |
} |
TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocol) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
// Alternate-protocol job |
scoped_ptr<QuicEncryptedPacket> close(ConstructConnectionClosePacket(1)); |
MockRead quic_reads[] = { |
@@ -759,15 +755,13 @@ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocol) { |
NULL, 0); |
socket_factory_.AddSocketDataProvider(&http_data); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); |
SendRequestAndExpectHttpResponse("hello from http"); |
ExpectBrokenAlternateProtocolMapping(); |
} |
TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolReadError) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
// Alternate-protocol job |
MockRead quic_reads[] = { |
MockRead(ASYNC, ERR_SOCKET_NOT_CONNECTED), |
@@ -788,7 +782,7 @@ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolReadError) { |
NULL, 0); |
socket_factory_.AddSocketDataProvider(&http_data); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); |
SendRequestAndExpectHttpResponse("hello from http"); |
@@ -796,8 +790,6 @@ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolReadError) { |
} |
TEST_P(QuicNetworkTransactionTest, NoBrokenAlternateProtocolIfTcpFails) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
// Alternate-protocol job will fail when the session attempts to read. |
MockRead quic_reads[] = { |
MockRead(ASYNC, ERR_SOCKET_NOT_CONNECTED), |
@@ -816,7 +808,7 @@ TEST_P(QuicNetworkTransactionTest, NoBrokenAlternateProtocolIfTcpFails) { |
http_data.set_connect_data(MockConnect(ASYNC, ERR_SOCKET_NOT_CONNECTED)); |
socket_factory_.AddSocketDataProvider(&http_data); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); |
scoped_ptr<HttpNetworkTransaction> trans( |
@@ -829,8 +821,6 @@ TEST_P(QuicNetworkTransactionTest, NoBrokenAlternateProtocolIfTcpFails) { |
} |
TEST_P(QuicNetworkTransactionTest, FailedZeroRttBrokenAlternateProtocol) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
// Alternate-protocol job |
MockRead quic_reads[] = { |
MockRead(ASYNC, ERR_SOCKET_NOT_CONNECTED), |
@@ -853,7 +843,7 @@ TEST_P(QuicNetworkTransactionTest, FailedZeroRttBrokenAlternateProtocol) { |
NULL, 0); |
socket_factory_.AddSocketDataProvider(&http_data); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
@@ -866,8 +856,6 @@ TEST_P(QuicNetworkTransactionTest, FailedZeroRttBrokenAlternateProtocol) { |
} |
TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolOnConnectFailure) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
// Alternate-protocol job will fail before creating a QUIC session. |
StaticSocketDataProvider quic_data(NULL, 0, NULL, 0); |
quic_data.set_connect_data(MockConnect(SYNCHRONOUS, |
@@ -886,7 +874,7 @@ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolOnConnectFailure) { |
NULL, 0); |
socket_factory_.AddSocketDataProvider(&http_data); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); |
SendRequestAndExpectHttpResponse("hello from http"); |
@@ -894,8 +882,6 @@ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolOnConnectFailure) { |
} |
TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnect) { |
- HttpStreamFactory::EnableNpnSpdy3(); // Enables QUIC too. |
- |
MockQuicData mock_quic_data; |
mock_quic_data.AddRead(ConstructConnectionClosePacket(1)); |
mock_quic_data.AddWrite( |
@@ -931,7 +917,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnect) { |
NULL, |
net_log_.bound()); |
- CreateSession(); |
+ CreateSessionWithNextProtos(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
SendRequestAndExpectHttpResponse("hello world"); |
} |