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

Unified Diff: chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc

Issue 2939443004: Load credentials on desktop even when there is no authenticated account ID. (Closed)
Patch Set: Unit test Created 3 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc
diff --git a/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc
index a1d51a57533691c73ce5b848ab3949ca547adff9..72fa7b4f460a13abb1eb360248809e3ed499ef25 100644
--- a/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc
+++ b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc
@@ -341,8 +341,65 @@ TEST_F(MutableProfileOAuth2TokenServiceDelegateTest,
EXPECT_EQ(1, end_batch_changes_);
ResetObserverCounts();
- // TODO(fgorski): Enable below when implemented:
- // EXPECT_TRUE(oauth2_servive_->RefreshTokenIsAvailable("account_id"));
+ EXPECT_TRUE(oauth2_service_delegate_->RefreshTokenIsAvailable("account_id"));
+ EXPECT_TRUE(oauth2_service_delegate_->RefreshTokenIsAvailable("account_id2"));
+
+ oauth2_service_delegate_->RevokeAllCredentials();
+ EXPECT_EQ(0, token_available_count_);
+ EXPECT_EQ(2, token_revoked_count_);
+ EXPECT_EQ(0, tokens_loaded_count_);
+ EXPECT_EQ(1, start_batch_changes_);
+ EXPECT_EQ(1, end_batch_changes_);
+ ResetObserverCounts();
+}
+
+TEST_F(MutableProfileOAuth2TokenServiceDelegateTest,
+ PersistenceLoadCredentialsEmptyPrimaryAccountId_DiceEnabled) {
+ switches::EnableAccountConsistencyDiceForTesting(
+ base::CommandLine::ForCurrentProcess());
+
+ // Ensure DB is clean.
+ oauth2_service_delegate_->RevokeAllCredentials();
+ ResetObserverCounts();
+ // Perform a load from an empty DB.
+ EXPECT_EQ(OAuth2TokenServiceDelegate::LOAD_CREDENTIALS_NOT_STARTED,
+ oauth2_service_delegate_->GetLoadCredentialsState());
+ oauth2_service_delegate_->LoadCredentials("");
+ EXPECT_EQ(OAuth2TokenServiceDelegate::LOAD_CREDENTIALS_IN_PROGRESS,
+ oauth2_service_delegate_->GetLoadCredentialsState());
+ base::RunLoop().RunUntilIdle();
+ EXPECT_EQ(OAuth2TokenServiceDelegate::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS,
+ oauth2_service_delegate_->GetLoadCredentialsState());
+ EXPECT_EQ(1, start_batch_changes_);
+ EXPECT_EQ(1, end_batch_changes_);
+ ExpectOneTokensLoadedNotification();
+
+ // No account should be present in the refresh token as no primary account
+ // was passed to the token service.
+ EXPECT_TRUE(oauth2_service_delegate_->refresh_tokens_.empty());
+
+ // Setup a DB with tokens that don't require upgrade and clear memory.
+ oauth2_service_delegate_->UpdateCredentials("account_id", "refresh_token");
+ oauth2_service_delegate_->UpdateCredentials("account_id2", "refresh_token2");
+ oauth2_service_delegate_->refresh_tokens_.clear();
+ EXPECT_EQ(2, start_batch_changes_);
+ EXPECT_EQ(2, end_batch_changes_);
+ ResetObserverCounts();
+
+ oauth2_service_delegate_->LoadCredentials("");
+ EXPECT_EQ(OAuth2TokenServiceDelegate::LOAD_CREDENTIALS_IN_PROGRESS,
+ oauth2_service_delegate_->GetLoadCredentialsState());
+ base::RunLoop().RunUntilIdle();
+ EXPECT_EQ(OAuth2TokenServiceDelegate::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS,
+ oauth2_service_delegate_->GetLoadCredentialsState());
+ EXPECT_EQ(2, token_available_count_);
+ EXPECT_EQ(0, token_revoked_count_);
+ EXPECT_EQ(1, tokens_loaded_count_);
+ EXPECT_EQ(1, start_batch_changes_);
+ EXPECT_EQ(1, end_batch_changes_);
+ ResetObserverCounts();
+
+ EXPECT_TRUE(oauth2_service_delegate_->RefreshTokenIsAvailable("account_id"));
EXPECT_TRUE(oauth2_service_delegate_->RefreshTokenIsAvailable("account_id2"));
oauth2_service_delegate_->RevokeAllCredentials();

Powered by Google App Engine
This is Rietveld 408576698