Index: google_apis/gaia/oauth2_token_service_unittest.cc |
diff --git a/google_apis/gaia/oauth2_token_service_unittest.cc b/google_apis/gaia/oauth2_token_service_unittest.cc |
index 0cf0c6586ddd53a08b61f5c86ebf031addc116d5..aead8f1104df2076d99c58996a13f3de72eeb8cd 100644 |
--- a/google_apis/gaia/oauth2_token_service_unittest.cc |
+++ b/google_apis/gaia/oauth2_token_service_unittest.cc |
@@ -11,6 +11,7 @@ |
#include "google_apis/gaia/oauth2_access_token_consumer.h" |
#include "google_apis/gaia/oauth2_access_token_fetcher_impl.h" |
#include "google_apis/gaia/oauth2_token_service.h" |
+#include "google_apis/gaia/oauth2_token_service_delegate.h" |
#include "google_apis/gaia/oauth2_token_service_test_util.h" |
#include "net/http/http_status_code.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
@@ -41,16 +42,45 @@ class RetryingTestingOAuth2TokenServiceConsumer |
scoped_ptr<OAuth2TokenService::Request> request_; |
}; |
-class TestOAuth2TokenService : public OAuth2TokenService { |
+class TestFakeOAuth2TokenServiceDelegate : public OAuth2TokenServiceDelegate { |
public: |
- explicit TestOAuth2TokenService(net::TestURLRequestContextGetter* getter) |
- : request_context_getter_(getter) { |
+ TestFakeOAuth2TokenServiceDelegate() : request_context_getter_(nullptr) {} |
+ |
+ ~TestFakeOAuth2TokenServiceDelegate() override {} |
+ |
+ OAuth2AccessTokenFetcher* CreateAccessTokenFetcher( |
+ const std::string& account_id, |
+ net::URLRequestContextGetter* getter, |
+ OAuth2AccessTokenConsumer* consumer) override { |
+ std::map<std::string, std::string>::const_iterator it = |
+ refresh_tokens_.find(account_id); |
+ DCHECK(it != refresh_tokens_.end()); |
+ std::string refresh_token(it->second); |
+ return new OAuth2AccessTokenFetcherImpl(consumer, getter, refresh_token); |
} |
- void CancelAllRequestsForTest() { CancelAllRequests(); } |
+ bool RefreshTokenIsAvailable(const std::string& account_id) const override { |
+ std::map<std::string, std::string>::const_iterator it = |
+ refresh_tokens_.find(account_id); |
- void CancelRequestsForAccountForTest(const std::string& account_id) { |
- CancelRequestsForAccount(account_id); |
+ return it != refresh_tokens_.end(); |
+ } |
+ |
+ std::string GetRefreshToken(const std::string& account_id) const override { |
+ return std::string(); |
+ } |
+ |
+ void UpdateAuthError(const std::string& account_id, |
+ const GoogleServiceAuthError& error) override {} |
+ |
+ std::vector<std::string> GetAccounts() override { |
+ return std::vector<std::string>(); |
+ } |
+ |
+ void RevokeAllCredentials() override {} |
+ |
+ net::URLRequestContextGetter* GetRequestContext() const override { |
+ return request_context_getter_.get(); |
} |
// For testing: set the refresh token to be used. |
@@ -62,40 +92,44 @@ class TestOAuth2TokenService : public OAuth2TokenService { |
refresh_tokens_[account_id] = refresh_token; |
} |
- bool RefreshTokenIsAvailable(const std::string& account_id) const override { |
- std::map<std::string, std::string>::const_iterator it = |
- refresh_tokens_.find(account_id); |
- |
- return it != refresh_tokens_.end(); |
- }; |
+ void set_request_context(net::TestURLRequestContextGetter* getter) { |
+ request_context_getter_ = getter; |
+ } |
private: |
- // OAuth2TokenService implementation. |
- net::URLRequestContextGetter* GetRequestContext() override { |
- return request_context_getter_.get(); |
+ std::map<std::string, std::string> refresh_tokens_; |
+ scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; |
+}; |
Roger Tawa OOO till Jul 10th
2015/05/28 14:54:44
Why do we need this class and not use FakeOAuth2To
gogerald1
2015/06/03 18:12:59
Done.
|
+ |
+class TestOAuth2TokenService : public OAuth2TokenService { |
+ public: |
+ explicit TestOAuth2TokenService(OAuth2TokenServiceDelegate* delegate, |
+ net::TestURLRequestContextGetter* getter) |
+ : OAuth2TokenService(delegate) { |
+ static_cast<TestFakeOAuth2TokenServiceDelegate*>(delegate) |
+ ->set_request_context(getter); |
Roger Tawa OOO till Jul 10th
2015/05/28 14:54:44
Don't cast and call set_request_context() here. M
gogerald1
2015/06/03 18:12:59
Done.
|
} |
- OAuth2AccessTokenFetcher* CreateAccessTokenFetcher( |
- const std::string& account_id, |
- net::URLRequestContextGetter* getter, |
- OAuth2AccessTokenConsumer* consumer) override { |
- std::map<std::string, std::string>::const_iterator it = |
- refresh_tokens_.find(account_id); |
- DCHECK(it != refresh_tokens_.end()); |
- std::string refresh_token(it->second); |
- return new OAuth2AccessTokenFetcherImpl(consumer, getter, refresh_token); |
- }; |
+ void CancelAllRequestsForTest() { CancelAllRequests(); } |
- std::map<std::string, std::string> refresh_tokens_; |
- scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; |
+ void CancelRequestsForAccountForTest(const std::string& account_id) { |
+ CancelRequestsForAccount(account_id); |
+ } |
+ |
+ void set_refresh_token(const std::string& account_id, |
+ const std::string& refresh_token) { |
+ static_cast<TestFakeOAuth2TokenServiceDelegate*>(GetDelegate()) |
+ ->set_refresh_token(account_id, refresh_token); |
+ } |
}; |
class OAuth2TokenServiceTest : public testing::Test { |
public: |
void SetUp() override { |
oauth2_service_.reset( |
- new TestOAuth2TokenService(new net::TestURLRequestContextGetter( |
- message_loop_.message_loop_proxy()))); |
+ new TestOAuth2TokenService(new TestFakeOAuth2TokenServiceDelegate(), |
+ new net::TestURLRequestContextGetter( |
+ message_loop_.message_loop_proxy()))); |
Roger Tawa OOO till Jul 10th
2015/05/28 14:54:44
Should pass the request context getter directly to
gogerald1
2015/06/03 18:12:59
Done.
|
account_id_ = "test_user@gmail.com"; |
} |