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 // This file defines a unit test for the profile's token service. | 5 // This file defines a unit test for the profile's token service. |
6 | 6 |
7 #include "chrome/browser/net/gaia/token_service_unittest.h" | 7 #include "chrome/browser/net/gaia/token_service_unittest.h" |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 // Gaia returns the entire result as the token so while this is a shared | 371 // Gaia returns the entire result as the token so while this is a shared |
372 // result with ClientLogin, it doesn't matter, we should still get it back. | 372 // result with ClientLogin, it doesn't matter, we should still get it back. |
373 EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kSyncService), result); | 373 EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kSyncService), result); |
374 EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kTalkService), result); | 374 EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kTalkService), result); |
375 | 375 |
376 service_.ResetCredentialsInMemory(); | 376 service_.ResetCredentialsInMemory(); |
377 EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncService)); | 377 EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncService)); |
378 EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); | 378 EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); |
379 } | 379 } |
380 | 380 |
381 TEST_F(TokenServiceTest, FullIntegrationNewServicesAdded) { | |
382 std::string token1 = "token1"; | |
383 | |
384 for (int i = 0; i < TokenService::kNumServices; ++i) { | |
385 const char* service = TokenService::kServices[i]; | |
386 EXPECT_FALSE(service_.HasTokenForService(service)); | |
387 } | |
388 { | |
389 MockFactory<MockFetcher> factory; | |
390 factory.set_results(token1); | |
391 service_.StartFetchingTokens(); | |
392 } | |
393 | |
394 for (int i = 0; i < TokenService::kNumServices; ++i) { | |
395 const char* service = TokenService::kServices[i]; | |
396 EXPECT_TRUE(service_.HasTokenForService(service)); | |
397 EXPECT_EQ(token1, service_.GetTokenForService(service)); | |
398 } | |
399 | |
400 // Clear tokens for some services to simulate that those services got | |
401 // added in a new Chrome release. | |
402 service_.token_map_.erase(GaiaConstants::kLSOService); | |
403 service_.token_map_.erase(GaiaConstants::kCWSService); | |
404 | |
405 for (int i = 0; i < TokenService::kNumServices; ++i) { | |
406 const char* service = TokenService::kServices[i]; | |
407 if (service == GaiaConstants::kLSOService || | |
408 service == GaiaConstants::kCWSService) { | |
409 EXPECT_FALSE(service_.HasTokenForService(service)); | |
410 } else { | |
411 EXPECT_TRUE(service_.HasTokenForService(service)); | |
412 EXPECT_EQ(token1, service_.GetTokenForService(service)); | |
413 } | |
414 } | |
415 | |
416 std::string token2 = "token2"; | |
417 { | |
418 MockFactory<MockFetcher> factory; | |
419 factory.set_results(token2); | |
420 service_.StartFetchingMissingTokens(); | |
421 } | |
422 | |
423 for (int i = 0; i < TokenService::kNumServices; ++i) { | |
424 const char* service = TokenService::kServices[i]; | |
425 EXPECT_TRUE(service_.HasTokenForService(service)); | |
426 if (service == GaiaConstants::kLSOService || | |
427 service == GaiaConstants::kCWSService) { | |
428 EXPECT_EQ(token2, service_.GetTokenForService(service)); | |
429 } else { | |
430 EXPECT_EQ(token1, service_.GetTokenForService(service)); | |
431 } | |
432 } | |
433 } | |
434 | |
435 TEST_F(TokenServiceTest, LoadTokensIntoMemoryBasic) { | 381 TEST_F(TokenServiceTest, LoadTokensIntoMemoryBasic) { |
436 // Validate that the method sets proper data in notifications and map. | 382 // Validate that the method sets proper data in notifications and map. |
437 std::map<std::string, std::string> db_tokens; | 383 std::map<std::string, std::string> db_tokens; |
438 std::map<std::string, std::string> memory_tokens; | 384 std::map<std::string, std::string> memory_tokens; |
439 | 385 |
440 service_.LoadTokensIntoMemory(db_tokens, &memory_tokens); | 386 service_.LoadTokensIntoMemory(db_tokens, &memory_tokens); |
441 EXPECT_TRUE(db_tokens.empty()); | 387 EXPECT_TRUE(db_tokens.empty()); |
442 EXPECT_TRUE(memory_tokens.empty()); | 388 EXPECT_TRUE(memory_tokens.empty()); |
443 EXPECT_EQ(0U, success_tracker_.size()); | 389 EXPECT_EQ(0U, success_tracker_.size()); |
444 | 390 |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 | 524 |
579 *CommandLine::ForCurrentProcess() = original_cl; | 525 *CommandLine::ForCurrentProcess() = original_cl; |
580 } | 526 } |
581 }; | 527 }; |
582 | 528 |
583 TEST_F(TokenServiceCommandLineTest, TestValueOverride) { | 529 TEST_F(TokenServiceCommandLineTest, TestValueOverride) { |
584 EXPECT_TRUE(service_.HasTokenForService("my_service")); | 530 EXPECT_TRUE(service_.HasTokenForService("my_service")); |
585 EXPECT_EQ("my_value", service_.GetTokenForService("my_service")); | 531 EXPECT_EQ("my_value", service_.GetTokenForService("my_service")); |
586 } | 532 } |
587 #endif // ifndef NDEBUG | 533 #endif // ifndef NDEBUG |
OLD | NEW |