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

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

Issue 8990001: base::Bind: Convert most of net/http. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clang. Created 9 years 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 | Annotate | Revision Log
OLDNEW
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_handler_negotiate.h" 5 #include "net/http/http_auth_handler_negotiate.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "net/base/mock_host_resolver.h" 9 #include "net/base/mock_host_resolver.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 scoped_ptr<HttpAuthHandlerNegotiate::Factory> factory_; 213 scoped_ptr<HttpAuthHandlerNegotiate::Factory> factory_;
214 }; 214 };
215 215
216 TEST_F(HttpAuthHandlerNegotiateTest, DisableCname) { 216 TEST_F(HttpAuthHandlerNegotiateTest, DisableCname) {
217 SetupMocks(AuthLibrary()); 217 SetupMocks(AuthLibrary());
218 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 218 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
219 EXPECT_EQ(OK, CreateHandler( 219 EXPECT_EQ(OK, CreateHandler(
220 true, false, true, "http://alias:500", &auth_handler)); 220 true, false, true, "http://alias:500", &auth_handler));
221 221
222 ASSERT_TRUE(auth_handler.get() != NULL); 222 ASSERT_TRUE(auth_handler.get() != NULL);
223 TestOldCompletionCallback callback; 223 TestCompletionCallback callback;
224 HttpRequestInfo request_info; 224 HttpRequestInfo request_info;
225 std::string token; 225 std::string token;
226 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info, 226 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info,
227 &callback, &token)); 227 callback.callback(), &token));
228 #if defined(OS_WIN) 228 #if defined(OS_WIN)
229 EXPECT_EQ(L"HTTP/alias", auth_handler->spn()); 229 EXPECT_EQ(L"HTTP/alias", auth_handler->spn());
230 #elif defined(OS_POSIX) 230 #elif defined(OS_POSIX)
231 EXPECT_EQ(L"HTTP@alias", auth_handler->spn()); 231 EXPECT_EQ(L"HTTP@alias", auth_handler->spn());
232 #endif 232 #endif
233 } 233 }
234 234
235 TEST_F(HttpAuthHandlerNegotiateTest, DisableCnameStandardPort) { 235 TEST_F(HttpAuthHandlerNegotiateTest, DisableCnameStandardPort) {
236 SetupMocks(AuthLibrary()); 236 SetupMocks(AuthLibrary());
237 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 237 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
238 EXPECT_EQ(OK, CreateHandler( 238 EXPECT_EQ(OK, CreateHandler(
239 true, true, true, "http://alias:80", &auth_handler)); 239 true, true, true, "http://alias:80", &auth_handler));
240 ASSERT_TRUE(auth_handler.get() != NULL); 240 ASSERT_TRUE(auth_handler.get() != NULL);
241 TestOldCompletionCallback callback; 241 TestCompletionCallback callback;
242 HttpRequestInfo request_info; 242 HttpRequestInfo request_info;
243 std::string token; 243 std::string token;
244 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info, 244 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info,
245 &callback, &token)); 245 callback.callback(), &token));
246 #if defined(OS_WIN) 246 #if defined(OS_WIN)
247 EXPECT_EQ(L"HTTP/alias", auth_handler->spn()); 247 EXPECT_EQ(L"HTTP/alias", auth_handler->spn());
248 #elif defined(OS_POSIX) 248 #elif defined(OS_POSIX)
249 EXPECT_EQ(L"HTTP@alias", auth_handler->spn()); 249 EXPECT_EQ(L"HTTP@alias", auth_handler->spn());
250 #endif 250 #endif
251 } 251 }
252 252
253 TEST_F(HttpAuthHandlerNegotiateTest, DisableCnameNonstandardPort) { 253 TEST_F(HttpAuthHandlerNegotiateTest, DisableCnameNonstandardPort) {
254 SetupMocks(AuthLibrary()); 254 SetupMocks(AuthLibrary());
255 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 255 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
256 EXPECT_EQ(OK, CreateHandler( 256 EXPECT_EQ(OK, CreateHandler(
257 true, true, true, "http://alias:500", &auth_handler)); 257 true, true, true, "http://alias:500", &auth_handler));
258 ASSERT_TRUE(auth_handler.get() != NULL); 258 ASSERT_TRUE(auth_handler.get() != NULL);
259 TestOldCompletionCallback callback; 259 TestCompletionCallback callback;
260 HttpRequestInfo request_info; 260 HttpRequestInfo request_info;
261 std::string token; 261 std::string token;
262 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info, 262 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info,
263 &callback, &token)); 263 callback.callback(), &token));
264 #if defined(OS_WIN) 264 #if defined(OS_WIN)
265 EXPECT_EQ(L"HTTP/alias:500", auth_handler->spn()); 265 EXPECT_EQ(L"HTTP/alias:500", auth_handler->spn());
266 #elif defined(OS_POSIX) 266 #elif defined(OS_POSIX)
267 EXPECT_EQ(L"HTTP@alias:500", auth_handler->spn()); 267 EXPECT_EQ(L"HTTP@alias:500", auth_handler->spn());
268 #endif 268 #endif
269 } 269 }
270 270
271 TEST_F(HttpAuthHandlerNegotiateTest, CnameSync) { 271 TEST_F(HttpAuthHandlerNegotiateTest, CnameSync) {
272 SetupMocks(AuthLibrary()); 272 SetupMocks(AuthLibrary());
273 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 273 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
274 EXPECT_EQ(OK, CreateHandler( 274 EXPECT_EQ(OK, CreateHandler(
275 false, false, true, "http://alias:500", &auth_handler)); 275 false, false, true, "http://alias:500", &auth_handler));
276 ASSERT_TRUE(auth_handler.get() != NULL); 276 ASSERT_TRUE(auth_handler.get() != NULL);
277 TestOldCompletionCallback callback; 277 TestCompletionCallback callback;
278 HttpRequestInfo request_info; 278 HttpRequestInfo request_info;
279 std::string token; 279 std::string token;
280 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info, 280 EXPECT_EQ(OK, auth_handler->GenerateAuthToken(NULL, &request_info,
281 &callback, &token)); 281 callback.callback(), &token));
282 #if defined(OS_WIN) 282 #if defined(OS_WIN)
283 EXPECT_EQ(L"HTTP/canonical.example.com", auth_handler->spn()); 283 EXPECT_EQ(L"HTTP/canonical.example.com", auth_handler->spn());
284 #elif defined(OS_POSIX) 284 #elif defined(OS_POSIX)
285 EXPECT_EQ(L"HTTP@canonical.example.com", auth_handler->spn()); 285 EXPECT_EQ(L"HTTP@canonical.example.com", auth_handler->spn());
286 #endif 286 #endif
287 } 287 }
288 288
289 TEST_F(HttpAuthHandlerNegotiateTest, CnameAsync) { 289 TEST_F(HttpAuthHandlerNegotiateTest, CnameAsync) {
290 SetupMocks(AuthLibrary()); 290 SetupMocks(AuthLibrary());
291 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 291 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
292 EXPECT_EQ(OK, CreateHandler( 292 EXPECT_EQ(OK, CreateHandler(
293 false, false, false, "http://alias:500", &auth_handler)); 293 false, false, false, "http://alias:500", &auth_handler));
294 ASSERT_TRUE(auth_handler.get() != NULL); 294 ASSERT_TRUE(auth_handler.get() != NULL);
295 TestOldCompletionCallback callback; 295 TestCompletionCallback callback;
296 HttpRequestInfo request_info; 296 HttpRequestInfo request_info;
297 std::string token; 297 std::string token;
298 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken( 298 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken(
299 NULL, &request_info, &callback, &token)); 299 NULL, &request_info, callback.callback(), &token));
300 EXPECT_EQ(OK, callback.WaitForResult()); 300 EXPECT_EQ(OK, callback.WaitForResult());
301 #if defined(OS_WIN) 301 #if defined(OS_WIN)
302 EXPECT_EQ(L"HTTP/canonical.example.com", auth_handler->spn()); 302 EXPECT_EQ(L"HTTP/canonical.example.com", auth_handler->spn());
303 #elif defined(OS_POSIX) 303 #elif defined(OS_POSIX)
304 EXPECT_EQ(L"HTTP@canonical.example.com", auth_handler->spn()); 304 EXPECT_EQ(L"HTTP@canonical.example.com", auth_handler->spn());
305 #endif 305 #endif
306 } 306 }
307 307
308 #if defined(OS_POSIX) 308 #if defined(OS_POSIX)
309 309
310 // This test is only for GSSAPI, as we can't use explicit credentials with 310 // This test is only for GSSAPI, as we can't use explicit credentials with
311 // that library. 311 // that library.
312 TEST_F(HttpAuthHandlerNegotiateTest, ServerNotInKerberosDatabase) { 312 TEST_F(HttpAuthHandlerNegotiateTest, ServerNotInKerberosDatabase) {
313 SetupErrorMocks(AuthLibrary(), GSS_S_FAILURE, 0x96C73A07); // No server 313 SetupErrorMocks(AuthLibrary(), GSS_S_FAILURE, 0x96C73A07); // No server
314 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 314 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
315 EXPECT_EQ(OK, CreateHandler( 315 EXPECT_EQ(OK, CreateHandler(
316 false, false, false, "http://alias:500", &auth_handler)); 316 false, false, false, "http://alias:500", &auth_handler));
317 ASSERT_TRUE(auth_handler.get() != NULL); 317 ASSERT_TRUE(auth_handler.get() != NULL);
318 TestOldCompletionCallback callback; 318 TestCompletionCallback callback;
319 HttpRequestInfo request_info; 319 HttpRequestInfo request_info;
320 std::string token; 320 std::string token;
321 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken( 321 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken(
322 NULL, &request_info, &callback, &token)); 322 NULL, &request_info, callback.callback(), &token));
323 EXPECT_EQ(ERR_MISSING_AUTH_CREDENTIALS, callback.WaitForResult()); 323 EXPECT_EQ(ERR_MISSING_AUTH_CREDENTIALS, callback.WaitForResult());
324 } 324 }
325 325
326 // This test is only for GSSAPI, as we can't use explicit credentials with 326 // This test is only for GSSAPI, as we can't use explicit credentials with
327 // that library. 327 // that library.
328 TEST_F(HttpAuthHandlerNegotiateTest, NoKerberosCredentials) { 328 TEST_F(HttpAuthHandlerNegotiateTest, NoKerberosCredentials) {
329 SetupErrorMocks(AuthLibrary(), GSS_S_FAILURE, 0x96C73AC3); // No credentials 329 SetupErrorMocks(AuthLibrary(), GSS_S_FAILURE, 0x96C73AC3); // No credentials
330 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler; 330 scoped_ptr<HttpAuthHandlerNegotiate> auth_handler;
331 EXPECT_EQ(OK, CreateHandler( 331 EXPECT_EQ(OK, CreateHandler(
332 false, false, false, "http://alias:500", &auth_handler)); 332 false, false, false, "http://alias:500", &auth_handler));
333 ASSERT_TRUE(auth_handler.get() != NULL); 333 ASSERT_TRUE(auth_handler.get() != NULL);
334 TestOldCompletionCallback callback; 334 TestCompletionCallback callback;
335 HttpRequestInfo request_info; 335 HttpRequestInfo request_info;
336 std::string token; 336 std::string token;
337 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken( 337 EXPECT_EQ(ERR_IO_PENDING, auth_handler->GenerateAuthToken(
338 NULL, &request_info, &callback, &token)); 338 NULL, &request_info, callback.callback(), &token));
339 EXPECT_EQ(ERR_MISSING_AUTH_CREDENTIALS, callback.WaitForResult()); 339 EXPECT_EQ(ERR_MISSING_AUTH_CREDENTIALS, callback.WaitForResult());
340 } 340 }
341 341
342 #if defined(DLOPEN_KERBEROS) 342 #if defined(DLOPEN_KERBEROS)
343 TEST_F(HttpAuthHandlerNegotiateTest, MissingGSSAPI) { 343 TEST_F(HttpAuthHandlerNegotiateTest, MissingGSSAPI) {
344 scoped_ptr<HostResolver> host_resolver(new MockHostResolver()); 344 scoped_ptr<HostResolver> host_resolver(new MockHostResolver());
345 MockAllowURLSecurityManager url_security_manager; 345 MockAllowURLSecurityManager url_security_manager;
346 scoped_ptr<HttpAuthHandlerNegotiate::Factory> negotiate_factory( 346 scoped_ptr<HttpAuthHandlerNegotiate::Factory> negotiate_factory(
347 new HttpAuthHandlerNegotiate::Factory()); 347 new HttpAuthHandlerNegotiate::Factory());
348 negotiate_factory->set_host_resolver(host_resolver.get()); 348 negotiate_factory->set_host_resolver(host_resolver.get());
(...skipping 10 matching lines...) Expand all
359 BoundNetLog(), 359 BoundNetLog(),
360 &generic_handler); 360 &generic_handler);
361 EXPECT_EQ(ERR_UNSUPPORTED_AUTH_SCHEME, rv); 361 EXPECT_EQ(ERR_UNSUPPORTED_AUTH_SCHEME, rv);
362 EXPECT_TRUE(generic_handler.get() == NULL); 362 EXPECT_TRUE(generic_handler.get() == NULL);
363 } 363 }
364 #endif // defined(DLOPEN_KERBEROS) 364 #endif // defined(DLOPEN_KERBEROS)
365 365
366 #endif // defined(OS_POSIX) 366 #endif // defined(OS_POSIX)
367 367
368 } // namespace net 368 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698