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

Side by Side Diff: net/http/http_stream_factory_impl_unittest.cc

Issue 657013003: Use scoped_ptr::Pass instead of scoped_ptr::PassAs<T>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 | « net/http/http_proxy_client_socket_pool.cc ('k') | net/http/http_stream_parser_unittest.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 "net/http/http_stream_factory_impl.h" 5 #include "net/http/http_stream_factory_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 session_deps.host_resolver.get(), 443 session_deps.host_resolver.get(),
444 session_deps.cert_verifier.get()); 444 session_deps.cert_verifier.get());
445 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 445 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
446 new CapturePreconnectsSSLSocketPool( 446 new CapturePreconnectsSSLSocketPool(
447 session_deps.host_resolver.get(), 447 session_deps.host_resolver.get(),
448 session_deps.cert_verifier.get()); 448 session_deps.cert_verifier.get());
449 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( 449 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager(
450 new MockClientSocketPoolManager); 450 new MockClientSocketPoolManager);
451 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 451 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
452 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); 452 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool);
453 peer.SetClientSocketPoolManager( 453 peer.SetClientSocketPoolManager(mock_pool_manager.Pass());
454 mock_pool_manager.PassAs<ClientSocketPoolManager>());
455 PreconnectHelper(kTests[i], session.get()); 454 PreconnectHelper(kTests[i], session.get());
456 if (kTests[i].ssl) 455 if (kTests[i].ssl)
457 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 456 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
458 else 457 else
459 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); 458 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams());
460 } 459 }
461 } 460 }
462 461
463 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { 462 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) {
464 for (size_t i = 0; i < arraysize(kTests); ++i) { 463 for (size_t i = 0; i < arraysize(kTests); ++i) {
465 SpdySessionDependencies session_deps( 464 SpdySessionDependencies session_deps(
466 GetParam(), ProxyService::CreateFixed("http_proxy")); 465 GetParam(), ProxyService::CreateFixed("http_proxy"));
467 scoped_refptr<HttpNetworkSession> session( 466 scoped_refptr<HttpNetworkSession> session(
468 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 467 SpdySessionDependencies::SpdyCreateSession(&session_deps));
469 HttpNetworkSessionPeer peer(session); 468 HttpNetworkSessionPeer peer(session);
470 HostPortPair proxy_host("http_proxy", 80); 469 HostPortPair proxy_host("http_proxy", 80);
471 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = 470 CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
472 new CapturePreconnectsHttpProxySocketPool( 471 new CapturePreconnectsHttpProxySocketPool(
473 session_deps.host_resolver.get(), 472 session_deps.host_resolver.get(),
474 session_deps.cert_verifier.get()); 473 session_deps.cert_verifier.get());
475 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 474 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
476 new CapturePreconnectsSSLSocketPool( 475 new CapturePreconnectsSSLSocketPool(
477 session_deps.host_resolver.get(), 476 session_deps.host_resolver.get(),
478 session_deps.cert_verifier.get()); 477 session_deps.cert_verifier.get());
479 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( 478 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager(
480 new MockClientSocketPoolManager); 479 new MockClientSocketPoolManager);
481 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); 480 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool);
482 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 481 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
483 peer.SetClientSocketPoolManager( 482 peer.SetClientSocketPoolManager(mock_pool_manager.Pass());
484 mock_pool_manager.PassAs<ClientSocketPoolManager>());
485 PreconnectHelper(kTests[i], session.get()); 483 PreconnectHelper(kTests[i], session.get());
486 if (kTests[i].ssl) 484 if (kTests[i].ssl)
487 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 485 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
488 else 486 else
489 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); 487 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams());
490 } 488 }
491 } 489 }
492 490
493 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { 491 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) {
494 for (size_t i = 0; i < arraysize(kTests); ++i) { 492 for (size_t i = 0; i < arraysize(kTests); ++i) {
495 SpdySessionDependencies session_deps( 493 SpdySessionDependencies session_deps(
496 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); 494 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080"));
497 scoped_refptr<HttpNetworkSession> session( 495 scoped_refptr<HttpNetworkSession> session(
498 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 496 SpdySessionDependencies::SpdyCreateSession(&session_deps));
499 HttpNetworkSessionPeer peer(session); 497 HttpNetworkSessionPeer peer(session);
500 HostPortPair proxy_host("socks_proxy", 1080); 498 HostPortPair proxy_host("socks_proxy", 1080);
501 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = 499 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool =
502 new CapturePreconnectsSOCKSSocketPool( 500 new CapturePreconnectsSOCKSSocketPool(
503 session_deps.host_resolver.get(), 501 session_deps.host_resolver.get(),
504 session_deps.cert_verifier.get()); 502 session_deps.cert_verifier.get());
505 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 503 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
506 new CapturePreconnectsSSLSocketPool( 504 new CapturePreconnectsSSLSocketPool(
507 session_deps.host_resolver.get(), 505 session_deps.host_resolver.get(),
508 session_deps.cert_verifier.get()); 506 session_deps.cert_verifier.get());
509 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( 507 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager(
510 new MockClientSocketPoolManager); 508 new MockClientSocketPoolManager);
511 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); 509 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool);
512 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 510 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
513 peer.SetClientSocketPoolManager( 511 peer.SetClientSocketPoolManager(mock_pool_manager.Pass());
514 mock_pool_manager.PassAs<ClientSocketPoolManager>());
515 PreconnectHelper(kTests[i], session.get()); 512 PreconnectHelper(kTests[i], session.get());
516 if (kTests[i].ssl) 513 if (kTests[i].ssl)
517 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 514 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
518 else 515 else
519 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); 516 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams());
520 } 517 }
521 } 518 }
522 519
523 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { 520 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) {
524 for (size_t i = 0; i < arraysize(kTests); ++i) { 521 for (size_t i = 0; i < arraysize(kTests); ++i) {
(...skipping 14 matching lines...) Expand all
539 session_deps.host_resolver.get(), 536 session_deps.host_resolver.get(),
540 session_deps.cert_verifier.get()); 537 session_deps.cert_verifier.get());
541 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 538 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
542 new CapturePreconnectsSSLSocketPool( 539 new CapturePreconnectsSSLSocketPool(
543 session_deps.host_resolver.get(), 540 session_deps.host_resolver.get(),
544 session_deps.cert_verifier.get()); 541 session_deps.cert_verifier.get());
545 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( 542 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager(
546 new MockClientSocketPoolManager); 543 new MockClientSocketPoolManager);
547 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 544 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
548 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); 545 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool);
549 peer.SetClientSocketPoolManager( 546 peer.SetClientSocketPoolManager(mock_pool_manager.Pass());
550 mock_pool_manager.PassAs<ClientSocketPoolManager>());
551 PreconnectHelper(kTests[i], session.get()); 547 PreconnectHelper(kTests[i], session.get());
552 // We shouldn't be preconnecting if we have an existing session, which is 548 // We shouldn't be preconnecting if we have an existing session, which is
553 // the case for https://www.google.com. 549 // the case for https://www.google.com.
554 if (kTests[i].ssl) 550 if (kTests[i].ssl)
555 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); 551 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams());
556 else 552 else
557 EXPECT_EQ(kTests[i].num_streams, 553 EXPECT_EQ(kTests[i].num_streams,
558 transport_conn_pool->last_num_streams()); 554 transport_conn_pool->last_num_streams());
559 } 555 }
560 } 556 }
561 557
562 // Verify that preconnects to unsafe ports are cancelled before they reach 558 // Verify that preconnects to unsafe ports are cancelled before they reach
563 // the SocketPool. 559 // the SocketPool.
564 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { 560 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) {
565 ASSERT_FALSE(IsPortAllowedByDefault(7)); 561 ASSERT_FALSE(IsPortAllowedByDefault(7));
566 ASSERT_FALSE(IsPortAllowedByOverride(7)); 562 ASSERT_FALSE(IsPortAllowedByOverride(7));
567 563
568 SpdySessionDependencies session_deps( 564 SpdySessionDependencies session_deps(
569 GetParam(), ProxyService::CreateDirect()); 565 GetParam(), ProxyService::CreateDirect());
570 scoped_refptr<HttpNetworkSession> session( 566 scoped_refptr<HttpNetworkSession> session(
571 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 567 SpdySessionDependencies::SpdyCreateSession(&session_deps));
572 HttpNetworkSessionPeer peer(session); 568 HttpNetworkSessionPeer peer(session);
573 CapturePreconnectsTransportSocketPool* transport_conn_pool = 569 CapturePreconnectsTransportSocketPool* transport_conn_pool =
574 new CapturePreconnectsTransportSocketPool( 570 new CapturePreconnectsTransportSocketPool(
575 session_deps.host_resolver.get(), 571 session_deps.host_resolver.get(),
576 session_deps.cert_verifier.get()); 572 session_deps.cert_verifier.get());
577 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( 573 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager(
578 new MockClientSocketPoolManager); 574 new MockClientSocketPoolManager);
579 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 575 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
580 peer.SetClientSocketPoolManager( 576 peer.SetClientSocketPoolManager(mock_pool_manager.Pass());
581 mock_pool_manager.PassAs<ClientSocketPoolManager>());
582 577
583 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); 578 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get());
584 579
585 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); 580 EXPECT_EQ(-1, transport_conn_pool->last_num_streams());
586 } 581 }
587 582
588 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { 583 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) {
589 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; 584 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT";
590 SpdySessionDependencies session_deps( 585 SpdySessionDependencies session_deps(
591 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); 586 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString));
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
1308 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); 1303 EXPECT_TRUE(waiter.used_proxy_info().is_direct());
1309 1304
1310 // Make sure there is no orphaned job. it is already canceled. 1305 // Make sure there is no orphaned job. it is already canceled.
1311 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( 1306 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>(
1312 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); 1307 session->http_stream_factory_for_websocket())->num_orphaned_jobs());
1313 } 1308 }
1314 1309
1315 } // namespace 1310 } // namespace
1316 1311
1317 } // namespace net 1312 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_proxy_client_socket_pool.cc ('k') | net/http/http_stream_parser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698