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

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

Issue 1408433006: Support tls-server-end-point channel bindings for HTTP authentication. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Narrower dependencies, update comments, address review comments. Created 4 years, 9 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <stdarg.h> 8 #include <stdarg.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <limits> 10 #include <limits>
(...skipping 11495 matching lines...) Expand 10 before | Expand all | Expand 10 after
11506 { TestRound(kConnect, kProxyChallenge, OK), 11506 { TestRound(kConnect, kProxyChallenge, OK),
11507 TestRound(kConnectProxyAuth, kProxyConnected, OK, 11507 TestRound(kConnectProxyAuth, kProxyConnected, OK,
11508 &kGet, &kServerChallenge), 11508 &kGet, &kServerChallenge),
11509 TestRound(kGetAuth, kFailure, kAuthErr)}}, 11509 TestRound(kGetAuth, kFailure, kAuthErr)}},
11510 }; 11510 };
11511 11511
11512 for (size_t i = 0; i < arraysize(test_configs); ++i) { 11512 for (size_t i = 0; i < arraysize(test_configs); ++i) {
11513 HttpAuthHandlerMock::Factory* auth_factory( 11513 HttpAuthHandlerMock::Factory* auth_factory(
11514 new HttpAuthHandlerMock::Factory()); 11514 new HttpAuthHandlerMock::Factory());
11515 session_deps_.http_auth_handler_factory.reset(auth_factory); 11515 session_deps_.http_auth_handler_factory.reset(auth_factory);
11516 SSLInfo empty_ssl_info;
11516 const TestConfig& test_config = test_configs[i]; 11517 const TestConfig& test_config = test_configs[i];
11517 11518
11518 // Set up authentication handlers as necessary. 11519 // Set up authentication handlers as necessary.
11519 if (test_config.proxy_auth_timing != AUTH_NONE) { 11520 if (test_config.proxy_auth_timing != AUTH_NONE) {
11520 for (int n = 0; n < 2; n++) { 11521 for (int n = 0; n < 2; n++) {
11521 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11522 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11522 std::string auth_challenge = "Mock realm=proxy"; 11523 std::string auth_challenge = "Mock realm=proxy";
11523 GURL origin(test_config.proxy_url); 11524 GURL origin(test_config.proxy_url);
11524 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11525 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11525 auth_challenge.end()); 11526 auth_challenge.end());
11526 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY, 11527 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY,
11527 origin, BoundNetLog()); 11528 empty_ssl_info, origin, BoundNetLog());
11528 auth_handler->SetGenerateExpectation( 11529 auth_handler->SetGenerateExpectation(
11529 test_config.proxy_auth_timing == AUTH_ASYNC, 11530 test_config.proxy_auth_timing == AUTH_ASYNC,
11530 test_config.proxy_auth_rv); 11531 test_config.proxy_auth_rv);
11531 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); 11532 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY);
11532 } 11533 }
11533 } 11534 }
11534 if (test_config.server_auth_timing != AUTH_NONE) { 11535 if (test_config.server_auth_timing != AUTH_NONE) {
11535 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11536 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11536 std::string auth_challenge = "Mock realm=server"; 11537 std::string auth_challenge = "Mock realm=server";
11537 GURL origin(test_config.server_url); 11538 GURL origin(test_config.server_url);
11538 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11539 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11539 auth_challenge.end()); 11540 auth_challenge.end());
11540 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 11541 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
11541 origin, BoundNetLog()); 11542 empty_ssl_info, origin, BoundNetLog());
11542 auth_handler->SetGenerateExpectation( 11543 auth_handler->SetGenerateExpectation(
11543 test_config.server_auth_timing == AUTH_ASYNC, 11544 test_config.server_auth_timing == AUTH_ASYNC,
11544 test_config.server_auth_rv); 11545 test_config.server_auth_rv);
11545 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); 11546 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
11546 } 11547 }
11547 if (test_config.proxy_url) { 11548 if (test_config.proxy_url) {
11548 session_deps_.proxy_service = 11549 session_deps_.proxy_service =
11549 ProxyService::CreateFixed(test_config.proxy_url); 11550 ProxyService::CreateFixed(test_config.proxy_url);
11550 } else { 11551 } else {
11551 session_deps_.proxy_service = ProxyService::CreateDirect(); 11552 session_deps_.proxy_service = ProxyService::CreateDirect();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
11640 session_deps_.proxy_service = ProxyService::CreateDirect(); 11641 session_deps_.proxy_service = ProxyService::CreateDirect();
11641 session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); 11642 session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1");
11642 session_deps_.host_resolver->set_synchronous_mode(true); 11643 session_deps_.host_resolver->set_synchronous_mode(true);
11643 11644
11644 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11645 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11645 auth_handler->set_connection_based(true); 11646 auth_handler->set_connection_based(true);
11646 std::string auth_challenge = "Mock realm=server"; 11647 std::string auth_challenge = "Mock realm=server";
11647 GURL origin("http://www.example.com"); 11648 GURL origin("http://www.example.com");
11648 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11649 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11649 auth_challenge.end()); 11650 auth_challenge.end());
11651 SSLInfo empty_ssl_info;
11650 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 11652 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
11651 origin, BoundNetLog()); 11653 empty_ssl_info, origin, BoundNetLog());
11652 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); 11654 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
11653 11655
11654 int rv = OK; 11656 int rv = OK;
11655 const HttpResponseInfo* response = NULL; 11657 const HttpResponseInfo* response = NULL;
11656 HttpRequestInfo request; 11658 HttpRequestInfo request;
11657 request.method = "GET"; 11659 request.method = "GET";
11658 request.url = origin; 11660 request.url = origin;
11659 request.load_flags = 0; 11661 request.load_flags = 0;
11660 11662
11661 scoped_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 11663 scoped_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
(...skipping 4288 matching lines...) Expand 10 before | Expand all | Expand 10 after
15950 base::MessageLoop::current()->RunUntilIdle(); 15952 base::MessageLoop::current()->RunUntilIdle();
15951 15953
15952 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); 15954 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy);
15953 HttpRequestHeaders headers; 15955 HttpRequestHeaders headers;
15954 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); 15956 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers));
15955 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); 15957 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding));
15956 } 15958 }
15957 #endif // !defined(OS_IOS) 15959 #endif // !defined(OS_IOS)
15958 15960
15959 } // namespace net 15961 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698