1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_SIGNIN_IOS_BROWSER_FAKE_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_DELEGATE_H_
6 #define COMPONENTS_SIGNIN_IOS_BROWSER_FAKE_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_DELEGATE_H_
8 #include "components/signin/ios/browser/profile_oauth2_token_service_ios_delegate.h"
10 class FakeProfileOAuth2TokenServiceIOSDelegate
11 : public ProfileOAuth2TokenServiceIOSDelegate
{
13 FakeProfileOAuth2TokenServiceIOSDelegate(
15 ProfileOAuth2TokenServiceIOSProvider
* provider
,
16 AccountTrackerService
* account_tracker_service
,
17 SigninErrorController
* signin_error_controller
);
18 ~FakeProfileOAuth2TokenServiceIOSDelegate() override
;
20 OAuth2AccessTokenFetcher
* CreateAccessTokenFetcher(
21 const std::string
& account_id
,
22 net::URLRequestContextGetter
* getter
,
23 OAuth2AccessTokenConsumer
* consumer
) override
;
25 bool RefreshTokenIsAvailable(const std::string
& account_id
) const override
;
27 std::vector
<std::string
> GetAccounts() override
;
28 void RevokeAllCredentials() override
;
30 void LoadCredentials(const std::string
& primary_account_id
) override
;
32 void UpdateCredentials(const std::string
& account_id
,
33 const std::string
& refresh_token
) override
;
34 void RevokeCredentials(const std::string
& account_id
) override
;
35 void AddOrUpdateAccount(const std::string
& account_id
) override
;
36 void RemoveAccount(const std::string
& account_id
) override
;
39 void IssueRefreshTokenForUser(const std::string
& account_id
,
40 const std::string
& token
);
41 std::string
GetRefreshToken(const std::string
& account_id
) const;
43 // Maps account ids to their refresh token strings.
44 std::map
<std::string
, std::string
> refresh_tokens_
;
46 DISALLOW_COPY_AND_ASSIGN(FakeProfileOAuth2TokenServiceIOSDelegate
);
49 #endif // COMPONENTS_SIGNIN_IOS_BROWSER_FAKE_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_DELEGATE_H_