1 // Copyright 2014 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 #include "chrome/browser/signin/fake_account_tracker_service.h"
7 #include "base/values.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/signin/chrome_signin_client_factory.h"
10 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
11 #include "components/signin/core/browser/profile_oauth2_token_service.h"
14 scoped_ptr
<KeyedService
> FakeAccountTrackerService::Build(
15 content::BrowserContext
* context
) {
16 Profile
* profile
= Profile::FromBrowserContext(context
);
17 FakeAccountTrackerService
* service
= new FakeAccountTrackerService();
19 ProfileOAuth2TokenServiceFactory::GetForProfile(profile
),
20 ChromeSigninClientFactory::GetForProfile(profile
));
21 return scoped_ptr
<KeyedService
>(service
);
24 FakeAccountTrackerService::FakeAccountTrackerService() {}
26 FakeAccountTrackerService::~FakeAccountTrackerService() {}
28 void FakeAccountTrackerService::StartFetchingUserInfo(
29 const std::string
& account_id
) {
30 // In tests, don't do actual network fetch.
33 void FakeAccountTrackerService::FakeUserInfoFetchSuccess(
34 const std::string
& email
,
35 const std::string
& gaia
,
36 const std::string
& hosted_domain
,
37 const std::string
& full_name
,
38 const std::string
& given_name
,
39 const std::string
& locale
,
40 const std::string
& picture_url
) {
41 base::DictionaryValue user_info
;
42 user_info
.SetString("id", gaia
);
43 user_info
.SetString("email", email
);
44 user_info
.SetString("hd", hosted_domain
);
45 user_info
.SetString("name", full_name
);
46 user_info
.SetString("given_name", given_name
);
47 user_info
.SetString("locale", locale
);
48 user_info
.SetString("picture", picture_url
);
49 std::vector
<std::string
> service_flags
;
50 SetAccountStateFromUserInfo(
51 PickAccountIdForAccount(gaia
, email
), &user_info
, &service_flags
);
54 void FakeAccountTrackerService::SendRefreshTokenAnnotationRequest(
55 const std::string
& account_id
) {
56 // In tests, don't do actual network fetch.