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

Side by Side Diff: chrome/browser/sync/profile_sync_service_autofill_unittest.cc

Issue 8275018: Reland r105404 with compile warning fixed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 12 matching lines...) Expand all
23 #include "chrome/browser/autofill/personal_data_manager.h" 23 #include "chrome/browser/autofill/personal_data_manager.h"
24 #include "chrome/browser/autofill/personal_data_manager_factory.h" 24 #include "chrome/browser/autofill/personal_data_manager_factory.h"
25 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" 25 #include "chrome/browser/sync/abstract_profile_sync_service_test.h"
26 #include "chrome/browser/sync/engine/model_changing_syncer_command.h" 26 #include "chrome/browser/sync/engine/model_changing_syncer_command.h"
27 #include "chrome/browser/sync/glue/autofill_change_processor.h" 27 #include "chrome/browser/sync/glue/autofill_change_processor.h"
28 #include "chrome/browser/sync/glue/autofill_data_type_controller.h" 28 #include "chrome/browser/sync/glue/autofill_data_type_controller.h"
29 #include "chrome/browser/sync/glue/autofill_model_associator.h" 29 #include "chrome/browser/sync/glue/autofill_model_associator.h"
30 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" 30 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h"
31 #include "chrome/browser/sync/glue/data_type_controller.h" 31 #include "chrome/browser/sync/glue/data_type_controller.h"
32 #include "chrome/browser/sync/glue/generic_change_processor.h" 32 #include "chrome/browser/sync/glue/generic_change_processor.h"
33 #include "chrome/browser/sync/glue/shared_change_processor.h"
33 #include "chrome/browser/sync/glue/syncable_service_adapter.h" 34 #include "chrome/browser/sync/glue/syncable_service_adapter.h"
34 #include "chrome/browser/sync/internal_api/read_node.h" 35 #include "chrome/browser/sync/internal_api/read_node.h"
35 #include "chrome/browser/sync/internal_api/read_transaction.h" 36 #include "chrome/browser/sync/internal_api/read_transaction.h"
36 #include "chrome/browser/sync/internal_api/write_node.h" 37 #include "chrome/browser/sync/internal_api/write_node.h"
37 #include "chrome/browser/sync/internal_api/write_transaction.h" 38 #include "chrome/browser/sync/internal_api/write_transaction.h"
38 #include "chrome/browser/sync/profile_sync_factory.h" 39 #include "chrome/browser/sync/profile_sync_factory.h"
39 #include "chrome/browser/sync/profile_sync_service.h" 40 #include "chrome/browser/sync/profile_sync_service.h"
40 #include "chrome/browser/sync/profile_sync_test_util.h" 41 #include "chrome/browser/sync/profile_sync_test_util.h"
41 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h" 42 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h"
42 #include "chrome/browser/sync/syncable/directory_manager.h" 43 #include "chrome/browser/sync/syncable/directory_manager.h"
(...skipping 13 matching lines...) Expand all
56 #include "testing/gmock/include/gmock/gmock.h" 57 #include "testing/gmock/include/gmock/gmock.h"
57 58
58 using base::Time; 59 using base::Time;
59 using base::WaitableEvent; 60 using base::WaitableEvent;
60 using browser_sync::AutofillChangeProcessor; 61 using browser_sync::AutofillChangeProcessor;
61 using browser_sync::AutofillDataTypeController; 62 using browser_sync::AutofillDataTypeController;
62 using browser_sync::AutofillModelAssociator; 63 using browser_sync::AutofillModelAssociator;
63 using browser_sync::AutofillProfileDataTypeController; 64 using browser_sync::AutofillProfileDataTypeController;
64 using browser_sync::DataTypeController; 65 using browser_sync::DataTypeController;
65 using browser_sync::GenericChangeProcessor; 66 using browser_sync::GenericChangeProcessor;
67 using browser_sync::SharedChangeProcessor;
66 using browser_sync::SyncableServiceAdapter; 68 using browser_sync::SyncableServiceAdapter;
67 using browser_sync::GROUP_DB; 69 using browser_sync::GROUP_DB;
68 using browser_sync::kAutofillTag; 70 using browser_sync::kAutofillTag;
69 using browser_sync::SyncBackendHostForProfileSyncTest; 71 using browser_sync::SyncBackendHostForProfileSyncTest;
70 using browser_sync::UnrecoverableErrorHandler; 72 using browser_sync::UnrecoverableErrorHandler;
71 using syncable::CREATE_NEW_UPDATE_ITEM; 73 using syncable::CREATE_NEW_UPDATE_ITEM;
72 using syncable::AUTOFILL; 74 using syncable::AUTOFILL;
73 using syncable::BASE_VERSION; 75 using syncable::BASE_VERSION;
74 using syncable::CREATE; 76 using syncable::CREATE;
75 using syncable::GET_BY_SERVER_TAG; 77 using syncable::GET_BY_SERVER_TAG;
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 return ProfileSyncFactory::SyncComponents(NULL, NULL); 221 return ProfileSyncFactory::SyncComponents(NULL, NULL);
220 AutofillModelAssociator* model_associator = 222 AutofillModelAssociator* model_associator =
221 new AutofillModelAssociator(service, wd, service->profile()); 223 new AutofillModelAssociator(service, wd, service->profile());
222 AutofillChangeProcessor* change_processor = 224 AutofillChangeProcessor* change_processor =
223 new AutofillChangeProcessor(model_associator, wd, 225 new AutofillChangeProcessor(model_associator, wd,
224 service->profile(), dtc); 226 service->profile(), dtc);
225 return ProfileSyncFactory::SyncComponents(model_associator, 227 return ProfileSyncFactory::SyncComponents(model_associator,
226 change_processor); 228 change_processor);
227 } 229 }
228 230
229 ACTION_P3(MakeAutofillProfileSyncComponents, service, wds, dtc) { 231 ACTION(MakeGenericChangeProcessor) {
232 sync_api::UserShare* user_share = arg0->GetUserShare();
233 return new GenericChangeProcessor(arg1, arg2, user_share);
234 }
235
236 ACTION(MakeSharedChangeProcessor) {
237 return new SharedChangeProcessor();
238 }
239
240 ACTION_P(MakeAutofillProfileSyncComponents, wds) {
230 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); 241 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
231 if (!BrowserThread::CurrentlyOn(BrowserThread::DB)) 242 if (!BrowserThread::CurrentlyOn(BrowserThread::DB))
232 return ProfileSyncFactory::SyncComponents(NULL, NULL); 243 return base::WeakPtr<SyncableService>();;
233 AutofillProfileSyncableService* sync_service = 244 return wds->GetAutofillProfileSyncableService()->AsWeakPtr();
234 wds->GetAutofillProfileSyncableService();
235 sync_api::UserShare* user_share = service->GetUserShare();
236 GenericChangeProcessor* change_processor =
237 new GenericChangeProcessor(sync_service, dtc, user_share);
238 SyncableServiceAdapter* sync_service_adapter =
239 new SyncableServiceAdapter(syncable::AUTOFILL_PROFILE,
240 sync_service,
241 change_processor);
242 return ProfileSyncFactory::SyncComponents(sync_service_adapter,
243 change_processor);
244 } 245 }
245 246
246 class AbstractAutofillFactory { 247 class AbstractAutofillFactory {
247 public: 248 public:
248 virtual AutofillDataTypeController* CreateDataTypeController( 249 virtual DataTypeController* CreateDataTypeController(
249 ProfileSyncFactory* factory, 250 ProfileSyncFactory* factory,
250 ProfileMock* profile, 251 ProfileMock* profile,
251 ProfileSyncService* service) = 0; 252 ProfileSyncService* service) = 0;
252 virtual void SetExpectation(ProfileSyncFactoryMock* factory, 253 virtual void SetExpectation(ProfileSyncFactoryMock* factory,
253 ProfileSyncService* service, 254 ProfileSyncService* service,
254 WebDataService* wds, 255 WebDataService* wds,
255 DataTypeController* dtc) = 0; 256 DataTypeController* dtc) = 0;
256 virtual ~AbstractAutofillFactory() {} 257 virtual ~AbstractAutofillFactory() {}
257 }; 258 };
258 259
259 class AutofillEntryFactory : public AbstractAutofillFactory { 260 class AutofillEntryFactory : public AbstractAutofillFactory {
260 public: 261 public:
261 browser_sync::AutofillDataTypeController* CreateDataTypeController( 262 browser_sync::DataTypeController* CreateDataTypeController(
262 ProfileSyncFactory* factory, 263 ProfileSyncFactory* factory,
263 ProfileMock* profile, 264 ProfileMock* profile,
264 ProfileSyncService* service) { 265 ProfileSyncService* service) {
265 return new AutofillDataTypeController(factory, profile); 266 return new AutofillDataTypeController(factory, profile);
266 } 267 }
267 268
268 void SetExpectation(ProfileSyncFactoryMock* factory, 269 void SetExpectation(ProfileSyncFactoryMock* factory,
269 ProfileSyncService* service, 270 ProfileSyncService* service,
270 WebDataService* wds, 271 WebDataService* wds,
271 DataTypeController* dtc) { 272 DataTypeController* dtc) {
272 EXPECT_CALL(*factory, CreateAutofillSyncComponents(_,_,_)). 273 EXPECT_CALL(*factory, CreateAutofillSyncComponents(_,_,_)).
273 WillOnce(MakeAutofillSyncComponents(service, wds->GetDatabase(), dtc)); 274 WillOnce(MakeAutofillSyncComponents(service, wds->GetDatabase(), dtc));
274 } 275 }
275 }; 276 };
276 277
277 class AutofillProfileFactory : public AbstractAutofillFactory { 278 class AutofillProfileFactory : public AbstractAutofillFactory {
278 public: 279 public:
279 browser_sync::AutofillDataTypeController* CreateDataTypeController( 280 browser_sync::DataTypeController* CreateDataTypeController(
280 ProfileSyncFactory* factory, 281 ProfileSyncFactory* factory,
281 ProfileMock* profile, 282 ProfileMock* profile,
282 ProfileSyncService* service) { 283 ProfileSyncService* service) {
283 return new AutofillProfileDataTypeController(factory, profile); 284 return new AutofillProfileDataTypeController(factory, profile);
284 } 285 }
285 286
286 void SetExpectation(ProfileSyncFactoryMock* factory, 287 void SetExpectation(ProfileSyncFactoryMock* factory,
287 ProfileSyncService* service, 288 ProfileSyncService* service,
288 WebDataService* wds, 289 WebDataService* wds,
289 DataTypeController* dtc) { 290 DataTypeController* dtc) {
290 EXPECT_CALL(*factory, CreateAutofillProfileSyncComponents(_,_,_)). 291 EXPECT_CALL(*factory, CreateGenericChangeProcessor(_,_,_)).
291 WillOnce(MakeAutofillProfileSyncComponents(service, wds, dtc)); 292 WillOnce(MakeGenericChangeProcessor());
293 EXPECT_CALL(*factory, CreateSharedChangeProcessor()).
294 WillOnce(MakeSharedChangeProcessor());
295 EXPECT_CALL(*factory, GetAutofillProfileSyncableService(_)).
296 WillOnce(MakeAutofillProfileSyncComponents(wds));
292 } 297 }
293 }; 298 };
294 299
295 class PersonalDataManagerMock: public PersonalDataManager { 300 class PersonalDataManagerMock: public PersonalDataManager {
296 public: 301 public:
297 static ProfileKeyedService* Build(Profile* profile) { 302 static ProfileKeyedService* Build(Profile* profile) {
298 return new PersonalDataManagerMock; 303 return new PersonalDataManagerMock;
299 } 304 }
300 305
301 MOCK_CONST_METHOD0(IsDataLoaded, bool()); 306 MOCK_CONST_METHOD0(IsDataLoaded, bool());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 365
361 void StartSyncService(Task* task, 366 void StartSyncService(Task* task,
362 bool will_fail_association, 367 bool will_fail_association,
363 syncable::ModelType type) { 368 syncable::ModelType type) {
364 AbstractAutofillFactory* factory = GetFactory(type); 369 AbstractAutofillFactory* factory = GetFactory(type);
365 service_.reset( 370 service_.reset(
366 new TestProfileSyncService(&factory_, &profile_, "test_user", false, 371 new TestProfileSyncService(&factory_, &profile_, "test_user", false,
367 task)); 372 task));
368 EXPECT_CALL(profile_, GetProfileSyncService()).WillRepeatedly( 373 EXPECT_CALL(profile_, GetProfileSyncService()).WillRepeatedly(
369 Return(service_.get())); 374 Return(service_.get()));
370 AutofillDataTypeController* data_type_controller = 375 DataTypeController* data_type_controller =
371 factory->CreateDataTypeController(&factory_, 376 factory->CreateDataTypeController(&factory_,
372 &profile_, 377 &profile_,
373 service_.get()); 378 service_.get());
374 SyncBackendHostForProfileSyncTest:: 379 SyncBackendHostForProfileSyncTest::
375 SetDefaultExpectationsForWorkerCreation(&profile_); 380 SetDefaultExpectationsForWorkerCreation(&profile_);
376 381
377 factory->SetExpectation(&factory_, 382 factory->SetExpectation(&factory_,
378 service_.get(), 383 service_.get(),
379 web_data_service_.get(), 384 web_data_service_.get(),
380 data_type_controller); 385 data_type_controller);
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 std::vector<AutofillEntry> sync_entries; 1148 std::vector<AutofillEntry> sync_entries;
1144 std::vector<AutofillProfile> sync_profiles; 1149 std::vector<AutofillProfile> sync_profiles;
1145 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); 1150 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles));
1146 EXPECT_EQ(3U, sync_entries.size()); 1151 EXPECT_EQ(3U, sync_entries.size());
1147 EXPECT_EQ(0U, sync_profiles.size()); 1152 EXPECT_EQ(0U, sync_profiles.size());
1148 for (size_t i = 0; i < sync_entries.size(); i++) { 1153 for (size_t i = 0; i < sync_entries.size(); i++) {
1149 VLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() 1154 VLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name()
1150 << ", " << sync_entries[i].key().value(); 1155 << ", " << sync_entries[i].key().value();
1151 } 1156 }
1152 } 1157 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/profile_sync_service_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698