profile_sync_service_mock.cc revision effb81e5f8246d0db0270817048dc992db66e9fb
1// Copyright (c) 2012 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.
4
5#include "base/prefs/pref_service.h"
6#include "base/prefs/testing_pref_store.h"
7#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
8#include "chrome/browser/signin/signin_manager.h"
9#include "chrome/browser/signin/signin_manager_factory.h"
10#include "chrome/browser/sync/managed_user_signin_manager_wrapper.h"
11#include "chrome/browser/sync/profile_sync_service_mock.h"
12#include "chrome/common/pref_names.h"
13#include "chrome/common/url_constants.h"
14#include "chrome/test/base/testing_profile.h"
15#include "components/signin/core/browser/profile_oauth2_token_service.h"
16
17ProfileSyncServiceMock::ProfileSyncServiceMock(Profile* profile)
18    : ProfileSyncService(
19          NULL,
20          profile,
21          new ManagedUserSigninManagerWrapper(
22              profile,
23              SigninManagerFactory::GetForProfile(profile)),
24          ProfileOAuth2TokenServiceFactory::GetForProfile(profile),
25          browser_sync::MANUAL_START) {}
26
27ProfileSyncServiceMock::~ProfileSyncServiceMock() {
28}
29
30// static
31TestingProfile* ProfileSyncServiceMock::MakeSignedInTestingProfile() {
32  TestingProfile* profile = new TestingProfile();
33  profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "foo");
34  return profile;
35}
36
37// static
38KeyedService* ProfileSyncServiceMock::BuildMockProfileSyncService(
39    content::BrowserContext* profile) {
40  return new ProfileSyncServiceMock(static_cast<Profile*>(profile));
41}
42
43ScopedVector<browser_sync::DeviceInfo>
44    ProfileSyncServiceMock::GetAllSignedInDevices() const {
45  ScopedVector<browser_sync::DeviceInfo> devices;
46  std::vector<browser_sync::DeviceInfo*>* device_vector =
47      GetAllSignedInDevicesMock();
48  devices.get() = *device_vector;
49  return devices.Pass();
50}
51
52scoped_ptr<browser_sync::DeviceInfo>
53    ProfileSyncServiceMock::GetLocalDeviceInfo() const {
54  return scoped_ptr<browser_sync::DeviceInfo>(GetLocalDeviceInfoMock()).Pass();
55}
56