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

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

Issue 7477055: Change HttpAuthHandlerMock to accept and return more than one (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_auth_handler_mock.cc ('k') | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <math.h> // ceil 7 #include <math.h> // ceil
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 7415 matching lines...) Expand 10 before | Expand all | Expand 10 after
7426 &kGet, &kServerChallenge), 7426 &kGet, &kServerChallenge),
7427 TestRound(kGetAuth, kSuccess, OK)}}, 7427 TestRound(kGetAuth, kSuccess, OK)}},
7428 { kProxy, AUTH_ASYNC, OK, kSecureServer, AUTH_ASYNC, kAuthErr, 3, 1, 7428 { kProxy, AUTH_ASYNC, OK, kSecureServer, AUTH_ASYNC, kAuthErr, 3, 1,
7429 { TestRound(kConnect, kProxyChallenge, OK), 7429 { TestRound(kConnect, kProxyChallenge, OK),
7430 TestRound(kConnectProxyAuth, kProxyConnected, OK, 7430 TestRound(kConnectProxyAuth, kProxyConnected, OK,
7431 &kGet, &kServerChallenge), 7431 &kGet, &kServerChallenge),
7432 TestRound(kGetAuth, kFailure, kAuthErr)}}, 7432 TestRound(kGetAuth, kFailure, kAuthErr)}},
7433 }; 7433 };
7434 7434
7435 SessionDependencies session_deps; 7435 SessionDependencies session_deps;
7436 HttpAuthHandlerMock::Factory* auth_factory(
7437 new HttpAuthHandlerMock::Factory());
7438 session_deps.http_auth_handler_factory.reset(auth_factory);
7439
7440 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_configs); ++i) { 7436 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_configs); ++i) {
7437 HttpAuthHandlerMock::Factory* auth_factory(
7438 new HttpAuthHandlerMock::Factory());
7439 session_deps.http_auth_handler_factory.reset(auth_factory);
7441 const TestConfig& test_config = test_configs[i]; 7440 const TestConfig& test_config = test_configs[i];
7442 7441
7443 // Set up authentication handlers as necessary. 7442 // Set up authentication handlers as necessary.
7444 if (test_config.proxy_auth_timing != AUTH_NONE) { 7443 if (test_config.proxy_auth_timing != AUTH_NONE) {
7445 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 7444 for (int n = 0; n < 2; n++) {
7446 std::string auth_challenge = "Mock realm=proxy"; 7445 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
7447 GURL origin(test_config.proxy_url); 7446 std::string auth_challenge = "Mock realm=proxy";
7448 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(), 7447 GURL origin(test_config.proxy_url);
7449 auth_challenge.end()); 7448 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(),
7450 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY, 7449 auth_challenge.end());
7451 origin, BoundNetLog()); 7450 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY,
7452 auth_handler->SetGenerateExpectation( 7451 origin, BoundNetLog());
7453 test_config.proxy_auth_timing == AUTH_ASYNC, 7452 auth_handler->SetGenerateExpectation(
7454 test_config.proxy_auth_rv); 7453 test_config.proxy_auth_timing == AUTH_ASYNC,
7455 auth_factory->set_mock_handler(auth_handler, HttpAuth::AUTH_PROXY); 7454 test_config.proxy_auth_rv);
7455 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY);
7456 }
7456 } 7457 }
7457 if (test_config.server_auth_timing != AUTH_NONE) { 7458 if (test_config.server_auth_timing != AUTH_NONE) {
7458 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 7459 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
7459 std::string auth_challenge = "Mock realm=server"; 7460 std::string auth_challenge = "Mock realm=server";
7460 GURL origin(test_config.server_url); 7461 GURL origin(test_config.server_url);
7461 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(), 7462 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(),
7462 auth_challenge.end()); 7463 auth_challenge.end());
7463 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 7464 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
7464 origin, BoundNetLog()); 7465 origin, BoundNetLog());
7465 auth_handler->SetGenerateExpectation( 7466 auth_handler->SetGenerateExpectation(
7466 test_config.server_auth_timing == AUTH_ASYNC, 7467 test_config.server_auth_timing == AUTH_ASYNC,
7467 test_config.server_auth_rv); 7468 test_config.server_auth_rv);
7468 auth_factory->set_mock_handler(auth_handler, HttpAuth::AUTH_SERVER); 7469 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
7469 } 7470 }
7470 if (test_config.proxy_url) { 7471 if (test_config.proxy_url) {
7471 session_deps.proxy_service.reset( 7472 session_deps.proxy_service.reset(
7472 ProxyService::CreateFixed(test_config.proxy_url)); 7473 ProxyService::CreateFixed(test_config.proxy_url));
7473 } else { 7474 } else {
7474 session_deps.proxy_service.reset(ProxyService::CreateDirect()); 7475 session_deps.proxy_service.reset(ProxyService::CreateDirect());
7475 } 7476 }
7476 7477
7477 HttpRequestInfo request; 7478 HttpRequestInfo request;
7478 request.method = "GET"; 7479 request.method = "GET";
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
7552 session_deps.host_resolver->set_synchronous_mode(true); 7553 session_deps.host_resolver->set_synchronous_mode(true);
7553 7554
7554 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 7555 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
7555 auth_handler->set_connection_based(true); 7556 auth_handler->set_connection_based(true);
7556 std::string auth_challenge = "Mock realm=server"; 7557 std::string auth_challenge = "Mock realm=server";
7557 GURL origin("http://www.example.com"); 7558 GURL origin("http://www.example.com");
7558 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(), 7559 HttpAuth::ChallengeTokenizer tokenizer(auth_challenge.begin(),
7559 auth_challenge.end()); 7560 auth_challenge.end());
7560 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 7561 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
7561 origin, BoundNetLog()); 7562 origin, BoundNetLog());
7562 auth_factory->set_mock_handler(auth_handler, HttpAuth::AUTH_SERVER); 7563 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
7563 7564
7564 int rv = OK; 7565 int rv = OK;
7565 const HttpResponseInfo* response = NULL; 7566 const HttpResponseInfo* response = NULL;
7566 HttpRequestInfo request; 7567 HttpRequestInfo request;
7567 request.method = "GET"; 7568 request.method = "GET";
7568 request.url = origin; 7569 request.url = origin;
7569 request.load_flags = 0; 7570 request.load_flags = 0;
7570 7571
7571 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 7572 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
7572 7573
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
7946 // This test ensures that the URL passed into the proxy is upgraded 7947 // This test ensures that the URL passed into the proxy is upgraded
7947 // to https when doing an Alternate Protocol upgrade. 7948 // to https when doing an Alternate Protocol upgrade.
7948 HttpStreamFactory::set_use_alternate_protocols(true); 7949 HttpStreamFactory::set_use_alternate_protocols(true);
7949 HttpStreamFactory::set_next_protos( 7950 HttpStreamFactory::set_next_protos(
7950 "\x08http/1.1\x07http1.1\x06spdy/2\x04spdy"); 7951 "\x08http/1.1\x07http1.1\x06spdy/2\x04spdy");
7951 7952
7952 SessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); 7953 SessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70"));
7953 HttpAuthHandlerMock::Factory* auth_factory = 7954 HttpAuthHandlerMock::Factory* auth_factory =
7954 new HttpAuthHandlerMock::Factory(); 7955 new HttpAuthHandlerMock::Factory();
7955 HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock(); 7956 HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock();
7956 auth_factory->set_mock_handler(auth_handler, HttpAuth::AUTH_PROXY); 7957 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY);
7957 auth_factory->set_do_init_from_challenge(true); 7958 auth_factory->set_do_init_from_challenge(true);
7958 session_deps.http_auth_handler_factory.reset(auth_factory); 7959 session_deps.http_auth_handler_factory.reset(auth_factory);
7959 7960
7960 HttpRequestInfo request; 7961 HttpRequestInfo request;
7961 request.method = "GET"; 7962 request.method = "GET";
7962 request.url = GURL("http://www.google.com"); 7963 request.url = GURL("http://www.google.com");
7963 request.load_flags = 0; 7964 request.load_flags = 0;
7964 7965
7965 // First round goes unauthenticated through the proxy. 7966 // First round goes unauthenticated through the proxy.
7966 MockWrite data_writes_1[] = { 7967 MockWrite data_writes_1[] = {
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after
8998 EXPECT_TRUE(response->was_fetched_via_spdy); 8999 EXPECT_TRUE(response->was_fetched_via_spdy);
8999 EXPECT_TRUE(response->was_npn_negotiated); 9000 EXPECT_TRUE(response->was_npn_negotiated);
9000 ASSERT_EQ(OK, ReadTransaction(&trans2, &response_data)); 9001 ASSERT_EQ(OK, ReadTransaction(&trans2, &response_data));
9001 EXPECT_EQ("hello!", response_data); 9002 EXPECT_EQ("hello!", response_data);
9002 9003
9003 HttpStreamFactory::set_next_protos(""); 9004 HttpStreamFactory::set_next_protos("");
9004 HttpStreamFactory::set_use_alternate_protocols(false); 9005 HttpStreamFactory::set_use_alternate_protocols(false);
9005 } 9006 }
9006 9007
9007 } // namespace net 9008 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_auth_handler_mock.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698