Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 | 10 |
| (...skipping 4117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4128 ASSERT_TRUE(response); | 4128 ASSERT_TRUE(response); |
| 4129 ASSERT_TRUE(response->headers); | 4129 ASSERT_TRUE(response->headers); |
| 4130 EXPECT_EQ(407, response->headers->response_code()); | 4130 EXPECT_EQ(407, response->headers->response_code()); |
| 4131 EXPECT_FALSE(trans->IsReadyToRestartForAuth()); | 4131 EXPECT_FALSE(trans->IsReadyToRestartForAuth()); |
| 4132 EXPECT_TRUE(response->auth_challenge); | 4132 EXPECT_TRUE(response->auth_challenge); |
| 4133 | 4133 |
| 4134 trans.reset(); | 4134 trans.reset(); |
| 4135 session->CloseAllConnections(); | 4135 session->CloseAllConnections(); |
| 4136 } | 4136 } |
| 4137 | 4137 |
| 4138 // A more nuanced test than GenerateAuthToken test which asserts that | |
| 4139 // ERR_INVALID_AUTH_CREDENTIALS does not cause the auth scheme to be | |
| 4140 // unnecessarily invalidated, and that if the server co-operates, the | |
| 4141 // authentication handshake can continue with the same scheme but with a | |
| 4142 // different identity. | |
| 4143 TEST_F(HttpNetworkTransactionTest, NonPermanentGenerateAuthTokenError) { | |
| 4144 HttpRequestInfo request; | |
| 4145 request.method = "GET"; | |
| 4146 request.url = GURL("http://www.example.org/"); | |
| 4147 | |
| 4148 std::unique_ptr<HttpAuthHandlerMock::Factory> auth_handler_factory( | |
| 4149 new HttpAuthHandlerMock::Factory()); | |
| 4150 auth_handler_factory->set_do_init_from_challenge(true); | |
| 4151 | |
| 4152 // First handler. Uses default credentials, but barfs at generate auth token. | |
| 4153 std::unique_ptr<HttpAuthHandlerMock> mock_handler(new HttpAuthHandlerMock()); | |
| 4154 mock_handler->set_allows_default_credentials(true); | |
| 4155 mock_handler->set_allows_explicit_credentials(true); | |
| 4156 mock_handler->set_connection_based(true); | |
| 4157 mock_handler->SetGenerateExpectation(true, ERR_INVALID_AUTH_CREDENTIALS); | |
| 4158 auth_handler_factory->AddMockHandler(mock_handler.release(), | |
| 4159 HttpAuth::AUTH_SERVER); | |
| 4160 | |
| 4161 // Add another handler for the second challenge. It supports default | |
| 4162 // credentials, but they shouldn't be used, since they were already tried. | |
| 4163 mock_handler.reset(new HttpAuthHandlerMock()); | |
| 4164 mock_handler->set_allows_default_credentials(true); | |
| 4165 mock_handler->set_allows_explicit_credentials(true); | |
| 4166 mock_handler->set_connection_based(true); | |
| 4167 auth_handler_factory->AddMockHandler(mock_handler.release(), | |
| 4168 HttpAuth::AUTH_SERVER); | |
| 4169 session_deps_.http_auth_handler_factory = std::move(auth_handler_factory); | |
| 4170 | |
| 4171 std::unique_ptr<HttpNetworkSession> session = CreateSession(&session_deps_); | |
| 4172 | |
| 4173 MockWrite data_writes1[] = { | |
| 4174 MockWrite("GET / HTTP/1.1\r\n" | |
| 4175 "Host: www.example.org\r\n" | |
| 4176 "Connection: keep-alive\r\n\r\n"), | |
| 4177 }; | |
| 4178 | |
| 4179 MockRead data_reads1[] = { | |
| 4180 MockRead("HTTP/1.1 401 Authentication Required\r\n" | |
| 4181 "WWW-Authenticate: Mock\r\n" | |
| 4182 "Connection: keep-alive\r\n\r\n"), | |
| 4183 }; | |
| 4184 | |
| 4185 // Identical to data_writes1[]. The AuthHandler encounters a | |
| 4186 // ERR_INVALID_AUTH_CREDENTIALS during the GenerateAuthToken stage, so the | |
| 4187 // transaction procceds without an authorization header. | |
| 4188 MockWrite data_writes2[] = { | |
| 4189 MockWrite("GET / HTTP/1.1\r\n" | |
| 4190 "Host: www.example.org\r\n" | |
| 4191 "Connection: keep-alive\r\n\r\n"), | |
| 4192 }; | |
| 4193 | |
| 4194 MockRead data_reads2[] = { | |
| 4195 MockRead("HTTP/1.1 401 Authentication Required\r\n" | |
| 4196 "WWW-Authenticate: Mock\r\n" | |
| 4197 "Connection: keep-alive\r\n\r\n"), | |
| 4198 }; | |
| 4199 | |
| 4200 MockWrite data_writes3[] = { | |
| 4201 MockWrite("GET / HTTP/1.1\r\n" | |
| 4202 "Host: www.example.org\r\n" | |
| 4203 "Connection: keep-alive\r\n" | |
| 4204 "Authorization: auth_token\r\n\r\n"), | |
| 4205 }; | |
| 4206 | |
| 4207 MockRead data_reads3[] = { | |
| 4208 MockRead("HTTP/1.1 200 OK\r\n" | |
| 4209 "Content-Length: 5\r\n" | |
| 4210 "Content-Type: text/plain\r\n" | |
| 4211 "Connection: keep-alive\r\n\r\n" | |
| 4212 "Hello"), | |
| 4213 }; | |
| 4214 | |
| 4215 StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), | |
| 4216 data_writes1, arraysize(data_writes1)); | |
| 4217 session_deps_.socket_factory->AddSocketDataProvider(&data1); | |
| 4218 | |
| 4219 StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), | |
| 4220 data_writes2, arraysize(data_writes2)); | |
| 4221 session_deps_.socket_factory->AddSocketDataProvider(&data2); | |
| 4222 | |
| 4223 StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), | |
| 4224 data_writes3, arraysize(data_writes3)); | |
| 4225 session_deps_.socket_factory->AddSocketDataProvider(&data3); | |
| 4226 | |
| 4227 std::unique_ptr<HttpNetworkTransaction> trans( | |
| 4228 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); | |
| 4229 | |
| 4230 TestCompletionCallback callback; | |
| 4231 int rv = trans->Start(&request, callback.callback(), NetLogWithSource()); | |
| 4232 EXPECT_THAT(callback.GetResult(rv), IsOk()); | |
| 4233 | |
| 4234 const HttpResponseInfo* response = trans->GetResponseInfo(); | |
| 4235 ASSERT_TRUE(response); | |
| 4236 ASSERT_TRUE(response->headers); | |
| 4237 EXPECT_TRUE(HttpVersion(1, 1) == response->headers->GetHttpVersion()); | |
| 4238 | |
| 4239 // The following three tests assert that an authentication challenge was | |
| 4240 // received and that the stack is ready to respond to the challenge using | |
| 4241 // ambient credentials. | |
| 4242 EXPECT_EQ(401, response->headers->response_code()); | |
| 4243 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | |
| 4244 EXPECT_FALSE(response->auth_challenge); | |
| 4245 | |
| 4246 rv = trans->RestartWithAuth(AuthCredentials(), callback.callback()); | |
| 4247 EXPECT_THAT(callback.GetResult(rv), IsOk()); | |
| 4248 response = trans->GetResponseInfo(); | |
| 4249 ASSERT_TRUE(response); | |
| 4250 ASSERT_TRUE(response->headers); | |
| 4251 | |
| 4252 // The following three tests assert that an authentication challenge was | |
| 4253 // received and that the stack needs explicit credentials before it is ready | |
| 4254 // to respond to the challenge. | |
| 4255 EXPECT_EQ(401, response->headers->response_code()); | |
| 4256 EXPECT_FALSE(trans->IsReadyToRestartForAuth()); | |
| 4257 EXPECT_TRUE(response->auth_challenge); | |
| 4258 | |
| 4259 rv = trans->RestartWithAuth(AuthCredentials(), callback.callback()); | |
| 4260 EXPECT_THAT(callback.GetResult(rv), IsOk()); | |
| 4261 response = trans->GetResponseInfo(); | |
| 4262 ASSERT_TRUE(response); | |
| 4263 ASSERT_TRUE(response->headers); | |
| 4264 EXPECT_EQ(200, response->headers->response_code()); | |
| 4265 | |
| 4266 trans.reset(); | |
| 4267 session->CloseAllConnections(); | |
| 4268 } | |
| 4269 | |
| 4138 // Test the load timing for HTTPS requests with an HTTP proxy. | 4270 // Test the load timing for HTTPS requests with an HTTP proxy. |
| 4139 TEST_F(HttpNetworkTransactionTest, HttpProxyLoadTimingNoPacTwoRequests) { | 4271 TEST_F(HttpNetworkTransactionTest, HttpProxyLoadTimingNoPacTwoRequests) { |
| 4140 HttpRequestInfo request1; | 4272 HttpRequestInfo request1; |
| 4141 request1.method = "GET"; | 4273 request1.method = "GET"; |
| 4142 request1.url = GURL("https://www.example.org/1"); | 4274 request1.url = GURL("https://www.example.org/1"); |
| 4143 | 4275 |
| 4144 HttpRequestInfo request2; | 4276 HttpRequestInfo request2; |
| 4145 request2.method = "GET"; | 4277 request2.method = "GET"; |
| 4146 request2.url = GURL("https://www.example.org/2"); | 4278 request2.url = GURL("https://www.example.org/2"); |
| 4147 | 4279 |
| (...skipping 7240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11388 | 11520 |
| 11389 struct TestConfig { | 11521 struct TestConfig { |
| 11390 const char* const proxy_url; | 11522 const char* const proxy_url; |
| 11391 AuthTiming proxy_auth_timing; | 11523 AuthTiming proxy_auth_timing; |
| 11392 int proxy_auth_rv; | 11524 int proxy_auth_rv; |
| 11393 const char* const server_url; | 11525 const char* const server_url; |
| 11394 AuthTiming server_auth_timing; | 11526 AuthTiming server_auth_timing; |
| 11395 int server_auth_rv; | 11527 int server_auth_rv; |
| 11396 int num_auth_rounds; | 11528 int num_auth_rounds; |
| 11397 int first_ssl_round; | 11529 int first_ssl_round; |
| 11398 TestRound rounds[3]; | 11530 TestRound rounds[4]; |
| 11399 } test_configs[] = { | 11531 } test_configs[] = { |
| 11400 // Non-authenticating HTTP server with a direct connection. | 11532 // Non-authenticating HTTP server with a direct connection. |
| 11401 {NULL, | 11533 {NULL, |
| 11402 AUTH_NONE, | 11534 AUTH_NONE, |
| 11403 OK, | 11535 OK, |
| 11404 kServer, | 11536 kServer, |
| 11405 AUTH_NONE, | 11537 AUTH_NONE, |
| 11406 OK, | 11538 OK, |
| 11407 1, | 11539 1, |
| 11408 kNoSSL, | 11540 kNoSSL, |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 11419 {TestRound(kGet, kServerChallenge, OK), | 11551 {TestRound(kGet, kServerChallenge, OK), |
| 11420 TestRound(kGetAuth, kSuccess, OK)}}, | 11552 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11421 {NULL, | 11553 {NULL, |
| 11422 AUTH_NONE, | 11554 AUTH_NONE, |
| 11423 OK, | 11555 OK, |
| 11424 kServer, | 11556 kServer, |
| 11425 AUTH_SYNC, | 11557 AUTH_SYNC, |
| 11426 ERR_INVALID_AUTH_CREDENTIALS, | 11558 ERR_INVALID_AUTH_CREDENTIALS, |
| 11427 2, | 11559 2, |
| 11428 kNoSSL, | 11560 kNoSSL, |
| 11429 {TestRound(kGet, kServerChallenge, OK), | 11561 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, |
|
mmenke
2016/10/10 21:06:09
Should we still have a test that hard fails here?
mmenke
2016/10/10 21:06:09
More typically, we'd see another TestRound(kGet, k
asanka
2016/10/11 19:47:26
The test fixture will need some minor tweaking, bu
| |
| 11430 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11431 {NULL, | 11562 {NULL, |
| 11432 AUTH_NONE, | 11563 AUTH_NONE, |
| 11433 OK, | 11564 OK, |
| 11565 kServer, | |
| 11566 AUTH_SYNC, | |
| 11567 ERR_UNSUPPORTED_AUTH_SCHEME, | |
| 11568 2, | |
| 11569 kNoSSL, | |
| 11570 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, | |
|
mmenke
2016/10/10 21:06:10
More typically, we'd see another TestRound(kGet, k
asanka
2016/10/11 19:47:26
Added another round. The new test round verifies t
| |
| 11571 {NULL, | |
| 11572 AUTH_NONE, | |
| 11573 OK, | |
| 11574 kServer, | |
| 11575 AUTH_SYNC, | |
| 11576 ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS, | |
| 11577 2, | |
| 11578 kNoSSL, | |
| 11579 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, | |
| 11580 {NULL, | |
| 11581 AUTH_NONE, | |
| 11582 OK, | |
| 11434 kServer, | 11583 kServer, |
| 11435 AUTH_ASYNC, | 11584 AUTH_ASYNC, |
| 11436 OK, | 11585 OK, |
| 11437 2, | 11586 2, |
| 11438 kNoSSL, | 11587 kNoSSL, |
| 11439 {TestRound(kGet, kServerChallenge, OK), | 11588 {TestRound(kGet, kServerChallenge, OK), |
| 11440 TestRound(kGetAuth, kSuccess, OK)}}, | 11589 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11441 {NULL, | 11590 {NULL, |
| 11442 AUTH_NONE, | 11591 AUTH_NONE, |
| 11443 OK, | 11592 OK, |
| 11444 kServer, | 11593 kServer, |
| 11445 AUTH_ASYNC, | 11594 AUTH_ASYNC, |
| 11446 ERR_INVALID_AUTH_CREDENTIALS, | 11595 ERR_INVALID_AUTH_CREDENTIALS, |
| 11447 2, | 11596 2, |
| 11448 kNoSSL, | 11597 kNoSSL, |
| 11449 {TestRound(kGet, kServerChallenge, OK), | 11598 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, |
| 11450 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11451 // Non-authenticating HTTP server through a non-authenticating proxy. | 11599 // Non-authenticating HTTP server through a non-authenticating proxy. |
| 11452 {kProxy, | 11600 {kProxy, |
| 11453 AUTH_NONE, | 11601 AUTH_NONE, |
| 11454 OK, | 11602 OK, |
| 11455 kServer, | 11603 kServer, |
| 11456 AUTH_NONE, | 11604 AUTH_NONE, |
| 11457 OK, | 11605 OK, |
| 11458 1, | 11606 1, |
| 11459 kNoSSL, | 11607 kNoSSL, |
| 11460 {TestRound(kGetProxy, kSuccess, OK)}}, | 11608 {TestRound(kGetProxy, kSuccess, OK)}}, |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 11471 TestRound(kGetAuthThroughProxy, kSuccess, OK)}}, | 11619 TestRound(kGetAuthThroughProxy, kSuccess, OK)}}, |
| 11472 {kProxy, | 11620 {kProxy, |
| 11473 AUTH_NONE, | 11621 AUTH_NONE, |
| 11474 OK, | 11622 OK, |
| 11475 kServer, | 11623 kServer, |
| 11476 AUTH_SYNC, | 11624 AUTH_SYNC, |
| 11477 ERR_INVALID_AUTH_CREDENTIALS, | 11625 ERR_INVALID_AUTH_CREDENTIALS, |
| 11478 2, | 11626 2, |
| 11479 kNoSSL, | 11627 kNoSSL, |
| 11480 {TestRound(kGetProxy, kServerChallenge, OK), | 11628 {TestRound(kGetProxy, kServerChallenge, OK), |
| 11481 TestRound(kGetAuthThroughProxy, kFailure, | 11629 TestRound(kGetProxy, kSuccess, OK)}}, |
| 11482 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11483 {kProxy, | 11630 {kProxy, |
| 11484 AUTH_NONE, | 11631 AUTH_NONE, |
| 11485 OK, | 11632 OK, |
| 11486 kServer, | 11633 kServer, |
| 11487 AUTH_ASYNC, | 11634 AUTH_ASYNC, |
| 11488 OK, | 11635 OK, |
| 11489 2, | 11636 2, |
| 11490 kNoSSL, | 11637 kNoSSL, |
| 11491 {TestRound(kGetProxy, kServerChallenge, OK), | 11638 {TestRound(kGetProxy, kServerChallenge, OK), |
| 11492 TestRound(kGetAuthThroughProxy, kSuccess, OK)}}, | 11639 TestRound(kGetAuthThroughProxy, kSuccess, OK)}}, |
| 11493 {kProxy, | 11640 {kProxy, |
| 11494 AUTH_NONE, | 11641 AUTH_NONE, |
| 11495 OK, | 11642 OK, |
| 11496 kServer, | 11643 kServer, |
| 11497 AUTH_ASYNC, | 11644 AUTH_ASYNC, |
| 11498 ERR_INVALID_AUTH_CREDENTIALS, | 11645 ERR_INVALID_AUTH_CREDENTIALS, |
| 11499 2, | 11646 2, |
| 11500 kNoSSL, | 11647 kNoSSL, |
| 11501 {TestRound(kGetProxy, kServerChallenge, OK), | 11648 {TestRound(kGetProxy, kServerChallenge, OK), |
| 11502 TestRound(kGetAuthThroughProxy, kFailure, | 11649 TestRound(kGetProxy, kSuccess, OK)}}, |
| 11503 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11504 // Non-authenticating HTTP server through an authenticating proxy. | 11650 // Non-authenticating HTTP server through an authenticating proxy. |
| 11505 {kProxy, | 11651 {kProxy, |
| 11506 AUTH_SYNC, | 11652 AUTH_SYNC, |
| 11507 OK, | 11653 OK, |
| 11508 kServer, | 11654 kServer, |
| 11509 AUTH_NONE, | 11655 AUTH_NONE, |
| 11510 OK, | 11656 OK, |
| 11511 2, | 11657 2, |
| 11512 kNoSSL, | 11658 kNoSSL, |
| 11513 {TestRound(kGetProxy, kProxyChallenge, OK), | 11659 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11514 TestRound(kGetProxyAuth, kSuccess, OK)}}, | 11660 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11515 {kProxy, | 11661 {kProxy, |
| 11516 AUTH_SYNC, | 11662 AUTH_SYNC, |
| 11517 ERR_INVALID_AUTH_CREDENTIALS, | 11663 ERR_INVALID_AUTH_CREDENTIALS, |
| 11518 kServer, | 11664 kServer, |
| 11519 AUTH_NONE, | 11665 AUTH_NONE, |
| 11520 OK, | 11666 OK, |
| 11521 2, | 11667 2, |
| 11522 kNoSSL, | 11668 kNoSSL, |
| 11523 {TestRound(kGetProxy, kProxyChallenge, OK), | 11669 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11524 TestRound(kGetProxyAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11670 TestRound(kGetProxy, kSuccess, OK)}}, |
| 11525 {kProxy, | 11671 {kProxy, |
| 11526 AUTH_ASYNC, | 11672 AUTH_ASYNC, |
| 11527 OK, | 11673 OK, |
| 11528 kServer, | 11674 kServer, |
| 11529 AUTH_NONE, | 11675 AUTH_NONE, |
| 11530 OK, | 11676 OK, |
| 11531 2, | 11677 2, |
| 11532 kNoSSL, | 11678 kNoSSL, |
| 11533 {TestRound(kGetProxy, kProxyChallenge, OK), | 11679 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11534 TestRound(kGetProxyAuth, kSuccess, OK)}}, | 11680 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11535 {kProxy, | 11681 {kProxy, |
| 11536 AUTH_ASYNC, | 11682 AUTH_ASYNC, |
| 11537 ERR_INVALID_AUTH_CREDENTIALS, | 11683 ERR_INVALID_AUTH_CREDENTIALS, |
| 11538 kServer, | 11684 kServer, |
| 11539 AUTH_NONE, | 11685 AUTH_NONE, |
| 11540 OK, | 11686 OK, |
| 11541 2, | 11687 2, |
| 11542 kNoSSL, | 11688 kNoSSL, |
| 11543 {TestRound(kGetProxy, kProxyChallenge, OK), | 11689 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11544 TestRound(kGetProxyAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11690 TestRound(kGetProxy, kSuccess, OK)}}, |
| 11545 // Authenticating HTTP server through an authenticating proxy. | 11691 // Authenticating HTTP server through an authenticating proxy. |
| 11546 {kProxy, | 11692 {kProxy, |
| 11547 AUTH_SYNC, | 11693 AUTH_SYNC, |
| 11548 OK, | 11694 OK, |
| 11549 kServer, | 11695 kServer, |
| 11550 AUTH_SYNC, | 11696 AUTH_SYNC, |
| 11551 OK, | 11697 OK, |
| 11552 3, | 11698 3, |
| 11553 kNoSSL, | 11699 kNoSSL, |
| 11554 {TestRound(kGetProxy, kProxyChallenge, OK), | 11700 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11555 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11701 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11556 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, | 11702 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, |
| 11557 {kProxy, | 11703 {kProxy, |
| 11558 AUTH_SYNC, | 11704 AUTH_SYNC, |
| 11559 OK, | 11705 OK, |
| 11560 kServer, | 11706 kServer, |
| 11561 AUTH_SYNC, | 11707 AUTH_SYNC, |
| 11562 ERR_INVALID_AUTH_CREDENTIALS, | 11708 ERR_INVALID_AUTH_CREDENTIALS, |
| 11563 3, | 11709 3, |
| 11564 kNoSSL, | 11710 kNoSSL, |
| 11565 {TestRound(kGetProxy, kProxyChallenge, OK), | 11711 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11566 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11712 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11567 TestRound(kGetAuthWithProxyAuth, kFailure, | 11713 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11568 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11569 {kProxy, | 11714 {kProxy, |
| 11570 AUTH_ASYNC, | 11715 AUTH_ASYNC, |
| 11571 OK, | 11716 OK, |
| 11572 kServer, | 11717 kServer, |
| 11573 AUTH_SYNC, | 11718 AUTH_SYNC, |
| 11574 OK, | 11719 OK, |
| 11575 3, | 11720 3, |
| 11576 kNoSSL, | 11721 kNoSSL, |
| 11577 {TestRound(kGetProxy, kProxyChallenge, OK), | 11722 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11578 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11723 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11579 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, | 11724 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, |
| 11580 {kProxy, | 11725 {kProxy, |
| 11581 AUTH_ASYNC, | 11726 AUTH_ASYNC, |
| 11582 OK, | 11727 OK, |
| 11583 kServer, | 11728 kServer, |
| 11584 AUTH_SYNC, | 11729 AUTH_SYNC, |
| 11585 ERR_INVALID_AUTH_CREDENTIALS, | 11730 ERR_INVALID_AUTH_CREDENTIALS, |
| 11586 3, | 11731 3, |
| 11587 kNoSSL, | 11732 kNoSSL, |
| 11588 {TestRound(kGetProxy, kProxyChallenge, OK), | 11733 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11589 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11734 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11590 TestRound(kGetAuthWithProxyAuth, kFailure, | 11735 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11591 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11592 {kProxy, | 11736 {kProxy, |
| 11593 AUTH_SYNC, | 11737 AUTH_SYNC, |
| 11594 OK, | 11738 OK, |
| 11595 kServer, | 11739 kServer, |
| 11596 AUTH_ASYNC, | 11740 AUTH_ASYNC, |
| 11597 OK, | 11741 OK, |
| 11598 3, | 11742 3, |
| 11599 kNoSSL, | 11743 kNoSSL, |
| 11600 {TestRound(kGetProxy, kProxyChallenge, OK), | 11744 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11601 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11745 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11602 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, | 11746 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, |
| 11603 {kProxy, | 11747 {kProxy, |
| 11604 AUTH_SYNC, | 11748 AUTH_SYNC, |
| 11605 OK, | 11749 OK, |
| 11606 kServer, | 11750 kServer, |
| 11607 AUTH_ASYNC, | 11751 AUTH_ASYNC, |
| 11608 ERR_INVALID_AUTH_CREDENTIALS, | 11752 ERR_INVALID_AUTH_CREDENTIALS, |
| 11609 3, | 11753 3, |
| 11610 kNoSSL, | 11754 kNoSSL, |
| 11611 {TestRound(kGetProxy, kProxyChallenge, OK), | 11755 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11612 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11756 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11613 TestRound(kGetAuthWithProxyAuth, kFailure, | 11757 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11614 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11615 {kProxy, | 11758 {kProxy, |
| 11616 AUTH_ASYNC, | 11759 AUTH_ASYNC, |
| 11617 OK, | 11760 OK, |
| 11618 kServer, | 11761 kServer, |
| 11619 AUTH_ASYNC, | 11762 AUTH_ASYNC, |
| 11620 OK, | 11763 OK, |
| 11621 3, | 11764 3, |
| 11622 kNoSSL, | 11765 kNoSSL, |
| 11623 {TestRound(kGetProxy, kProxyChallenge, OK), | 11766 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11624 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11767 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11625 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, | 11768 TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}}, |
| 11626 {kProxy, | 11769 {kProxy, |
| 11627 AUTH_ASYNC, | 11770 AUTH_ASYNC, |
| 11628 OK, | 11771 OK, |
| 11629 kServer, | 11772 kServer, |
| 11630 AUTH_ASYNC, | 11773 AUTH_ASYNC, |
| 11631 ERR_INVALID_AUTH_CREDENTIALS, | 11774 ERR_INVALID_AUTH_CREDENTIALS, |
| 11632 3, | 11775 3, |
| 11633 kNoSSL, | 11776 kNoSSL, |
| 11634 {TestRound(kGetProxy, kProxyChallenge, OK), | 11777 {TestRound(kGetProxy, kProxyChallenge, OK), |
| 11635 TestRound(kGetProxyAuth, kServerChallenge, OK), | 11778 TestRound(kGetProxyAuth, kServerChallenge, OK), |
| 11636 TestRound(kGetAuthWithProxyAuth, kFailure, | 11779 TestRound(kGetProxyAuth, kSuccess, OK)}}, |
| 11637 ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11638 // Non-authenticating HTTPS server with a direct connection. | 11780 // Non-authenticating HTTPS server with a direct connection. |
| 11639 {NULL, | 11781 {NULL, |
| 11640 AUTH_NONE, | 11782 AUTH_NONE, |
| 11641 OK, | 11783 OK, |
| 11642 kSecureServer, | 11784 kSecureServer, |
| 11643 AUTH_NONE, | 11785 AUTH_NONE, |
| 11644 OK, | 11786 OK, |
| 11645 1, | 11787 1, |
| 11646 0, | 11788 0, |
| 11647 {TestRound(kGet, kSuccess, OK)}}, | 11789 {TestRound(kGet, kSuccess, OK)}}, |
| 11648 // Authenticating HTTPS server with a direct connection. | 11790 // Authenticating HTTPS server with a direct connection. |
| 11649 {NULL, | 11791 {NULL, |
| 11650 AUTH_NONE, | 11792 AUTH_NONE, |
| 11651 OK, | 11793 OK, |
| 11652 kSecureServer, | 11794 kSecureServer, |
| 11653 AUTH_SYNC, | 11795 AUTH_SYNC, |
| 11654 OK, | 11796 OK, |
| 11655 2, | 11797 2, |
| 11656 0, | 11798 0, |
| 11657 {TestRound(kGet, kServerChallenge, OK), | 11799 {TestRound(kGet, kServerChallenge, OK), |
| 11658 TestRound(kGetAuth, kSuccess, OK)}}, | 11800 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11659 {NULL, | 11801 {NULL, |
| 11660 AUTH_NONE, | 11802 AUTH_NONE, |
| 11661 OK, | 11803 OK, |
| 11662 kSecureServer, | 11804 kSecureServer, |
| 11663 AUTH_SYNC, | 11805 AUTH_SYNC, |
| 11664 ERR_INVALID_AUTH_CREDENTIALS, | 11806 ERR_INVALID_AUTH_CREDENTIALS, |
| 11665 2, | 11807 2, |
| 11666 0, | 11808 0, |
| 11667 {TestRound(kGet, kServerChallenge, OK), | 11809 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, |
| 11668 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11669 {NULL, | 11810 {NULL, |
| 11670 AUTH_NONE, | 11811 AUTH_NONE, |
| 11671 OK, | 11812 OK, |
| 11672 kSecureServer, | 11813 kSecureServer, |
| 11673 AUTH_ASYNC, | 11814 AUTH_ASYNC, |
| 11674 OK, | 11815 OK, |
| 11675 2, | 11816 2, |
| 11676 0, | 11817 0, |
| 11677 {TestRound(kGet, kServerChallenge, OK), | 11818 {TestRound(kGet, kServerChallenge, OK), |
| 11678 TestRound(kGetAuth, kSuccess, OK)}}, | 11819 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11679 {NULL, | 11820 {NULL, |
| 11680 AUTH_NONE, | 11821 AUTH_NONE, |
| 11681 OK, | 11822 OK, |
| 11682 kSecureServer, | 11823 kSecureServer, |
| 11683 AUTH_ASYNC, | 11824 AUTH_ASYNC, |
| 11684 ERR_INVALID_AUTH_CREDENTIALS, | 11825 ERR_INVALID_AUTH_CREDENTIALS, |
| 11685 2, | 11826 2, |
| 11686 0, | 11827 0, |
| 11687 {TestRound(kGet, kServerChallenge, OK), | 11828 {TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}}, |
| 11688 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | |
| 11689 // Non-authenticating HTTPS server with a non-authenticating proxy. | 11829 // Non-authenticating HTTPS server with a non-authenticating proxy. |
| 11690 {kProxy, | 11830 {kProxy, |
| 11691 AUTH_NONE, | 11831 AUTH_NONE, |
| 11692 OK, | 11832 OK, |
| 11693 kSecureServer, | 11833 kSecureServer, |
| 11694 AUTH_NONE, | 11834 AUTH_NONE, |
| 11695 OK, | 11835 OK, |
| 11696 1, | 11836 1, |
| 11697 0, | 11837 0, |
| 11698 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}}, | 11838 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}}, |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 11709 TestRound(kGetAuth, kSuccess, OK)}}, | 11849 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11710 {kProxy, | 11850 {kProxy, |
| 11711 AUTH_NONE, | 11851 AUTH_NONE, |
| 11712 OK, | 11852 OK, |
| 11713 kSecureServer, | 11853 kSecureServer, |
| 11714 AUTH_SYNC, | 11854 AUTH_SYNC, |
| 11715 ERR_INVALID_AUTH_CREDENTIALS, | 11855 ERR_INVALID_AUTH_CREDENTIALS, |
| 11716 2, | 11856 2, |
| 11717 0, | 11857 0, |
| 11718 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), | 11858 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), |
| 11719 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11859 TestRound(kGet, kSuccess, OK)}}, |
| 11720 {kProxy, | 11860 {kProxy, |
| 11721 AUTH_NONE, | 11861 AUTH_NONE, |
| 11722 OK, | 11862 OK, |
| 11723 kSecureServer, | 11863 kSecureServer, |
| 11724 AUTH_ASYNC, | 11864 AUTH_ASYNC, |
| 11725 OK, | 11865 OK, |
| 11726 2, | 11866 2, |
| 11727 0, | 11867 0, |
| 11728 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), | 11868 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), |
| 11729 TestRound(kGetAuth, kSuccess, OK)}}, | 11869 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11730 {kProxy, | 11870 {kProxy, |
| 11731 AUTH_NONE, | 11871 AUTH_NONE, |
| 11732 OK, | 11872 OK, |
| 11733 kSecureServer, | 11873 kSecureServer, |
| 11734 AUTH_ASYNC, | 11874 AUTH_ASYNC, |
| 11735 ERR_INVALID_AUTH_CREDENTIALS, | 11875 ERR_INVALID_AUTH_CREDENTIALS, |
| 11736 2, | 11876 2, |
| 11737 0, | 11877 0, |
| 11738 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), | 11878 {TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge), |
| 11739 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11879 TestRound(kGet, kSuccess, OK)}}, |
| 11740 // Non-Authenticating HTTPS server through an authenticating proxy. | 11880 // Non-Authenticating HTTPS server through an authenticating proxy. |
| 11741 {kProxy, | 11881 {kProxy, |
| 11742 AUTH_SYNC, | 11882 AUTH_SYNC, |
| 11743 OK, | 11883 OK, |
| 11744 kSecureServer, | 11884 kSecureServer, |
| 11745 AUTH_NONE, | 11885 AUTH_NONE, |
| 11746 OK, | 11886 OK, |
| 11747 2, | 11887 2, |
| 11748 1, | 11888 1, |
| 11749 {TestRound(kConnect, kProxyChallenge, OK), | 11889 {TestRound(kConnect, kProxyChallenge, OK), |
| 11750 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}}, | 11890 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}}, |
| 11751 {kProxy, | 11891 {kProxy, |
| 11752 AUTH_SYNC, | 11892 AUTH_SYNC, |
| 11753 ERR_INVALID_AUTH_CREDENTIALS, | 11893 ERR_INVALID_AUTH_CREDENTIALS, |
| 11754 kSecureServer, | 11894 kSecureServer, |
| 11755 AUTH_NONE, | 11895 AUTH_NONE, |
| 11756 OK, | 11896 OK, |
| 11757 2, | 11897 2, |
| 11758 kNoSSL, | 11898 kNoSSL, |
| 11759 {TestRound(kConnect, kProxyChallenge, OK), | 11899 {TestRound(kConnect, kProxyChallenge, OK), |
| 11760 TestRound(kConnectProxyAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11900 TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}}, |
| 11901 {kProxy, | |
| 11902 AUTH_SYNC, | |
| 11903 ERR_UNSUPPORTED_AUTH_SCHEME, | |
| 11904 kSecureServer, | |
| 11905 AUTH_NONE, | |
| 11906 OK, | |
| 11907 2, | |
| 11908 kNoSSL, | |
| 11909 {TestRound(kConnect, kProxyChallenge, OK), | |
| 11910 TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}}, | |
| 11911 {kProxy, | |
| 11912 AUTH_SYNC, | |
| 11913 ERR_UNEXPECTED, | |
| 11914 kSecureServer, | |
| 11915 AUTH_NONE, | |
| 11916 OK, | |
| 11917 2, | |
| 11918 kNoSSL, | |
| 11919 {TestRound(kConnect, kProxyChallenge, OK), | |
| 11920 TestRound(kConnect, kProxyConnected, ERR_UNEXPECTED)}}, | |
| 11761 {kProxy, | 11921 {kProxy, |
| 11762 AUTH_ASYNC, | 11922 AUTH_ASYNC, |
| 11763 OK, | 11923 OK, |
| 11764 kSecureServer, | 11924 kSecureServer, |
| 11765 AUTH_NONE, | 11925 AUTH_NONE, |
| 11766 OK, | 11926 OK, |
| 11767 2, | 11927 2, |
| 11768 1, | 11928 1, |
| 11769 {TestRound(kConnect, kProxyChallenge, OK), | 11929 {TestRound(kConnect, kProxyChallenge, OK), |
| 11770 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}}, | 11930 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}}, |
| 11771 {kProxy, | 11931 {kProxy, |
| 11772 AUTH_ASYNC, | 11932 AUTH_ASYNC, |
| 11773 ERR_INVALID_AUTH_CREDENTIALS, | 11933 ERR_INVALID_AUTH_CREDENTIALS, |
| 11774 kSecureServer, | 11934 kSecureServer, |
| 11775 AUTH_NONE, | 11935 AUTH_NONE, |
| 11776 OK, | 11936 OK, |
| 11777 2, | 11937 2, |
| 11778 kNoSSL, | 11938 kNoSSL, |
| 11779 {TestRound(kConnect, kProxyChallenge, OK), | 11939 {TestRound(kConnect, kProxyChallenge, OK), |
| 11780 TestRound(kConnectProxyAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11940 TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}}, |
| 11781 // Authenticating HTTPS server through an authenticating proxy. | 11941 // Authenticating HTTPS server through an authenticating proxy. |
| 11782 {kProxy, | 11942 {kProxy, |
| 11783 AUTH_SYNC, | 11943 AUTH_SYNC, |
| 11784 OK, | 11944 OK, |
| 11785 kSecureServer, | 11945 kSecureServer, |
| 11786 AUTH_SYNC, | 11946 AUTH_SYNC, |
| 11787 OK, | 11947 OK, |
| 11788 3, | 11948 3, |
| 11789 1, | 11949 1, |
| 11790 {TestRound(kConnect, kProxyChallenge, OK), | 11950 {TestRound(kConnect, kProxyChallenge, OK), |
| 11791 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 11951 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11792 &kServerChallenge), | 11952 &kServerChallenge), |
| 11793 TestRound(kGetAuth, kSuccess, OK)}}, | 11953 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11794 {kProxy, | 11954 {kProxy, |
| 11795 AUTH_SYNC, | 11955 AUTH_SYNC, |
| 11796 OK, | 11956 OK, |
| 11797 kSecureServer, | 11957 kSecureServer, |
| 11798 AUTH_SYNC, | 11958 AUTH_SYNC, |
| 11799 ERR_INVALID_AUTH_CREDENTIALS, | 11959 ERR_INVALID_AUTH_CREDENTIALS, |
| 11800 3, | 11960 3, |
| 11801 1, | 11961 1, |
| 11802 {TestRound(kConnect, kProxyChallenge, OK), | 11962 {TestRound(kConnect, kProxyChallenge, OK), |
| 11803 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 11963 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11804 &kServerChallenge), | 11964 &kServerChallenge), |
| 11805 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11965 TestRound(kGet, kSuccess, OK)}}, |
| 11806 {kProxy, | 11966 {kProxy, |
| 11807 AUTH_ASYNC, | 11967 AUTH_ASYNC, |
| 11808 OK, | 11968 OK, |
| 11809 kSecureServer, | 11969 kSecureServer, |
| 11810 AUTH_SYNC, | 11970 AUTH_SYNC, |
| 11811 OK, | 11971 OK, |
| 11812 3, | 11972 3, |
| 11813 1, | 11973 1, |
| 11814 {TestRound(kConnect, kProxyChallenge, OK), | 11974 {TestRound(kConnect, kProxyChallenge, OK), |
| 11815 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 11975 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11816 &kServerChallenge), | 11976 &kServerChallenge), |
| 11817 TestRound(kGetAuth, kSuccess, OK)}}, | 11977 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11818 {kProxy, | 11978 {kProxy, |
| 11819 AUTH_ASYNC, | 11979 AUTH_ASYNC, |
| 11820 OK, | 11980 OK, |
| 11821 kSecureServer, | 11981 kSecureServer, |
| 11822 AUTH_SYNC, | 11982 AUTH_SYNC, |
| 11823 ERR_INVALID_AUTH_CREDENTIALS, | 11983 ERR_INVALID_AUTH_CREDENTIALS, |
| 11824 3, | 11984 3, |
| 11825 1, | 11985 1, |
| 11826 {TestRound(kConnect, kProxyChallenge, OK), | 11986 {TestRound(kConnect, kProxyChallenge, OK), |
| 11827 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 11987 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11828 &kServerChallenge), | 11988 &kServerChallenge), |
| 11829 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 11989 TestRound(kGet, kSuccess, OK)}}, |
| 11830 {kProxy, | 11990 {kProxy, |
| 11831 AUTH_SYNC, | 11991 AUTH_SYNC, |
| 11832 OK, | 11992 OK, |
| 11833 kSecureServer, | 11993 kSecureServer, |
| 11834 AUTH_ASYNC, | 11994 AUTH_ASYNC, |
| 11835 OK, | 11995 OK, |
| 11836 3, | 11996 3, |
| 11837 1, | 11997 1, |
| 11838 {TestRound(kConnect, kProxyChallenge, OK), | 11998 {TestRound(kConnect, kProxyChallenge, OK), |
| 11839 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 11999 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11840 &kServerChallenge), | 12000 &kServerChallenge), |
| 11841 TestRound(kGetAuth, kSuccess, OK)}}, | 12001 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11842 {kProxy, | 12002 {kProxy, |
| 11843 AUTH_SYNC, | 12003 AUTH_SYNC, |
| 11844 OK, | 12004 OK, |
| 11845 kSecureServer, | 12005 kSecureServer, |
| 11846 AUTH_ASYNC, | 12006 AUTH_ASYNC, |
| 11847 ERR_INVALID_AUTH_CREDENTIALS, | 12007 ERR_INVALID_AUTH_CREDENTIALS, |
| 11848 3, | 12008 3, |
| 11849 1, | 12009 1, |
| 11850 {TestRound(kConnect, kProxyChallenge, OK), | 12010 {TestRound(kConnect, kProxyChallenge, OK), |
| 11851 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 12011 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11852 &kServerChallenge), | 12012 &kServerChallenge), |
| 11853 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 12013 TestRound(kGet, kSuccess, OK)}}, |
| 11854 {kProxy, | 12014 {kProxy, |
| 11855 AUTH_ASYNC, | 12015 AUTH_ASYNC, |
| 11856 OK, | 12016 OK, |
| 11857 kSecureServer, | 12017 kSecureServer, |
| 11858 AUTH_ASYNC, | 12018 AUTH_ASYNC, |
| 11859 OK, | 12019 OK, |
| 11860 3, | 12020 3, |
| 11861 1, | 12021 1, |
| 11862 {TestRound(kConnect, kProxyChallenge, OK), | 12022 {TestRound(kConnect, kProxyChallenge, OK), |
| 11863 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 12023 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11864 &kServerChallenge), | 12024 &kServerChallenge), |
| 11865 TestRound(kGetAuth, kSuccess, OK)}}, | 12025 TestRound(kGetAuth, kSuccess, OK)}}, |
| 11866 {kProxy, | 12026 {kProxy, |
| 11867 AUTH_ASYNC, | 12027 AUTH_ASYNC, |
| 11868 OK, | 12028 OK, |
| 11869 kSecureServer, | 12029 kSecureServer, |
| 11870 AUTH_ASYNC, | 12030 AUTH_ASYNC, |
| 11871 ERR_INVALID_AUTH_CREDENTIALS, | 12031 ERR_INVALID_AUTH_CREDENTIALS, |
| 11872 3, | 12032 3, |
| 11873 1, | 12033 1, |
| 11874 {TestRound(kConnect, kProxyChallenge, OK), | 12034 {TestRound(kConnect, kProxyChallenge, OK), |
| 11875 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, | 12035 TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, |
| 11876 &kServerChallenge), | 12036 &kServerChallenge), |
| 11877 TestRound(kGetAuth, kFailure, ERR_INVALID_AUTH_CREDENTIALS)}}, | 12037 TestRound(kGet, kSuccess, OK)}}, |
| 11878 }; | 12038 }; |
| 11879 | 12039 |
| 11880 for (size_t i = 0; i < arraysize(test_configs); ++i) { | 12040 for (size_t i = 0; i < arraysize(test_configs); ++i) { |
| 12041 SCOPED_TRACE(::testing::Message() << "Test config " << i); | |
| 11881 HttpAuthHandlerMock::Factory* auth_factory( | 12042 HttpAuthHandlerMock::Factory* auth_factory( |
| 11882 new HttpAuthHandlerMock::Factory()); | 12043 new HttpAuthHandlerMock::Factory()); |
| 11883 session_deps_.http_auth_handler_factory.reset(auth_factory); | 12044 session_deps_.http_auth_handler_factory.reset(auth_factory); |
| 11884 SSLInfo empty_ssl_info; | 12045 SSLInfo empty_ssl_info; |
| 11885 const TestConfig& test_config = test_configs[i]; | 12046 const TestConfig& test_config = test_configs[i]; |
| 11886 | 12047 |
| 11887 // Set up authentication handlers as necessary. | 12048 // Set up authentication handlers as necessary. |
| 11888 if (test_config.proxy_auth_timing != AUTH_NONE) { | 12049 if (test_config.proxy_auth_timing != AUTH_NONE) { |
| 11889 for (int n = 0; n < 2; n++) { | 12050 for (int n = 0; n < 2; n++) { |
| 11890 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); | 12051 HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); |
| (...skipping 3978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 15869 base::RunLoop().RunUntilIdle(); | 16030 base::RunLoop().RunUntilIdle(); |
| 15870 | 16031 |
| 15871 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); | 16032 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); |
| 15872 HttpRequestHeaders headers; | 16033 HttpRequestHeaders headers; |
| 15873 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); | 16034 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); |
| 15874 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); | 16035 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); |
| 15875 } | 16036 } |
| 15876 #endif // !defined(OS_IOS) | 16037 #endif // !defined(OS_IOS) |
| 15877 | 16038 |
| 15878 } // namespace net | 16039 } // namespace net |
| OLD | NEW |