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

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

Issue 1130783008: Simplify test http_server_properties member access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months 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 | « no previous file | no next file » | 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 <vector> 5 #include <vector>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 params_.quic_clock = clock_; 235 params_.quic_clock = clock_;
236 params_.quic_random = &random_generator_; 236 params_.quic_random = &random_generator_;
237 params_.client_socket_factory = socket_factory; 237 params_.client_socket_factory = socket_factory;
238 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; 238 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_;
239 params_.host_resolver = &host_resolver_; 239 params_.host_resolver = &host_resolver_;
240 params_.cert_verifier = &cert_verifier_; 240 params_.cert_verifier = &cert_verifier_;
241 params_.transport_security_state = &transport_security_state_; 241 params_.transport_security_state = &transport_security_state_;
242 params_.proxy_service = proxy_service_.get(); 242 params_.proxy_service = proxy_service_.get();
243 params_.ssl_config_service = ssl_config_service_.get(); 243 params_.ssl_config_service = ssl_config_service_.get();
244 params_.http_auth_handler_factory = auth_handler_factory_.get(); 244 params_.http_auth_handler_factory = auth_handler_factory_.get();
245 params_.http_server_properties = http_server_properties.GetWeakPtr(); 245 params_.http_server_properties = http_server_properties_.GetWeakPtr();
246 params_.quic_supported_versions = SupportedVersions(GetParam()); 246 params_.quic_supported_versions = SupportedVersions(GetParam());
247 247
248 if (use_next_protos) { 248 if (use_next_protos) {
249 params_.use_alternate_protocols = true; 249 params_.use_alternate_protocols = true;
250 params_.next_protos = NextProtosWithSpdyAndQuic(true, true); 250 params_.next_protos = NextProtosWithSpdyAndQuic(true, true);
251 } 251 }
252 252
253 session_ = new HttpNetworkSession(params_); 253 session_ = new HttpNetworkSession(params_);
254 session_->quic_stream_factory()->set_require_confirmation(false); 254 session_->quic_stream_factory()->set_require_confirmation(false);
255 } 255 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 const std::string& expected, 318 const std::string& expected,
319 uint16 port) { 319 uint16 port) {
320 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port); 320 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port);
321 } 321 }
322 322
323 void AddQuicAlternateProtocolMapping( 323 void AddQuicAlternateProtocolMapping(
324 MockCryptoClientStream::HandshakeMode handshake_mode) { 324 MockCryptoClientStream::HandshakeMode handshake_mode) {
325 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); 325 crypto_client_stream_factory_.set_handshake_mode(handshake_mode);
326 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url); 326 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url);
327 AlternativeService alternative_service(QUIC, host_port_pair.host(), 80); 327 AlternativeService alternative_service(QUIC, host_port_pair.host(), 80);
328 session_->http_server_properties()->SetAlternativeService( 328 http_server_properties_.SetAlternativeService(host_port_pair,
329 host_port_pair, alternative_service, 1.0); 329 alternative_service, 1.0);
330 } 330 }
331 331
332 void ExpectBrokenAlternateProtocolMapping() { 332 void ExpectBrokenAlternateProtocolMapping() {
333 const HostPortPair origin = HostPortPair::FromURL(request_.url); 333 const HostPortPair origin = HostPortPair::FromURL(request_.url);
334 const AlternativeService alternative_service = 334 const AlternativeService alternative_service =
335 session_->http_server_properties()->GetAlternativeService(origin); 335 http_server_properties_.GetAlternativeService(origin);
336 EXPECT_NE(UNINITIALIZED_ALTERNATE_PROTOCOL, alternative_service.protocol); 336 EXPECT_NE(UNINITIALIZED_ALTERNATE_PROTOCOL, alternative_service.protocol);
337 EXPECT_TRUE(session_->http_server_properties()->IsAlternativeServiceBroken( 337 EXPECT_TRUE(http_server_properties_.IsAlternativeServiceBroken(
338 alternative_service)); 338 alternative_service));
339 } 339 }
340 340
341 void ExpectQuicAlternateProtocolMapping() { 341 void ExpectQuicAlternateProtocolMapping() {
342 const AlternativeService alternative_service = 342 const AlternativeService alternative_service =
343 session_->http_server_properties()->GetAlternativeService( 343 http_server_properties_.GetAlternativeService(
344 HostPortPair::FromURL(request_.url)); 344 HostPortPair::FromURL(request_.url));
345 EXPECT_EQ(QUIC, alternative_service.protocol); 345 EXPECT_EQ(QUIC, alternative_service.protocol);
346 } 346 }
347 347
348 void AddHangingNonAlternateProtocolSocketData() { 348 void AddHangingNonAlternateProtocolSocketData() {
349 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); 349 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING);
350 hanging_data_.set_connect_data(hanging_connect); 350 hanging_data_.set_connect_data(hanging_connect);
351 socket_factory_.AddSocketDataProvider(&hanging_data_); 351 socket_factory_.AddSocketDataProvider(&hanging_data_);
352 } 352 }
353 353
354 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. 354 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession.
355 QuicTestPacketMaker maker_; 355 QuicTestPacketMaker maker_;
356 scoped_refptr<HttpNetworkSession> session_; 356 scoped_refptr<HttpNetworkSession> session_;
357 MockClientSocketFactory socket_factory_; 357 MockClientSocketFactory socket_factory_;
358 MockCryptoClientStreamFactory crypto_client_stream_factory_; 358 MockCryptoClientStreamFactory crypto_client_stream_factory_;
359 MockHostResolver host_resolver_; 359 MockHostResolver host_resolver_;
360 MockCertVerifier cert_verifier_; 360 MockCertVerifier cert_verifier_;
361 TransportSecurityState transport_security_state_; 361 TransportSecurityState transport_security_state_;
362 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_; 362 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_;
363 scoped_ptr<ProxyService> proxy_service_; 363 scoped_ptr<ProxyService> proxy_service_;
364 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_; 364 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_;
365 MockRandom random_generator_; 365 MockRandom random_generator_;
366 HttpServerPropertiesImpl http_server_properties; 366 HttpServerPropertiesImpl http_server_properties_;
367 HttpNetworkSession::Params params_; 367 HttpNetworkSession::Params params_;
368 HttpRequestInfo request_; 368 HttpRequestInfo request_;
369 BoundTestNetLog net_log_; 369 BoundTestNetLog net_log_;
370 StaticSocketDataProvider hanging_data_; 370 StaticSocketDataProvider hanging_data_;
371 371
372 private: 372 private:
373 void SendRequestAndExpectQuicResponseMaybeFromProxy( 373 void SendRequestAndExpectQuicResponseMaybeFromProxy(
374 const std::string& expected, 374 const std::string& expected,
375 bool used_proxy, 375 bool used_proxy,
376 uint16 port) { 376 uint16 port) {
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 mock_quic_data.AddSocketDataToFactory(&socket_factory_); 616 mock_quic_data.AddSocketDataToFactory(&socket_factory_);
617 617
618 // The non-alternate protocol job needs to hang in order to guarantee that 618 // The non-alternate protocol job needs to hang in order to guarantee that
619 // the alternate-protocol job will "win". 619 // the alternate-protocol job will "win".
620 AddHangingNonAlternateProtocolSocketData(); 620 AddHangingNonAlternateProtocolSocketData();
621 621
622 CreateSessionWithNextProtos(); 622 CreateSessionWithNextProtos();
623 623
624 AlternativeService alternative_service(QUIC, 624 AlternativeService alternative_service(QUIC,
625 HostPortPair::FromURL(request_.url)); 625 HostPortPair::FromURL(request_.url));
626 session_->http_server_properties()->MarkAlternativeServiceRecentlyBroken( 626 http_server_properties_.MarkAlternativeServiceRecentlyBroken(
627 alternative_service); 627 alternative_service);
628 EXPECT_TRUE( 628 EXPECT_TRUE(http_server_properties_.WasAlternativeServiceRecentlyBroken(
629 session_->http_server_properties()->WasAlternativeServiceRecentlyBroken( 629 alternative_service));
630 alternative_service));
631 630
632 SendRequestAndExpectHttpResponse("hello world"); 631 SendRequestAndExpectHttpResponse("hello world");
633 SendRequestAndExpectQuicResponse("hello!"); 632 SendRequestAndExpectQuicResponse("hello!");
634 633
635 EXPECT_FALSE( 634 EXPECT_FALSE(http_server_properties_.WasAlternativeServiceRecentlyBroken(
636 session_->http_server_properties()->WasAlternativeServiceRecentlyBroken( 635 alternative_service));
637 alternative_service));
638 } 636 }
639 637
640 TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolProbabilityForQuic) { 638 TEST_P(QuicNetworkTransactionTest, UseAlternateProtocolProbabilityForQuic) {
641 MockRead http_reads[] = { 639 MockRead http_reads[] = {
642 MockRead("HTTP/1.1 200 OK\r\n"), 640 MockRead("HTTP/1.1 200 OK\r\n"),
643 MockRead(kQuicAlternateProtocol50pctHttpHeader), 641 MockRead(kQuicAlternateProtocol50pctHttpHeader),
644 MockRead("hello world"), 642 MockRead("hello world"),
645 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), 643 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
646 MockRead(ASYNC, OK) 644 MockRead(ASYNC, OK)
647 }; 645 };
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 1258
1261 request_.url = GURL("https://www.example.org:443"); 1259 request_.url = GURL("https://www.example.org:443");
1262 AddHangingNonAlternateProtocolSocketData(); 1260 AddHangingNonAlternateProtocolSocketData();
1263 CreateSessionWithNextProtos(); 1261 CreateSessionWithNextProtos();
1264 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); 1262 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE);
1265 SendRequestAndExpectQuicResponse("hello!"); 1263 SendRequestAndExpectQuicResponse("hello!");
1266 } 1264 }
1267 1265
1268 } // namespace test 1266 } // namespace test
1269 } // namespace net 1267 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698