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.
5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_MOCK_H_
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_MOCK_H_
11 #include "base/memory/weak_ptr.h"
12 #include "base/strings/string16.h"
13 #include "chrome/browser/sync/profile_sync_service.h"
14 #include "chrome/test/base/testing_profile.h"
15 #include "components/sync_driver/change_processor.h"
16 #include "components/sync_driver/data_type_controller.h"
17 #include "components/sync_driver/device_info.h"
18 #include "google_apis/gaia/google_service_auth_error.h"
19 #include "sync/internal_api/public/base/model_type.h"
20 #include "sync/protocol/sync_protocol_error.h"
21 #include "testing/gmock/include/gmock/gmock.h"
23 using ::testing::Invoke
;
25 class ProfileSyncServiceMock
: public ProfileSyncService
{
27 explicit ProfileSyncServiceMock(Profile
* profile
);
28 ProfileSyncServiceMock(
29 scoped_ptr
<ProfileSyncComponentsFactory
> factory
, Profile
* profile
);
30 virtual ~ProfileSyncServiceMock();
32 // A utility used by sync tests to create a TestingProfile with a Google
33 // Services username stored in a (Testing)PrefService.
34 static TestingProfile
* MakeSignedInTestingProfile();
36 // Helper routine to be used in conjunction with
37 // BrowserContextKeyedServiceFactory::SetTestingFactory().
38 static KeyedService
* BuildMockProfileSyncService(
39 content::BrowserContext
* profile
);
41 MOCK_METHOD0(DisableForUser
, void());
42 MOCK_METHOD4(OnBackendInitialized
,
43 void(const syncer::WeakHandle
<syncer::JsBackend
>&,
44 const syncer::WeakHandle
<syncer::DataTypeDebugInfoListener
>&,
47 MOCK_METHOD0(OnSyncCycleCompleted
, void());
48 MOCK_METHOD0(OnAuthError
, void());
49 MOCK_METHOD4(OnUserSubmittedAuth
,
50 void(const std::string
& username
,
51 const std::string
& password
,
52 const std::string
& captcha
,
53 const std::string
& access_code
));
54 MOCK_METHOD0(OnUserCancelledDialog
, void());
55 MOCK_CONST_METHOD0(GetAuthenticatedUsername
, base::string16());
56 MOCK_METHOD2(OnUserChoseDatatypes
,
57 void(bool sync_everything
,
58 syncer::ModelTypeSet chosen_types
));
60 MOCK_METHOD2(OnUnrecoverableError
,
61 void(const tracked_objects::Location
& location
,
62 const std::string
& message
));
63 MOCK_METHOD1(DisableDatatype
, void(const syncer::SyncError
&));
64 MOCK_CONST_METHOD0(GetUserShare
, syncer::UserShare
*());
65 MOCK_METHOD1(DeactivateDataType
, void(syncer::ModelType
));
66 MOCK_METHOD0(UnsuppressAndStart
, void());
68 MOCK_METHOD1(AddObserver
, void(ProfileSyncServiceBase::Observer
*));
69 MOCK_METHOD1(RemoveObserver
, void(ProfileSyncServiceBase::Observer
*));
70 MOCK_METHOD0(GetJsController
, base::WeakPtr
<syncer::JsController
>());
71 MOCK_CONST_METHOD0(HasSyncSetupCompleted
, bool());
73 MOCK_CONST_METHOD0(EncryptEverythingAllowed
, bool());
74 MOCK_CONST_METHOD0(EncryptEverythingEnabled
, bool());
75 MOCK_METHOD0(EnableEncryptEverything
, void());
77 MOCK_METHOD1(ChangePreferredDataTypes
,
78 void(syncer::ModelTypeSet preferred_types
));
79 MOCK_CONST_METHOD0(GetActiveDataTypes
, syncer::ModelTypeSet());
80 MOCK_CONST_METHOD0(GetPreferredDataTypes
, syncer::ModelTypeSet());
81 MOCK_CONST_METHOD0(GetRegisteredDataTypes
, syncer::ModelTypeSet());
82 MOCK_CONST_METHOD0(GetLastSessionSnapshot
,
83 syncer::sessions::SyncSessionSnapshot());
85 MOCK_METHOD1(QueryDetailedSyncStatus
,
86 bool(browser_sync::SyncBackendHost::Status
* result
));
87 MOCK_CONST_METHOD0(GetAuthError
, const GoogleServiceAuthError
&());
88 MOCK_CONST_METHOD0(FirstSetupInProgress
, bool());
89 MOCK_CONST_METHOD0(GetLastSyncedTimeString
, base::string16());
90 MOCK_CONST_METHOD0(HasUnrecoverableError
, bool());
91 MOCK_CONST_METHOD0(SyncActive
, bool());
92 MOCK_CONST_METHOD0(backend_initialized
, bool());
93 MOCK_CONST_METHOD0(IsStartSuppressed
, bool());
94 MOCK_CONST_METHOD0(waiting_for_auth
, bool());
95 MOCK_METHOD1(OnActionableError
, void(const syncer::SyncProtocolError
&));
96 MOCK_METHOD1(SetSetupInProgress
, void(bool));
97 MOCK_CONST_METHOD1(IsDataTypeControllerRunning
, bool(syncer::ModelType
));
99 // DataTypeManagerObserver mocks.
100 MOCK_METHOD0(OnConfigureBlocked
, void());
101 MOCK_METHOD1(OnConfigureDone
,
102 void(const sync_driver::DataTypeManager::ConfigureResult
&));
103 MOCK_METHOD0(OnConfigureStart
, void());
105 MOCK_METHOD0(IsSyncEnabledAndLoggedIn
, bool());
106 MOCK_CONST_METHOD0(IsManaged
, bool());
107 MOCK_METHOD0(IsOAuthRefreshTokenAvailable
, bool());
109 MOCK_CONST_METHOD0(IsPassphraseRequired
, bool());
110 MOCK_CONST_METHOD0(IsPassphraseRequiredForDecryption
, bool());
111 MOCK_CONST_METHOD0(IsUsingSecondaryPassphrase
, bool());
112 MOCK_CONST_METHOD0(GetPassphraseType
, syncer::PassphraseType());
113 MOCK_CONST_METHOD0(GetPassphraseTime
, base::Time());
114 MOCK_CONST_METHOD0(GetExplicitPassphraseTime
, base::Time());
116 MOCK_METHOD1(SetDecryptionPassphrase
, bool(const std::string
& passphrase
));
117 MOCK_METHOD2(SetEncryptionPassphrase
, void(const std::string
& passphrase
,
118 PassphraseType type
));
120 MOCK_METHOD1(StartUpSlowBackendComponents
, void(BackendMode
));
123 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_MOCK_H_