OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/http/http_stream_factory_impl.h" | 5 #include "net/http/http_stream_factory_impl.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2224 test::QuicTestPacketMaker& server_packet_maker() { | 2224 test::QuicTestPacketMaker& server_packet_maker() { |
2225 return server_packet_maker_; | 2225 return server_packet_maker_; |
2226 } | 2226 } |
2227 | 2227 |
2228 MockClientSocketFactory& socket_factory() { return socket_factory_; } | 2228 MockClientSocketFactory& socket_factory() { return socket_factory_; } |
2229 | 2229 |
2230 HttpNetworkSession* session() { return session_.get(); } | 2230 HttpNetworkSession* session() { return session_.get(); } |
2231 | 2231 |
2232 const GURL default_url_; | 2232 const GURL default_url_; |
2233 | 2233 |
| 2234 QuicStreamId GetNthClientInitiatedStreamId(int n) { |
| 2235 return test::GetNthClientInitiatedStreamId(GetParam(), n); |
| 2236 } |
| 2237 |
2234 private: | 2238 private: |
2235 MockClock clock_; | 2239 MockClock clock_; |
2236 test::QuicTestPacketMaker client_packet_maker_; | 2240 test::QuicTestPacketMaker client_packet_maker_; |
2237 test::QuicTestPacketMaker server_packet_maker_; | 2241 test::QuicTestPacketMaker server_packet_maker_; |
2238 MockClientSocketFactory socket_factory_; | 2242 MockClientSocketFactory socket_factory_; |
2239 std::unique_ptr<HttpNetworkSession> session_; | 2243 std::unique_ptr<HttpNetworkSession> session_; |
2240 test::MockRandom random_generator_; | 2244 test::MockRandom random_generator_; |
2241 MockCertVerifier cert_verifier_; | 2245 MockCertVerifier cert_verifier_; |
2242 ProofVerifyDetailsChromium verify_details_; | 2246 ProofVerifyDetailsChromium verify_details_; |
2243 MockCryptoClientStreamFactory crypto_client_stream_factory_; | 2247 MockCryptoClientStreamFactory crypto_client_stream_factory_; |
(...skipping 14 matching lines...) Expand all Loading... |
2258 TEST_P(HttpStreamFactoryBidirectionalQuicTest, | 2262 TEST_P(HttpStreamFactoryBidirectionalQuicTest, |
2259 RequestBidirectionalStreamImplQuicAlternative) { | 2263 RequestBidirectionalStreamImplQuicAlternative) { |
2260 MockQuicData mock_quic_data; | 2264 MockQuicData mock_quic_data; |
2261 SpdyPriority priority = | 2265 SpdyPriority priority = |
2262 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); | 2266 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); |
2263 size_t spdy_headers_frame_length; | 2267 size_t spdy_headers_frame_length; |
2264 QuicStreamOffset header_stream_offset = 0; | 2268 QuicStreamOffset header_stream_offset = 0; |
2265 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( | 2269 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( |
2266 1, &header_stream_offset)); | 2270 1, &header_stream_offset)); |
2267 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( | 2271 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( |
2268 2, test::kClientDataStreamId1, /*should_include_version=*/true, | 2272 2, GetNthClientInitiatedStreamId(0), /*should_include_version=*/true, |
2269 /*fin=*/true, priority, | 2273 /*fin=*/true, priority, |
2270 client_packet_maker().GetRequestHeaders("GET", "https", "/"), | 2274 client_packet_maker().GetRequestHeaders("GET", "https", "/"), |
2271 &spdy_headers_frame_length, &header_stream_offset)); | 2275 &spdy_headers_frame_length, &header_stream_offset)); |
2272 size_t spdy_response_headers_frame_length; | 2276 size_t spdy_response_headers_frame_length; |
2273 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2277 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2274 1, test::kClientDataStreamId1, /*should_include_version=*/false, | 2278 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, |
2275 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2279 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2276 &spdy_response_headers_frame_length)); | 2280 &spdy_response_headers_frame_length)); |
2277 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2281 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2278 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2282 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2279 | 2283 |
2280 // Add hanging data for http job. | 2284 // Add hanging data for http job. |
2281 std::unique_ptr<StaticSocketDataProvider> hanging_data; | 2285 std::unique_ptr<StaticSocketDataProvider> hanging_data; |
2282 hanging_data.reset(new StaticSocketDataProvider()); | 2286 hanging_data.reset(new StaticSocketDataProvider()); |
2283 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 2287 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
2284 hanging_data->set_connect_data(hanging_connect); | 2288 hanging_data->set_connect_data(hanging_connect); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2386 RequestBidirectionalStreamImplHttpJobFailsQuicJobSucceeds) { | 2390 RequestBidirectionalStreamImplHttpJobFailsQuicJobSucceeds) { |
2387 // Set up Quic data. | 2391 // Set up Quic data. |
2388 MockQuicData mock_quic_data; | 2392 MockQuicData mock_quic_data; |
2389 SpdyPriority priority = | 2393 SpdyPriority priority = |
2390 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); | 2394 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); |
2391 size_t spdy_headers_frame_length; | 2395 size_t spdy_headers_frame_length; |
2392 QuicStreamOffset header_stream_offset = 0; | 2396 QuicStreamOffset header_stream_offset = 0; |
2393 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( | 2397 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( |
2394 1, &header_stream_offset)); | 2398 1, &header_stream_offset)); |
2395 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( | 2399 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( |
2396 2, test::kClientDataStreamId1, /*should_include_version=*/true, | 2400 2, GetNthClientInitiatedStreamId(0), /*should_include_version=*/true, |
2397 /*fin=*/true, priority, | 2401 /*fin=*/true, priority, |
2398 client_packet_maker().GetRequestHeaders("GET", "https", "/"), | 2402 client_packet_maker().GetRequestHeaders("GET", "https", "/"), |
2399 &spdy_headers_frame_length, &header_stream_offset)); | 2403 &spdy_headers_frame_length, &header_stream_offset)); |
2400 size_t spdy_response_headers_frame_length; | 2404 size_t spdy_response_headers_frame_length; |
2401 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2405 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2402 1, test::kClientDataStreamId1, /*should_include_version=*/false, | 2406 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, |
2403 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2407 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2404 &spdy_response_headers_frame_length)); | 2408 &spdy_response_headers_frame_length)); |
2405 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2409 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2406 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2410 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2407 | 2411 |
2408 // Make the http job fail. | 2412 // Make the http job fail. |
2409 std::unique_ptr<StaticSocketDataProvider> http_job_data; | 2413 std::unique_ptr<StaticSocketDataProvider> http_job_data; |
2410 http_job_data.reset(new StaticSocketDataProvider()); | 2414 http_job_data.reset(new StaticSocketDataProvider()); |
2411 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); | 2415 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); |
2412 http_job_data->set_connect_data(failed_connect); | 2416 http_job_data->set_connect_data(failed_connect); |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2698 session->GetTransportSocketPool( | 2702 session->GetTransportSocketPool( |
2699 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2703 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2700 EXPECT_EQ(1, GetSocketPoolGroupCount( | 2704 EXPECT_EQ(1, GetSocketPoolGroupCount( |
2701 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2705 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2702 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2706 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
2703 } | 2707 } |
2704 | 2708 |
2705 } // namespace | 2709 } // namespace |
2706 | 2710 |
2707 } // namespace net | 2711 } // namespace net |
OLD | NEW |