diff options
Diffstat (limited to 'chromium/google_apis/gaia/fake_oauth2_token_service.cc')
-rw-r--r-- | chromium/google_apis/gaia/fake_oauth2_token_service.cc | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/chromium/google_apis/gaia/fake_oauth2_token_service.cc b/chromium/google_apis/gaia/fake_oauth2_token_service.cc new file mode 100644 index 00000000000..0b01404bd87 --- /dev/null +++ b/chromium/google_apis/gaia/fake_oauth2_token_service.cc @@ -0,0 +1,89 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "google_apis/gaia/fake_oauth2_token_service.h" + +FakeOAuth2TokenService::PendingRequest::PendingRequest() { +} + +FakeOAuth2TokenService::PendingRequest::~PendingRequest() { +} + +FakeOAuth2TokenService::FakeOAuth2TokenService() : request_context_(NULL) { +} + +FakeOAuth2TokenService::~FakeOAuth2TokenService() { +} + +std::vector<std::string> FakeOAuth2TokenService::GetAccounts() { + return std::vector<std::string>(account_ids_.begin(), account_ids_.end()); +} + +void FakeOAuth2TokenService::FetchOAuth2Token( + RequestImpl* request, + const std::string& account_id, + net::URLRequestContextGetter* getter, + const std::string& client_id, + const std::string& client_secret, + const ScopeSet& scopes) { + PendingRequest pending_request; + pending_request.account_id = account_id; + pending_request.client_id = client_id; + pending_request.client_secret = client_secret; + pending_request.scopes = scopes; + pending_request.request = request->AsWeakPtr(); + pending_requests_.push_back(pending_request); +} + +void FakeOAuth2TokenService::InvalidateOAuth2Token( + const std::string& account_id, + const std::string& client_id, + const ScopeSet& scopes, + const std::string& access_token) { +} + +net::URLRequestContextGetter* FakeOAuth2TokenService::GetRequestContext() { + return request_context_; +} + +bool FakeOAuth2TokenService::RefreshTokenIsAvailable( + const std::string& account_id) const { + return account_ids_.count(account_id) != 0; +}; + +void FakeOAuth2TokenService::AddAccount(const std::string& account_id) { + account_ids_.insert(account_id); + FireRefreshTokenAvailable(account_id); +} + +void FakeOAuth2TokenService::RemoveAccount(const std::string& account_id) { + account_ids_.erase(account_id); + FireRefreshTokenRevoked(account_id); +} + +void FakeOAuth2TokenService::IssueAllTokensForAccount( + const std::string& account_id, + const std::string& access_token, + const base::Time& expiration) { + + // Walk the requests and notify the callbacks. + for (std::vector<PendingRequest>::iterator it = pending_requests_.begin(); + it != pending_requests_.end(); ++it) { + if (it->request && (account_id == it->account_id)) { + it->request->InformConsumer( + GoogleServiceAuthError::AuthErrorNone(), access_token, expiration); + } + } +} + + +OAuth2AccessTokenFetcher* FakeOAuth2TokenService::CreateAccessTokenFetcher( + const std::string& account_id, + net::URLRequestContextGetter* getter, + OAuth2AccessTokenConsumer* consumer) { + // |FakeOAuth2TokenService| overrides |FetchOAuth2Token| and thus + // |CreateAccessTokenFetcher| should never be called. + NOTREACHED(); + return NULL; +} |