OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/http/http_auth_controller.h" | 5 #include "net/http/http_auth_controller.h" |
6 | 6 |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "net/base/net_errors.h" | 8 #include "net/base/net_errors.h" |
9 #include "net/base/net_log.h" | 9 #include "net/base/net_log.h" |
10 #include "net/base/test_completion_callback.h" | 10 #include "net/base/test_completion_callback.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock(); | 64 HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock(); |
65 auth_handler->SetGenerateExpectation((run_mode == RUN_HANDLER_ASYNC), | 65 auth_handler->SetGenerateExpectation((run_mode == RUN_HANDLER_ASYNC), |
66 handler_rv); | 66 handler_rv); |
67 auth_handler_factory.AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); | 67 auth_handler_factory.AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); |
68 auth_handler_factory.set_do_init_from_challenge(true); | 68 auth_handler_factory.set_do_init_from_challenge(true); |
69 | 69 |
70 scoped_refptr<HttpAuthController> controller( | 70 scoped_refptr<HttpAuthController> controller( |
71 new HttpAuthController(HttpAuth::AUTH_PROXY, | 71 new HttpAuthController(HttpAuth::AUTH_PROXY, |
72 GURL("http://example.com"), | 72 GURL("http://example.com"), |
73 &dummy_auth_cache, &auth_handler_factory)); | 73 &dummy_auth_cache, &auth_handler_factory)); |
74 ASSERT_EQ(OK, | 74 ASSERT_EQ(OK, controller->HandleAuthChallenge( |
75 controller->HandleAuthChallenge(headers, false, false, dummy_log)); | 75 headers, HttpAuthController::CHALLENGE_OPTION_SEND_SERVER_AUTH, |
| 76 dummy_log)); |
76 ASSERT_TRUE(controller->HaveAuthHandler()); | 77 ASSERT_TRUE(controller->HaveAuthHandler()); |
77 controller->ResetAuth(AuthCredentials()); | 78 controller->ResetAuth(AuthCredentials()); |
78 EXPECT_TRUE(controller->HaveAuth()); | 79 EXPECT_TRUE(controller->HaveAuth()); |
79 | 80 |
80 TestCompletionCallback callback; | 81 TestCompletionCallback callback; |
81 EXPECT_EQ((run_mode == RUN_HANDLER_ASYNC)? ERR_IO_PENDING: | 82 EXPECT_EQ((run_mode == RUN_HANDLER_ASYNC)? ERR_IO_PENDING: |
82 expected_controller_rv, | 83 expected_controller_rv, |
83 controller->MaybeGenerateAuthToken(&request, callback.callback(), | 84 controller->MaybeGenerateAuthToken(&request, callback.callback(), |
84 dummy_log)); | 85 dummy_log)); |
85 if (run_mode == RUN_HANDLER_ASYNC) | 86 if (run_mode == RUN_HANDLER_ASYNC) |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 HttpAuth::AUTH_SERVER); | 202 HttpAuth::AUTH_SERVER); |
202 auth_handler_factory.AddMockHandler( | 203 auth_handler_factory.AddMockHandler( |
203 new MockHandler(OK, HttpAuth::AUTH_SCHEME_BASIC), | 204 new MockHandler(OK, HttpAuth::AUTH_SCHEME_BASIC), |
204 HttpAuth::AUTH_SERVER); | 205 HttpAuth::AUTH_SERVER); |
205 auth_handler_factory.set_do_init_from_challenge(true); | 206 auth_handler_factory.set_do_init_from_challenge(true); |
206 | 207 |
207 scoped_refptr<HttpAuthController> controller( | 208 scoped_refptr<HttpAuthController> controller( |
208 new HttpAuthController(HttpAuth::AUTH_SERVER, | 209 new HttpAuthController(HttpAuth::AUTH_SERVER, |
209 GURL("http://example.com"), | 210 GURL("http://example.com"), |
210 &dummy_auth_cache, &auth_handler_factory)); | 211 &dummy_auth_cache, &auth_handler_factory)); |
211 ASSERT_EQ(OK, | 212 ASSERT_EQ(OK, controller->HandleAuthChallenge( |
212 controller->HandleAuthChallenge(headers, false, false, dummy_log)); | 213 headers, HttpAuthController::CHALLENGE_OPTION_SEND_SERVER_AUTH, |
| 214 dummy_log)); |
213 ASSERT_TRUE(controller->HaveAuthHandler()); | 215 ASSERT_TRUE(controller->HaveAuthHandler()); |
214 controller->ResetAuth(AuthCredentials()); | 216 controller->ResetAuth(AuthCredentials()); |
215 EXPECT_TRUE(controller->HaveAuth()); | 217 EXPECT_TRUE(controller->HaveAuth()); |
216 | 218 |
217 // Should only succeed if we are using the AUTH_SCHEME_MOCK MockHandler. | 219 // Should only succeed if we are using the AUTH_SCHEME_MOCK MockHandler. |
218 EXPECT_EQ(OK, controller->MaybeGenerateAuthToken( | 220 EXPECT_EQ(OK, controller->MaybeGenerateAuthToken( |
219 &request, CompletionCallback(), dummy_log)); | 221 &request, CompletionCallback(), dummy_log)); |
220 controller->AddAuthorizationHeader(&request_headers); | 222 controller->AddAuthorizationHeader(&request_headers); |
221 | 223 |
222 // Once a token is generated, simulate the receipt of a server response | 224 // Once a token is generated, simulate the receipt of a server response |
223 // indicating that the authentication attempt was rejected. | 225 // indicating that the authentication attempt was rejected. |
224 ASSERT_EQ(OK, | 226 ASSERT_EQ(OK, controller->HandleAuthChallenge( |
225 controller->HandleAuthChallenge(headers, false, false, dummy_log)); | 227 headers, HttpAuthController::CHALLENGE_OPTION_SEND_SERVER_AUTH, |
| 228 dummy_log)); |
226 ASSERT_TRUE(controller->HaveAuthHandler()); | 229 ASSERT_TRUE(controller->HaveAuthHandler()); |
227 controller->ResetAuth(AuthCredentials(ASCIIToUTF16("Hello"), string16())); | 230 controller->ResetAuth(AuthCredentials(ASCIIToUTF16("Hello"), string16())); |
228 EXPECT_TRUE(controller->HaveAuth()); | 231 EXPECT_TRUE(controller->HaveAuth()); |
229 EXPECT_TRUE(controller->IsAuthSchemeDisabled(HttpAuth::AUTH_SCHEME_MOCK)); | 232 EXPECT_TRUE(controller->IsAuthSchemeDisabled(HttpAuth::AUTH_SCHEME_MOCK)); |
230 EXPECT_FALSE(controller->IsAuthSchemeDisabled(HttpAuth::AUTH_SCHEME_BASIC)); | 233 EXPECT_FALSE(controller->IsAuthSchemeDisabled(HttpAuth::AUTH_SCHEME_BASIC)); |
231 | 234 |
232 // Should only succeed if we are using the AUTH_SCHEME_BASIC MockHandler. | 235 // Should only succeed if we are using the AUTH_SCHEME_BASIC MockHandler. |
233 EXPECT_EQ(OK, controller->MaybeGenerateAuthToken( | 236 EXPECT_EQ(OK, controller->MaybeGenerateAuthToken( |
234 &request, CompletionCallback(), dummy_log)); | 237 &request, CompletionCallback(), dummy_log)); |
235 } | 238 } |
236 | 239 |
237 } // namespace net | 240 } // namespace net |
OLD | NEW |