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