Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6710)

Unified Diff: chrome/browser/sync/profile_sync_service_autofill_unittest.cc

Issue 1310553005: [Sync] Replace ProfileSyncComponentsFactory with SyncClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Really fix GN Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/profile_sync_service_autofill_unittest.cc
diff --git a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
index b0f59359bc8080ccd380d524ac4819d75b9ce407..f49b9667b2bea17a57f958fbaebc3b71bcb313d6 100644
--- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
@@ -50,7 +50,7 @@
#include "components/signin/core/browser/fake_profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/sync_driver/data_type_controller.h"
-#include "components/sync_driver/profile_sync_components_factory.h"
+#include "components/sync_driver/fake_sync_client.h"
#include "components/webdata/common/web_database.h"
#include "components/webdata_services/web_data_service_test_util.h"
#include "content/public/test/test_browser_thread.h"
@@ -145,6 +145,38 @@ MATCHER_P(MatchProfiles, profile, "") {
return (profile.Compare(arg) == 0);
}
+class TestSyncClient : public sync_driver::FakeSyncClient {
+ public:
+ TestSyncClient(PersonalDataManager* pdm,
+ const scoped_refptr<AutofillWebDataService>& web_data_service)
+ : pdm_(pdm),
+ web_data_service_(web_data_service) {}
+ ~TestSyncClient() override {}
+
+ // FakeSyncClient overrides.
+ autofill::PersonalDataManager* GetPersonalDataManager() override {
+ return pdm_;
+ }
+ scoped_refptr<autofill::AutofillWebDataService> GetWebDataService() override {
+ return web_data_service_;
+ }
+ base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType(
+ syncer::ModelType type) override {
+ DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE);
+ if (type == AUTOFILL) {
+ return AutocompleteSyncableService::FromWebDataService(
+ web_data_service_.get())->AsWeakPtr();
+ } else {
+ return AutofillProfileSyncableService::FromWebDataService(
+ web_data_service_.get())->AsWeakPtr();
+ }
+ }
+
+ private:
+ PersonalDataManager* pdm_;
+ scoped_refptr<AutofillWebDataService> web_data_service_;
+};
+
class WebDatabaseFake : public WebDatabase {
public:
explicit WebDatabaseFake(AutofillTable* autofill_table) {
@@ -356,63 +388,6 @@ ACTION_P(ReturnNewDataTypeManagerWithDebugListener, debug_listener) {
arg4);
}
-ACTION_P(MakeAutofillProfileSyncComponents, wds) {
- EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
- if (!BrowserThread::CurrentlyOn(BrowserThread::DB))
- return base::WeakPtr<syncer::SyncableService>();
- return AutofillProfileSyncableService::FromWebDataService(wds)->AsWeakPtr();
-}
-
-class AbstractAutofillFactory {
- public:
- virtual DataTypeController* CreateDataTypeController(
- ProfileSyncComponentsFactory* factory,
- TestingProfile* profile,
- ProfileSyncService* service) = 0;
- virtual void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
- ProfileSyncService* service,
- AutofillWebDataService* wds,
- DataTypeController* dtc) = 0;
- virtual ~AbstractAutofillFactory() {}
-};
-
-class AutofillEntryFactory : public AbstractAutofillFactory {
- public:
- DataTypeController* CreateDataTypeController(
- ProfileSyncComponentsFactory* factory,
- TestingProfile* profile,
- ProfileSyncService* service) override {
- return new AutofillDataTypeController(factory, profile);
- }
-
- void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
- ProfileSyncService* service,
- AutofillWebDataService* wds,
- DataTypeController* dtc) override {
- EXPECT_CALL(*factory, GetSyncableServiceForType(syncer::AUTOFILL)).
- WillOnce(MakeAutocompleteSyncComponents(wds));
- }
-};
-
-class AutofillProfileFactory : public AbstractAutofillFactory {
- public:
- DataTypeController* CreateDataTypeController(
- ProfileSyncComponentsFactory* factory,
- TestingProfile* profile,
- ProfileSyncService* service) override {
- return new AutofillProfileDataTypeController(factory, profile);
- }
-
- void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
- ProfileSyncService* service,
- AutofillWebDataService* wds,
- DataTypeController* dtc) override {
- EXPECT_CALL(*factory,
- GetSyncableServiceForType(syncer::AUTOFILL_PROFILE)).
- WillOnce(MakeAutofillProfileSyncComponents(wds));
- }
-};
-
class MockPersonalDataManager : public PersonalDataManager {
public:
MockPersonalDataManager() : PersonalDataManager("en-US") {}
@@ -446,20 +421,6 @@ class ProfileSyncServiceAutofillTest
}
~ProfileSyncServiceAutofillTest() override {}
- AutofillProfileFactory profile_factory_;
- AutofillEntryFactory entry_factory_;
-
- AbstractAutofillFactory* GetFactory(syncer::ModelType type) {
- if (type == syncer::AUTOFILL) {
- return &entry_factory_;
- } else if (type == syncer::AUTOFILL_PROFILE) {
- return &profile_factory_;
- } else {
- NOTREACHED();
- return NULL;
- }
- }
-
void SetUp() override {
AbstractProfileSyncServiceTest::SetUp();
ASSERT_TRUE(profile_manager_.SetUp());
@@ -500,6 +461,9 @@ class ProfileSyncServiceAutofillTest
web_data_service_->StartSyncableService();
+ sync_client_.reset(new TestSyncClient(personal_data_manager_,
+ web_data_service_));
+
// When UpdateAutofillEntries() is called with an empty list, the return
// value should be |true|, rather than the default of |false|.
std::vector<AutofillEntry> empty;
@@ -531,7 +495,6 @@ class ProfileSyncServiceAutofillTest
void StartSyncService(const base::Closure& callback,
bool will_fail_association,
syncer::ModelType type) {
- AbstractAutofillFactory* factory = GetFactory(type);
SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile_);
signin->SetAuthenticatedAccountInfo("12345", "test_user@gmail.com");
sync_service_ = TestProfileSyncService::BuildAutoStartAsyncInit(profile_,
@@ -539,12 +502,6 @@ class ProfileSyncServiceAutofillTest
ProfileSyncComponentsFactoryMock* components =
sync_service_->components_factory_mock();
- DataTypeController* data_type_controller =
- factory->CreateDataTypeController(components, profile_, sync_service_);
- factory->SetExpectation(components,
- sync_service_,
- web_data_service_.get(),
- data_type_controller);
EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)).
WillOnce(ReturnNewDataTypeManagerWithDebugListener(
@@ -558,7 +515,7 @@ class ProfileSyncServiceAutofillTest
->UpdateCredentials(signin->GetAuthenticatedAccountId(),
"oauth2_login_token");
- sync_service_->RegisterDataTypeController(data_type_controller);
+ sync_service_->RegisterDataTypeController(CreateDataTypeController(type));
sync_service_->Initialize();
base::MessageLoop::current()->Run();
@@ -703,6 +660,14 @@ class ProfileSyncServiceAutofillTest
return MakeAutofillEntry(name, value, time_shift, -1);
}
+ DataTypeController* CreateDataTypeController(syncer::ModelType type) {
+ DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE);
+ if (type == AUTOFILL)
+ return new AutofillDataTypeController(sync_client_.get());
+ else
+ return new AutofillProfileDataTypeController(sync_client_.get());
+ }
+
friend class AddAutofillHelper<AutofillEntry>;
friend class AddAutofillHelper<AutofillProfile>;
friend class FakeServerUpdater;
@@ -715,6 +680,7 @@ class ProfileSyncServiceAutofillTest
MockPersonalDataManager* personal_data_manager_;
syncer::DataTypeAssociationStats association_stats_;
base::WeakPtrFactory<DataTypeDebugInfoListener> debug_ptr_factory_;
+ scoped_ptr<TestSyncClient> sync_client_;
};
template <class T>
« no previous file with comments | « chrome/browser/sync/profile_sync_service_android_unittest.cc ('k') | chrome/browser/sync/profile_sync_service_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698