summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/gaia
diff options
context:
space:
mode:
authorrickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 15:43:03 +0000
committerrickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 15:43:03 +0000
commitaae6910295295555a92e74c659f274d7e813c7c8 (patch)
tree7329b6f1325793950f5b35d7f40580da66a32562 /chrome/browser/net/gaia
parentd9cc1c32abaaa4dbf0cca3dec8255255895f4361 (diff)
downloadchromium_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.cc18
-rw-r--r--chrome/browser/net/gaia/token_service.h8
-rw-r--r--chrome/browser/net/gaia/token_service_unittest.cc32
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