13f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_MOCK_H__
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_MOCK_H__
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/memory/scoped_ptr.h"
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/profile_sync_service.h"
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/profile_sync_factory.h"
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "testing/gmock/include/gmock/gmock.h"
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace browser_sync {
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass AssociatorInterface;
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass ChangeProcessor;
17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass ProfileSyncFactoryMock : public ProfileSyncFactory {
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
213f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen  ProfileSyncFactoryMock();
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ProfileSyncFactoryMock(
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      browser_sync::AssociatorInterface* bookmark_model_associator,
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      browser_sync::ChangeProcessor* bookmark_change_processor);
253f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen  virtual ~ProfileSyncFactoryMock();
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  MOCK_METHOD1(CreateProfileSyncService,
283345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick               ProfileSyncService*(const std::string&));
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD2(CreateDataTypeManager,
30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch               browser_sync::DataTypeManager*(
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   browser_sync::SyncBackendHost*,
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   const browser_sync::DataTypeController::TypeMap&));
333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  MOCK_METHOD2(CreateAppSyncComponents,
343345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick      SyncComponents(ProfileSyncService* profile_sync_service,
353345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick                     browser_sync::UnrecoverableErrorHandler* error_handler));
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD4(CreateAutofillSyncComponents,
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch               SyncComponents(
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   ProfileSyncService* profile_sync_service,
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   WebDatabase* web_database,
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   PersonalDataManager* personal_data,
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   browser_sync::UnrecoverableErrorHandler* error_handler));
4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  MOCK_METHOD4(CreateAutofillProfileSyncComponents,
4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen               SyncComponents(
4421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                   ProfileSyncService* profile_sync_service,
4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                   WebDatabase* web_database,
4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                   PersonalDataManager* personal_data,
4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                   browser_sync::UnrecoverableErrorHandler* error_handler));
48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD2(CreateBookmarkSyncComponents,
49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      SyncComponents(ProfileSyncService* profile_sync_service,
50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                     browser_sync::UnrecoverableErrorHandler* error_handler));
51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD2(CreateExtensionSyncComponents,
52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      SyncComponents(ProfileSyncService* profile_sync_service,
53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                     browser_sync::UnrecoverableErrorHandler* error_handler));
54c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD3(CreatePasswordSyncComponents,
55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch               SyncComponents(
56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   ProfileSyncService* profile_sync_service,
57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   PasswordStore* password_store,
58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   browser_sync::UnrecoverableErrorHandler* error_handler));
59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD2(CreatePreferenceSyncComponents,
60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      SyncComponents(ProfileSyncService* profile_sync_service,
61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                     browser_sync::UnrecoverableErrorHandler* error_handler));
623345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  MOCK_METHOD2(CreateSessionSyncComponents,
633345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick      SyncComponents(ProfileSyncService* profile_sync_service,
643345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick      browser_sync::UnrecoverableErrorHandler* error_handler));
65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD2(CreateThemeSyncComponents,
66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch      SyncComponents(ProfileSyncService* profile_sync_service,
67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                     browser_sync::UnrecoverableErrorHandler* error_handler));
68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD3(CreateTypedUrlSyncComponents,
69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch               SyncComponents(
70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   ProfileSyncService* profile_sync_service,
71c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   history::HistoryBackend* history_backend,
72c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                   browser_sync::UnrecoverableErrorHandler* error_handler));
73c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
74c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private:
75c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  SyncComponents MakeBookmarkSyncComponents();
76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
77c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_ptr<browser_sync::AssociatorInterface> bookmark_model_associator_;
78c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_ptr<browser_sync::ChangeProcessor> bookmark_change_processor_;
79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
80c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
81c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_MOCK_H__
82