diff options
author | rickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 15:43:03 +0000 |
---|---|---|
committer | rickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 15:43:03 +0000 |
commit | aae6910295295555a92e74c659f274d7e813c7c8 (patch) | |
tree | 7329b6f1325793950f5b35d7f40580da66a32562 /chrome/browser/net/gaia | |
parent | d9cc1c32abaaa4dbf0cca3dec8255255895f4361 (diff) | |
download | chromium_src-aae6910295295555a92e74c659f274d7e813c7c8.zip chromium_src-aae6910295295555a92e74c659f274d7e813c7c8.tar.gz chromium_src-aae6910295295555a92e74c659f274d7e813c7c8.tar.bz2 |
Expose OAuth token/secret in TokenService.
Also rename AreOAuthCredentialsValid to be HasOAuthCredentials.
BUG=96614
TEST=unit_tests
Review URL: http://codereview.chromium.org/7891064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101491 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/gaia')
-rw-r--r-- | chrome/browser/net/gaia/token_service.cc | 18 | ||||
-rw-r--r-- | chrome/browser/net/gaia/token_service.h | 8 | ||||
-rw-r--r-- | chrome/browser/net/gaia/token_service_unittest.cc | 32 |
3 files changed, 49 insertions, 9 deletions
diff --git a/chrome/browser/net/gaia/token_service.cc b/chrome/browser/net/gaia/token_service.cc index 1448ad2..c9d5aa3 100644 --- a/chrome/browser/net/gaia/token_service.cc +++ b/chrome/browser/net/gaia/token_service.cc @@ -160,10 +160,6 @@ bool TokenService::AreCredentialsValid() const { return !credentials_.lsid.empty() && !credentials_.sid.empty(); } -bool TokenService::AreOAuthCredentialsValid() const { - return !oauth_token_.empty() && !oauth_secret_.empty(); -} - bool TokenService::HasLsid() const { return !credentials_.lsid.empty(); } @@ -172,6 +168,18 @@ const std::string& TokenService::GetLsid() const { return credentials_.lsid; } +bool TokenService::HasOAuthCredentials() const { + return !oauth_token_.empty() && !oauth_secret_.empty(); +} + +const std::string& TokenService::GetOAuthToken() const { + return oauth_token_; +} + +const std::string& TokenService::GetOAuthSecret() const { + return oauth_secret_; +} + void TokenService::StartFetchingTokens() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(AreCredentialsValid()); @@ -184,7 +192,7 @@ void TokenService::StartFetchingTokens() { void TokenService::StartFetchingOAuthTokens() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - DCHECK(AreOAuthCredentialsValid()); + DCHECK(HasOAuthCredentials()); for (int i = 0; i < kNumOAuthServices; i++) { oauth_fetchers_[i]->StartOAuthWrapBridge(oauth_token_, oauth_secret_, diff --git a/chrome/browser/net/gaia/token_service.h b/chrome/browser/net/gaia/token_service.h index fff3bf3..a54d7f3 100644 --- a/chrome/browser/net/gaia/token_service.h +++ b/chrome/browser/net/gaia/token_service.h @@ -136,8 +136,12 @@ class TokenService : public GaiaAuthConsumer, const std::string& GetLsid() const; // Did we get a proper LSID? bool AreCredentialsValid() const; - // Do we have an OAuth access token and secret. - bool AreOAuthCredentialsValid() const; + + // For services with their own auth routines, they can read the OAuth token + // and secret directly. Deprecated (in the sense of discouraged). + bool HasOAuthCredentials() const; + const std::string& GetOAuthToken() const; + const std::string& GetOAuthSecret() const; // Tokens will be fetched for all services(sync, talk) in the background. // Results come back via event channel. Services can also poll before events diff --git a/chrome/browser/net/gaia/token_service_unittest.cc b/chrome/browser/net/gaia/token_service_unittest.cc index ba9dfd4..72994c6 100644 --- a/chrome/browser/net/gaia/token_service_unittest.cc +++ b/chrome/browser/net/gaia/token_service_unittest.cc @@ -112,6 +112,9 @@ TEST_F(TokenServiceTest, SanityCheck) { EXPECT_TRUE(service_.HasLsid()); EXPECT_EQ(service_.GetLsid(), "lsid"); EXPECT_FALSE(service_.HasTokenForService("nonexistent service")); + EXPECT_TRUE(service_.HasOAuthCredentials()); + EXPECT_EQ(service_.GetOAuthToken(), "oauth"); + EXPECT_EQ(service_.GetOAuthSecret(), "secret"); } TEST_F(TokenServiceTest, NoToken) { @@ -215,11 +218,18 @@ TEST_F(TokenServiceTest, ResetSimple) { service_.OnIssueAuthTokenSuccess(GaiaConstants::kSyncService, "token"); EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncService)); EXPECT_TRUE(service_.HasLsid()); + service_.OnOAuthGetAccessTokenSuccess("token2", "secret"); + service_.OnOAuthWrapBridgeSuccess( + GaiaConstants::kSyncServiceOAuth, "token3", "4321"); + EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); + EXPECT_TRUE(service_.HasOAuthCredentials()); service_.ResetCredentialsInMemory(); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncService)); EXPECT_FALSE(service_.HasLsid()); + EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); + EXPECT_FALSE(service_.HasOAuthCredentials()); } TEST_F(TokenServiceTest, ResetComplex) { @@ -235,17 +245,29 @@ TEST_F(TokenServiceTest, ResetComplex) { EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); + service_.OnOAuthWrapBridgeSuccess( + GaiaConstants::kSyncServiceOAuth, "erasemetoo", "1234"); + EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncService)); + EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kSyncService), + "eraseme"); + EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); + EXPECT_EQ(service_.GetTokenForService(GaiaConstants::kSyncServiceOAuth), + "erasemetoo"); + EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); + service_.ResetCredentialsInMemory(); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncService)); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); EXPECT_FALSE(service_.HasLsid()); + EXPECT_FALSE(service_.HasOAuthCredentials()); // Now start using it again. service_.UpdateCredentials(credentials_); EXPECT_TRUE(service_.HasLsid()); service_.StartFetchingTokens(); service_.UpdateOAuthCredentials(oauth_token_, oauth_secret_); + EXPECT_TRUE(service_.HasOAuthCredentials()); service_.StartFetchingOAuthTokens(); service_.OnIssueAuthTokenSuccess(GaiaConstants::kSyncService, "token"); @@ -345,6 +367,7 @@ TEST_F(TokenServiceTest, WebDBLoadIntegration) { // Should result in DB write. service_.OnIssueAuthTokenSuccess(GaiaConstants::kSyncService, "token"); EXPECT_EQ(1U, success_tracker_.size()); + service_.OnOAuthGetAccessTokenSuccess("token1", "secret"); service_.OnOAuthWrapBridgeSuccess( GaiaConstants::kSyncServiceOAuth, "token2", "3600"); EXPECT_EQ(2U, success_tracker_.size()); @@ -365,6 +388,7 @@ TEST_F(TokenServiceTest, WebDBLoadIntegration) { EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); EXPECT_TRUE(service_.HasLsid()); + EXPECT_TRUE(service_.HasOAuthCredentials()); } TEST_F(TokenServiceTest, MultipleLoadResetIntegration) { @@ -375,12 +399,13 @@ TEST_F(TokenServiceTest, MultipleLoadResetIntegration) { EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncService)); EXPECT_FALSE(service_.HasLsid()); + service_.OnOAuthGetAccessTokenSuccess("token2", "secret"); service_.OnOAuthWrapBridgeSuccess( - GaiaConstants::kSyncServiceOAuth, "token2", "3600"); + GaiaConstants::kSyncServiceOAuth, "token3", "3600"); service_.ResetCredentialsInMemory(); success_tracker_.Reset(); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); - EXPECT_FALSE(service_.AreOAuthCredentialsValid()); + EXPECT_FALSE(service_.HasOAuthCredentials()); service_.LoadTokensFromDB(); WaitForDBLoadCompletion(); @@ -393,6 +418,7 @@ TEST_F(TokenServiceTest, MultipleLoadResetIntegration) { EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); EXPECT_FALSE(service_.HasTokenForService(GaiaConstants::kTalkService)); EXPECT_TRUE(service_.HasLsid()); + EXPECT_TRUE(service_.HasOAuthCredentials()); // Reset it one more time so there's no surprises. service_.ResetCredentialsInMemory(); @@ -404,6 +430,8 @@ TEST_F(TokenServiceTest, MultipleLoadResetIntegration) { EXPECT_EQ(2U, success_tracker_.size()); EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncService)); EXPECT_TRUE(service_.HasTokenForService(GaiaConstants::kSyncServiceOAuth)); + EXPECT_TRUE(service_.HasLsid()); + EXPECT_TRUE(service_.HasOAuthCredentials()); } #ifndef NDEBUG |