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

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: 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 11498 matching lines...) Expand 10 before | Expand all | Expand 10 after
11509 { TestRound(kConnect, kProxyChallenge, OK), 11509 { TestRound(kConnect, kProxyChallenge, OK),
11510 TestRound(kConnectProxyAuth, kProxyConnected, OK, 11510 TestRound(kConnectProxyAuth, kProxyConnected, OK,
11511 &kGet, &kServerChallenge), 11511 &kGet, &kServerChallenge),
11512 TestRound(kGetAuth, kFailure, kAuthErr)}}, 11512 TestRound(kGetAuth, kFailure, kAuthErr)}},
11513 }; 11513 };
11514 11514
11515 for (size_t i = 0; i < arraysize(test_configs); ++i) { 11515 for (size_t i = 0; i < arraysize(test_configs); ++i) {
11516 HttpAuthHandlerMock::Factory* auth_factory( 11516 HttpAuthHandlerMock::Factory* auth_factory(
11517 new HttpAuthHandlerMock::Factory()); 11517 new HttpAuthHandlerMock::Factory());
11518 session_deps_.http_auth_handler_factory.reset(auth_factory); 11518 session_deps_.http_auth_handler_factory.reset(auth_factory);
11519 HttpResponseInfo empty_response_info;
11519 const TestConfig& test_config = test_configs[i]; 11520 const TestConfig& test_config = test_configs[i];
11520 11521
11521 // Set up authentication handlers as necessary. 11522 // Set up authentication handlers as necessary.
11522 if (test_config.proxy_auth_timing != AUTH_NONE) { 11523 if (test_config.proxy_auth_timing != AUTH_NONE) {
11523 for (int n = 0; n < 2; n++) { 11524 for (int n = 0; n < 2; n++) {
11524 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11525 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11525 std::string auth_challenge = "Mock realm=proxy"; 11526 std::string auth_challenge = "Mock realm=proxy";
11526 GURL origin(test_config.proxy_url); 11527 GURL origin(test_config.proxy_url);
11527 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11528 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11528 auth_challenge.end()); 11529 auth_challenge.end());
11529 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY, 11530 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_PROXY,
11530 origin, BoundNetLog()); 11531 empty_response_info, origin,
11532 BoundNetLog());
11531 auth_handler->SetGenerateExpectation( 11533 auth_handler->SetGenerateExpectation(
11532 test_config.proxy_auth_timing == AUTH_ASYNC, 11534 test_config.proxy_auth_timing == AUTH_ASYNC,
11533 test_config.proxy_auth_rv); 11535 test_config.proxy_auth_rv);
11534 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); 11536 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY);
11535 } 11537 }
11536 } 11538 }
11537 if (test_config.server_auth_timing != AUTH_NONE) { 11539 if (test_config.server_auth_timing != AUTH_NONE) {
11538 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11540 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11539 std::string auth_challenge = "Mock realm=server"; 11541 std::string auth_challenge = "Mock realm=server";
11540 GURL origin(test_config.server_url); 11542 GURL origin(test_config.server_url);
11541 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11543 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11542 auth_challenge.end()); 11544 auth_challenge.end());
11543 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 11545 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
11544 origin, BoundNetLog()); 11546 empty_response_info, origin,
11547 BoundNetLog());
11545 auth_handler->SetGenerateExpectation( 11548 auth_handler->SetGenerateExpectation(
11546 test_config.server_auth_timing == AUTH_ASYNC, 11549 test_config.server_auth_timing == AUTH_ASYNC,
11547 test_config.server_auth_rv); 11550 test_config.server_auth_rv);
11548 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); 11551 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
11549 } 11552 }
11550 if (test_config.proxy_url) { 11553 if (test_config.proxy_url) {
11551 session_deps_.proxy_service = 11554 session_deps_.proxy_service =
11552 ProxyService::CreateFixed(test_config.proxy_url); 11555 ProxyService::CreateFixed(test_config.proxy_url);
11553 } else { 11556 } else {
11554 session_deps_.proxy_service = ProxyService::CreateDirect(); 11557 session_deps_.proxy_service = ProxyService::CreateDirect();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
11643 session_deps_.proxy_service = ProxyService::CreateDirect(); 11646 session_deps_.proxy_service = ProxyService::CreateDirect();
11644 session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); 11647 session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1");
11645 session_deps_.host_resolver->set_synchronous_mode(true); 11648 session_deps_.host_resolver->set_synchronous_mode(true);
11646 11649
11647 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); 11650 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
11648 auth_handler->set_connection_based(true); 11651 auth_handler->set_connection_based(true);
11649 std::string auth_challenge = "Mock realm=server"; 11652 std::string auth_challenge = "Mock realm=server";
11650 GURL origin("http://www.example.com"); 11653 GURL origin("http://www.example.com");
11651 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(), 11654 HttpAuthChallengeTokenizer tokenizer(auth_challenge.begin(),
11652 auth_challenge.end()); 11655 auth_challenge.end());
11656 HttpResponseInfo empty_response_info;
11653 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER, 11657 auth_handler->InitFromChallenge(&tokenizer, HttpAuth::AUTH_SERVER,
11654 origin, BoundNetLog()); 11658 empty_response_info, origin, BoundNetLog());
11655 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); 11659 auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER);
11656 11660
11657 int rv = OK; 11661 int rv = OK;
11658 const HttpResponseInfo* response = NULL; 11662 const HttpResponseInfo* response = NULL;
11659 HttpRequestInfo request; 11663 HttpRequestInfo request;
11660 request.method = "GET"; 11664 request.method = "GET";
11661 request.url = origin; 11665 request.url = origin;
11662 request.load_flags = 0; 11666 request.load_flags = 0;
11663 11667
11664 scoped_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 11668 scoped_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
(...skipping 4288 matching lines...) Expand 10 before | Expand all | Expand 10 after
15953 base::MessageLoop::current()->RunUntilIdle(); 15957 base::MessageLoop::current()->RunUntilIdle();
15954 15958
15955 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); 15959 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy);
15956 HttpRequestHeaders headers; 15960 HttpRequestHeaders headers;
15957 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); 15961 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers));
15958 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); 15962 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding));
15959 } 15963 }
15960 #endif // !defined(OS_IOS) 15964 #endif // !defined(OS_IOS)
15961 15965
15962 } // namespace net 15966 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698