Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: net/quic/chromium/quic_network_transaction_unittest.cc

Issue 2461683002: Slice enum HttpResponseInfo::ConnectionInfo by QUIC version. (Closed)
Patch Set: Update recently introduced CONNECTION_INFO_QUIC occurrences. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/chromium/quic_http_stream.cc ('k') | net/spdy/spdy_http_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <memory> 5 #include <memory>
6 #include <ostream> 6 #include <ostream>
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 bool rtt_notification_received_; 200 bool rtt_notification_received_;
201 201
202 DISALLOW_COPY_AND_ASSIGN(TestSocketPerformanceWatcherFactory); 202 DISALLOW_COPY_AND_ASSIGN(TestSocketPerformanceWatcherFactory);
203 }; 203 };
204 204
205 class QuicNetworkTransactionTest 205 class QuicNetworkTransactionTest
206 : public PlatformTest, 206 : public PlatformTest,
207 public ::testing::WithParamInterface<QuicVersion> { 207 public ::testing::WithParamInterface<QuicVersion> {
208 protected: 208 protected:
209 QuicNetworkTransactionTest() 209 QuicNetworkTransactionTest()
210 : clock_(new MockClock), 210 : version_(GetParam()),
211 client_maker_(GetParam(), 211 clock_(new MockClock),
212 client_maker_(version_,
212 0, 213 0,
213 clock_, 214 clock_,
214 kDefaultServerHostName, 215 kDefaultServerHostName,
215 Perspective::IS_CLIENT), 216 Perspective::IS_CLIENT),
216 server_maker_(GetParam(), 217 server_maker_(version_,
217 0, 218 0,
218 clock_, 219 clock_,
219 kDefaultServerHostName, 220 kDefaultServerHostName,
220 Perspective::IS_SERVER), 221 Perspective::IS_SERVER),
221 cert_transparency_verifier_(new MultiLogCTVerifier()), 222 cert_transparency_verifier_(new MultiLogCTVerifier()),
222 ssl_config_service_(new SSLConfigServiceDefaults), 223 ssl_config_service_(new SSLConfigServiceDefaults),
223 proxy_service_(ProxyService::CreateDirect()), 224 proxy_service_(ProxyService::CreateDirect()),
224 auth_handler_factory_( 225 auth_handler_factory_(
225 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)), 226 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)),
226 random_generator_(0), 227 random_generator_(0),
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 params_.cert_verifier = &cert_verifier_; 463 params_.cert_verifier = &cert_verifier_;
463 params_.transport_security_state = &transport_security_state_; 464 params_.transport_security_state = &transport_security_state_;
464 params_.cert_transparency_verifier = cert_transparency_verifier_.get(); 465 params_.cert_transparency_verifier = cert_transparency_verifier_.get();
465 params_.ct_policy_enforcer = &ct_policy_enforcer_; 466 params_.ct_policy_enforcer = &ct_policy_enforcer_;
466 params_.socket_performance_watcher_factory = 467 params_.socket_performance_watcher_factory =
467 &test_socket_performance_watcher_factory_; 468 &test_socket_performance_watcher_factory_;
468 params_.proxy_service = proxy_service_.get(); 469 params_.proxy_service = proxy_service_.get();
469 params_.ssl_config_service = ssl_config_service_.get(); 470 params_.ssl_config_service = ssl_config_service_.get();
470 params_.http_auth_handler_factory = auth_handler_factory_.get(); 471 params_.http_auth_handler_factory = auth_handler_factory_.get();
471 params_.http_server_properties = &http_server_properties_; 472 params_.http_server_properties = &http_server_properties_;
472 params_.quic_supported_versions = SupportedVersions(GetParam()); 473 params_.quic_supported_versions = SupportedVersions(version_);
473 for (const char* host : 474 for (const char* host :
474 {kDefaultServerHostName, "www.example.org", "news.example.org", 475 {kDefaultServerHostName, "www.example.org", "news.example.org",
475 "bar.example.org", "foo.example.org", "invalid.example.org", 476 "bar.example.org", "foo.example.org", "invalid.example.org",
476 "mail.example.com"}) { 477 "mail.example.com"}) {
477 params_.quic_host_whitelist.insert(host); 478 params_.quic_host_whitelist.insert(host);
478 } 479 }
479 480
480 session_.reset(new HttpNetworkSession(params_)); 481 session_.reset(new HttpNetworkSession(params_));
481 session_->quic_stream_factory()->set_require_confirmation(false); 482 session_->quic_stream_factory()->set_require_confirmation(false);
482 ASSERT_EQ(params_.quic_socket_receive_buffer_size, 483 ASSERT_EQ(params_.quic_socket_receive_buffer_size,
483 session_->quic_stream_factory()->socket_receive_buffer_size()); 484 session_->quic_stream_factory()->socket_receive_buffer_size());
484 } 485 }
485 486
486 void CheckWasQuicResponse(HttpNetworkTransaction* trans) { 487 void CheckWasQuicResponse(HttpNetworkTransaction* trans) {
487 const HttpResponseInfo* response = trans->GetResponseInfo(); 488 const HttpResponseInfo* response = trans->GetResponseInfo();
488 ASSERT_TRUE(response != nullptr); 489 ASSERT_TRUE(response != nullptr);
489 ASSERT_TRUE(response->headers.get() != nullptr); 490 ASSERT_TRUE(response->headers.get() != nullptr);
490 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 491 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
491 EXPECT_TRUE(response->was_fetched_via_spdy); 492 EXPECT_TRUE(response->was_fetched_via_spdy);
492 EXPECT_TRUE(response->was_alpn_negotiated); 493 EXPECT_TRUE(response->was_alpn_negotiated);
493 EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_QUIC, 494 EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
494 response->connection_info); 495 response->connection_info);
495 } 496 }
496 497
497 void CheckResponsePort(HttpNetworkTransaction* trans, uint16_t port) { 498 void CheckResponsePort(HttpNetworkTransaction* trans, uint16_t port) {
498 const HttpResponseInfo* response = trans->GetResponseInfo(); 499 const HttpResponseInfo* response = trans->GetResponseInfo();
499 ASSERT_TRUE(response != nullptr); 500 ASSERT_TRUE(response != nullptr);
500 EXPECT_EQ(port, response->socket_address.port()); 501 EXPECT_EQ(port, response->socket_address.port());
501 } 502 }
502 503
503 void CheckWasHttpResponse(HttpNetworkTransaction* trans) { 504 void CheckWasHttpResponse(HttpNetworkTransaction* trans) {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 EXPECT_TRUE(session_->proxy_service()->proxy_retry_info().empty()); 670 EXPECT_TRUE(session_->proxy_service()->proxy_retry_info().empty());
670 671
671 // The alternative proxy server should no longer be in use. 672 // The alternative proxy server should no longer be in use.
672 EXPECT_FALSE(test_proxy_delegate.alternative_proxy_server().is_valid()); 673 EXPECT_FALSE(test_proxy_delegate.alternative_proxy_server().is_valid());
673 674
674 // Verify that the second request completes successfully, and the 675 // Verify that the second request completes successfully, and the
675 // alternative proxy server job is not started. 676 // alternative proxy server job is not started.
676 SendRequestAndExpectHttpResponseFromProxy("hello from http", true, 443); 677 SendRequestAndExpectHttpResponseFromProxy("hello from http", true, 443);
677 } 678 }
678 679
680 const QuicVersion version_;
679 QuicFlagSaver flags_; // Save/restore all QUIC flag values. 681 QuicFlagSaver flags_; // Save/restore all QUIC flag values.
680 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. 682 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession.
681 QuicTestPacketMaker client_maker_; 683 QuicTestPacketMaker client_maker_;
682 QuicTestPacketMaker server_maker_; 684 QuicTestPacketMaker server_maker_;
683 std::unique_ptr<HttpNetworkSession> session_; 685 std::unique_ptr<HttpNetworkSession> session_;
684 MockClientSocketFactory socket_factory_; 686 MockClientSocketFactory socket_factory_;
685 ProofVerifyDetailsChromium verify_details_; 687 ProofVerifyDetailsChromium verify_details_;
686 MockCryptoClientStreamFactory crypto_client_stream_factory_; 688 MockCryptoClientStreamFactory crypto_client_stream_factory_;
687 MockHostResolver host_resolver_; 689 MockHostResolver host_resolver_;
688 MockCertVerifier cert_verifier_; 690 MockCertVerifier cert_verifier_;
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 http_server_properties->GetAlternativeServices(https_server); 1115 http_server_properties->GetAlternativeServices(https_server);
1114 EXPECT_EQ(2u, alternative_service_vector.size()); 1116 EXPECT_EQ(2u, alternative_service_vector.size());
1115 1117
1116 // Send http request to the same origin but with diffrent scheme, should not 1118 // Send http request to the same origin but with diffrent scheme, should not
1117 // use QUIC. 1119 // use QUIC.
1118 request_.url = GURL("http://mail.example.org:443"); 1120 request_.url = GURL("http://mail.example.org:443");
1119 SendRequestAndExpectHttpResponse("hello world"); 1121 SendRequestAndExpectHttpResponse("hello world");
1120 } 1122 }
1121 1123
1122 TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceAllSupportedVersion) { 1124 TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceAllSupportedVersion) {
1123 std::string altsvc_header = base::StringPrintf( 1125 std::string altsvc_header =
1124 "Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", GetParam()); 1126 base::StringPrintf("Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", version_);
1125 MockRead http_reads[] = { 1127 MockRead http_reads[] = {
1126 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()), 1128 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()),
1127 MockRead("hello world"), 1129 MockRead("hello world"),
1128 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), 1130 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
1129 MockRead(ASYNC, OK)}; 1131 MockRead(ASYNC, OK)};
1130 1132
1131 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, 1133 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr,
1132 0); 1134 0);
1133 socket_factory_.AddSocketDataProvider(&http_data); 1135 socket_factory_.AddSocketDataProvider(&http_data);
1134 socket_factory_.AddSSLSocketDataProvider(&ssl_data_); 1136 socket_factory_.AddSSLSocketDataProvider(&ssl_data_);
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1211 // because of migrating port. 1213 // because of migrating port.
1212 NetErrorDetails details; 1214 NetErrorDetails details;
1213 EXPECT_FALSE(details.quic_port_migration_detected); 1215 EXPECT_FALSE(details.quic_port_migration_detected);
1214 trans.PopulateNetErrorDetails(&details); 1216 trans.PopulateNetErrorDetails(&details);
1215 EXPECT_TRUE(details.quic_port_migration_detected); 1217 EXPECT_TRUE(details.quic_port_migration_detected);
1216 } 1218 }
1217 1219
1218 TEST_P(QuicNetworkTransactionTest, 1220 TEST_P(QuicNetworkTransactionTest,
1219 DoNotUseAlternativeServiceQuicUnsupportedVersion) { 1221 DoNotUseAlternativeServiceQuicUnsupportedVersion) {
1220 std::string altsvc_header = base::StringPrintf( 1222 std::string altsvc_header = base::StringPrintf(
1221 "Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", GetParam() - 1); 1223 "Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", version_ - 1);
1222 MockRead http_reads[] = { 1224 MockRead http_reads[] = {
1223 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()), 1225 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()),
1224 MockRead("hello world"), 1226 MockRead("hello world"),
1225 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), 1227 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
1226 MockRead(ASYNC, OK)}; 1228 MockRead(ASYNC, OK)};
1227 1229
1228 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, 1230 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr,
1229 0); 1231 0);
1230 socket_factory_.AddSocketDataProvider(&http_data); 1232 socket_factory_.AddSocketDataProvider(&http_data);
1231 socket_factory_.AddSSLSocketDataProvider(&ssl_data_); 1233 socket_factory_.AddSSLSocketDataProvider(&ssl_data_);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 1, kClientDataStreamId1, true, true, 1450 1, kClientDataStreamId1, true, true,
1449 GetRequestHeaders("GET", "https", "/"), &request_header_offset)); 1451 GetRequestHeaders("GET", "https", "/"), &request_header_offset));
1450 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( 1452 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
1451 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), 1453 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
1452 &response_header_offset)); 1454 &response_header_offset));
1453 mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, 1455 mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
1454 false, true, 0, "hello!")); 1456 false, true, 0, "hello!"));
1455 mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1)); 1457 mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1));
1456 1458
1457 // Second request. 1459 // Second request.
1458 QuicTestPacketMaker client_maker2(GetParam(), 0, clock_, origin2.host(), 1460 QuicTestPacketMaker client_maker2(version_, 0, clock_, origin2.host(),
1459 Perspective::IS_CLIENT); 1461 Perspective::IS_CLIENT);
1460 QuicTestPacketMaker server_maker2(GetParam(), 0, clock_, origin2.host(), 1462 QuicTestPacketMaker server_maker2(version_, 0, clock_, origin2.host(),
1461 Perspective::IS_SERVER); 1463 Perspective::IS_SERVER);
1462 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( 1464 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
1463 3, kClientDataStreamId2, false, true, 1465 3, kClientDataStreamId2, false, true,
1464 GetRequestHeaders("GET", "https", "/", &client_maker2), 1466 GetRequestHeaders("GET", "https", "/", &client_maker2),
1465 &request_header_offset)); 1467 &request_header_offset));
1466 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( 1468 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
1467 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), 1469 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
1468 &response_header_offset)); 1470 &response_header_offset));
1469 mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2, 1471 mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2,
1470 false, true, 0, "hello!")); 1472 false, true, 0, "hello!"));
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1542 MockRead(ASYNC, OK)}; 1544 MockRead(ASYNC, OK)};
1543 1545
1544 StaticSocketDataProvider http_data2(http_reads2, arraysize(http_reads2), 1546 StaticSocketDataProvider http_data2(http_reads2, arraysize(http_reads2),
1545 nullptr, 0); 1547 nullptr, 0);
1546 socket_factory_.AddSocketDataProvider(&http_data2); 1548 socket_factory_.AddSocketDataProvider(&http_data2);
1547 socket_factory_.AddSSLSocketDataProvider(&ssl_data_); 1549 socket_factory_.AddSSLSocketDataProvider(&ssl_data_);
1548 1550
1549 QuicStreamOffset request_header_offset = 0; 1551 QuicStreamOffset request_header_offset = 0;
1550 QuicStreamOffset response_header_offset = 0; 1552 QuicStreamOffset response_header_offset = 0;
1551 1553
1552 QuicTestPacketMaker client_maker(GetParam(), 0, clock_, "mail.example.org", 1554 QuicTestPacketMaker client_maker(version_, 0, clock_, "mail.example.org",
1553 Perspective::IS_CLIENT); 1555 Perspective::IS_CLIENT);
1554 server_maker_.set_hostname("www.example.org"); 1556 server_maker_.set_hostname("www.example.org");
1555 client_maker_.set_hostname("www.example.org"); 1557 client_maker_.set_hostname("www.example.org");
1556 MockQuicData mock_quic_data; 1558 MockQuicData mock_quic_data;
1557 1559
1558 // First QUIC request data. 1560 // First QUIC request data.
1559 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( 1561 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
1560 1, kClientDataStreamId1, true, true, 1562 1, kClientDataStreamId1, true, true,
1561 GetRequestHeaders("GET", "https", "/"), &request_header_offset)); 1563 GetRequestHeaders("GET", "https", "/"), &request_header_offset));
1562 1564
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
2097 QuicSession::HANDSHAKE_CONFIRMED); 2099 QuicSession::HANDSHAKE_CONFIRMED);
2098 // Read the headers. 2100 // Read the headers.
2099 EXPECT_THAT(callback.WaitForResult(), IsOk()); 2101 EXPECT_THAT(callback.WaitForResult(), IsOk());
2100 2102
2101 const HttpResponseInfo* response = trans.GetResponseInfo(); 2103 const HttpResponseInfo* response = trans.GetResponseInfo();
2102 ASSERT_TRUE(response != nullptr); 2104 ASSERT_TRUE(response != nullptr);
2103 ASSERT_TRUE(response->headers.get() != nullptr); 2105 ASSERT_TRUE(response->headers.get() != nullptr);
2104 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 2106 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
2105 EXPECT_TRUE(response->was_fetched_via_spdy); 2107 EXPECT_TRUE(response->was_fetched_via_spdy);
2106 EXPECT_TRUE(response->was_alpn_negotiated); 2108 EXPECT_TRUE(response->was_alpn_negotiated);
2107 EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_QUIC, response->connection_info); 2109 EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
2110 response->connection_info);
2108 2111
2109 std::string response_data; 2112 std::string response_data;
2110 ASSERT_EQ(ERR_QUIC_PROTOCOL_ERROR, ReadTransaction(&trans, &response_data)); 2113 ASSERT_EQ(ERR_QUIC_PROTOCOL_ERROR, ReadTransaction(&trans, &response_data));
2111 } 2114 }
2112 2115
2113 TEST_P(QuicNetworkTransactionTest, RstSteamBeforeHeaders) { 2116 TEST_P(QuicNetworkTransactionTest, RstSteamBeforeHeaders) {
2114 MockQuicData mock_quic_data; 2117 MockQuicData mock_quic_data;
2115 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( 2118 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
2116 1, kClientDataStreamId1, true, true, 2119 1, kClientDataStreamId1, true, true,
2117 GetRequestHeaders("GET", "https", "/"))); 2120 GetRequestHeaders("GET", "https", "/")));
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
2661 HostPortPair::FromString("mail.example.org:443")); 2664 HostPortPair::FromString("mail.example.org:443"));
2662 2665
2663 MockQuicData mock_quic_data; 2666 MockQuicData mock_quic_data;
2664 2667
2665 QuicStreamOffset offset = 0; 2668 QuicStreamOffset offset = 0;
2666 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( 2669 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
2667 1, kClientDataStreamId1, true, false, 2670 1, kClientDataStreamId1, true, false,
2668 GetRequestHeaders("POST", "https", "/"), &offset)); 2671 GetRequestHeaders("POST", "https", "/"), &offset));
2669 2672
2670 std::unique_ptr<QuicEncryptedPacket> packet; 2673 std::unique_ptr<QuicEncryptedPacket> packet;
2671 if (GetParam() > QUIC_VERSION_35) { 2674 if (version_ > QUIC_VERSION_35) {
2672 packet = ConstructClientForceHolDataPacket(2, kClientDataStreamId1, true, 2675 packet = ConstructClientForceHolDataPacket(2, kClientDataStreamId1, true,
2673 true, &offset, "1"); 2676 true, &offset, "1");
2674 } else { 2677 } else {
2675 packet = 2678 packet =
2676 ConstructClientDataPacket(2, kClientDataStreamId1, true, true, 0, "1"); 2679 ConstructClientDataPacket(2, kClientDataStreamId1, true, true, 0, "1");
2677 } 2680 }
2678 mock_quic_data.AddWrite(std::move(packet)); 2681 mock_quic_data.AddWrite(std::move(packet));
2679 2682
2680 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( 2683 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
2681 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); 2684 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
3047 std::string response_data; 3050 std::string response_data;
3048 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 3051 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
3049 EXPECT_EQ("hello", response_data); 3052 EXPECT_EQ("hello", response_data);
3050 3053
3051 const HttpResponseInfo* response = trans.GetResponseInfo(); 3054 const HttpResponseInfo* response = trans.GetResponseInfo();
3052 ASSERT_TRUE(response != nullptr); 3055 ASSERT_TRUE(response != nullptr);
3053 ASSERT_TRUE(response->headers.get() != nullptr); 3056 ASSERT_TRUE(response->headers.get() != nullptr);
3054 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 3057 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
3055 EXPECT_TRUE(response->was_fetched_via_spdy); 3058 EXPECT_TRUE(response->was_fetched_via_spdy);
3056 EXPECT_TRUE(response->was_alpn_negotiated); 3059 EXPECT_TRUE(response->was_alpn_negotiated);
3057 EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_QUIC, 3060 EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
3058 response->connection_info); 3061 response->connection_info);
3059 EXPECT_EQ(443, response->socket_address.port()); 3062 EXPECT_EQ(443, response->socket_address.port());
3060 } 3063 }
3061 3064
3062 MockClock* clock_; 3065 MockClock* clock_;
3063 QuicVersion version_; 3066 QuicVersion version_;
3064 DestinationType destination_type_; 3067 DestinationType destination_type_;
3065 std::string origin1_; 3068 std::string origin1_;
3066 std::string origin2_; 3069 std::string origin2_;
3067 std::unique_ptr<HttpNetworkSession> session_; 3070 std::unique_ptr<HttpNetworkSession> session_;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
3275 AddHangingSocketData(); 3278 AddHangingSocketData();
3276 3279
3277 SendRequestAndExpectQuicResponse(origin1_); 3280 SendRequestAndExpectQuicResponse(origin1_);
3278 SendRequestAndExpectQuicResponse(origin2_); 3281 SendRequestAndExpectQuicResponse(origin2_);
3279 3282
3280 EXPECT_TRUE(AllDataConsumed()); 3283 EXPECT_TRUE(AllDataConsumed());
3281 } 3284 }
3282 3285
3283 } // namespace test 3286 } // namespace test
3284 } // namespace net 3287 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_http_stream.cc ('k') | net/spdy/spdy_http_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698