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

Side by Side Diff: chrome/browser/extensions/api/storage/settings_sync_unittest.cc

Issue 2257113002: Re-write many calls to WrapUnique() with MakeUnique() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 return matching_changes[0]; 164 return matching_changes[0];
165 } 165 }
166 166
167 private: 167 private:
168 SettingSyncDataList changes_; 168 SettingSyncDataList changes_;
169 bool fail_all_requests_; 169 bool fail_all_requests_;
170 }; 170 };
171 171
172 std::unique_ptr<KeyedService> MockExtensionSystemFactoryFunction( 172 std::unique_ptr<KeyedService> MockExtensionSystemFactoryFunction(
173 content::BrowserContext* context) { 173 content::BrowserContext* context) {
174 return base::WrapUnique(new MockExtensionSystem(context)); 174 return base::MakeUnique<MockExtensionSystem>(context);
175 } 175 }
176 176
177 std::unique_ptr<KeyedService> BuildEventRouter( 177 std::unique_ptr<KeyedService> BuildEventRouter(
178 content::BrowserContext* profile) { 178 content::BrowserContext* profile) {
179 return base::WrapUnique(new extensions::EventRouter(profile, nullptr)); 179 return base::MakeUnique<extensions::EventRouter>(profile, nullptr);
180 } 180 }
181 181
182 } // namespace 182 } // namespace
183 183
184 class ExtensionSettingsSyncTest : public testing::Test { 184 class ExtensionSettingsSyncTest : public testing::Test {
185 public: 185 public:
186 ExtensionSettingsSyncTest() 186 ExtensionSettingsSyncTest()
187 : ui_thread_(BrowserThread::UI, base::MessageLoop::current()), 187 : ui_thread_(BrowserThread::UI, base::MessageLoop::current()),
188 file_thread_(BrowserThread::FILE, base::MessageLoop::current()), 188 file_thread_(BrowserThread::FILE, base::MessageLoop::current()),
189 storage_factory_(new TestValueStoreFactory()), 189 storage_factory_(new TestValueStoreFactory()),
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); 281 EXPECT_EQ(0u, GetAllSyncData(model_type).size());
282 282
283 // Have one extension created before sync is set up, the other created after. 283 // Have one extension created before sync is set up, the other created after.
284 AddExtensionAndGetStorage("s1", type); 284 AddExtensionAndGetStorage("s1", type);
285 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); 285 EXPECT_EQ(0u, GetAllSyncData(model_type).size());
286 286
287 GetSyncableService(model_type) 287 GetSyncableService(model_type)
288 ->MergeDataAndStartSyncing( 288 ->MergeDataAndStartSyncing(
289 model_type, syncer::SyncDataList(), 289 model_type, syncer::SyncDataList(),
290 std::move(sync_processor_wrapper_), 290 std::move(sync_processor_wrapper_),
291 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 291 base::MakeUnique<syncer::SyncErrorFactoryMock>());
292 292
293 AddExtensionAndGetStorage("s2", type); 293 AddExtensionAndGetStorage("s2", type);
294 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); 294 EXPECT_EQ(0u, GetAllSyncData(model_type).size());
295 295
296 GetSyncableService(model_type)->StopSyncing(model_type); 296 GetSyncableService(model_type)->StopSyncing(model_type);
297 297
298 EXPECT_EQ(0u, sync_processor_->changes().size()); 298 EXPECT_EQ(0u, sync_processor_->changes().size());
299 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); 299 EXPECT_EQ(0u, GetAllSyncData(model_type).size());
300 } 300 }
301 301
(...skipping 20 matching lines...) Expand all
322 322
323 syncer::SyncDataList sync_data; 323 syncer::SyncDataList sync_data;
324 sync_data.push_back(settings_sync_util::CreateData( 324 sync_data.push_back(settings_sync_util::CreateData(
325 "s1", "foo", value1, model_type)); 325 "s1", "foo", value1, model_type));
326 sync_data.push_back(settings_sync_util::CreateData( 326 sync_data.push_back(settings_sync_util::CreateData(
327 "s2", "bar", value2, model_type)); 327 "s2", "bar", value2, model_type));
328 328
329 GetSyncableService(model_type) 329 GetSyncableService(model_type)
330 ->MergeDataAndStartSyncing( 330 ->MergeDataAndStartSyncing(
331 model_type, sync_data, std::move(sync_processor_wrapper_), 331 model_type, sync_data, std::move(sync_processor_wrapper_),
332 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 332 base::MakeUnique<syncer::SyncErrorFactoryMock>());
333 333
334 // Already in sync, so no changes. 334 // Already in sync, so no changes.
335 EXPECT_EQ(0u, sync_processor_->changes().size()); 335 EXPECT_EQ(0u, sync_processor_->changes().size());
336 336
337 // Regression test: not-changing the synced value shouldn't result in a sync 337 // Regression test: not-changing the synced value shouldn't result in a sync
338 // change, and changing the synced value should result in an update. 338 // change, and changing the synced value should result in an update.
339 storage1->Set(DEFAULTS, "foo", value1); 339 storage1->Set(DEFAULTS, "foo", value1);
340 EXPECT_EQ(0u, sync_processor_->changes().size()); 340 EXPECT_EQ(0u, sync_processor_->changes().size());
341 341
342 storage1->Set(DEFAULTS, "foo", value2); 342 storage1->Set(DEFAULTS, "foo", value2);
(...skipping 16 matching lines...) Expand all
359 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 359 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
360 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 360 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
361 361
362 storage1->Set(DEFAULTS, "foo", value1); 362 storage1->Set(DEFAULTS, "foo", value1);
363 storage2->Set(DEFAULTS, "bar", value2); 363 storage2->Set(DEFAULTS, "bar", value2);
364 364
365 GetSyncableService(model_type) 365 GetSyncableService(model_type)
366 ->MergeDataAndStartSyncing( 366 ->MergeDataAndStartSyncing(
367 model_type, syncer::SyncDataList(), 367 model_type, syncer::SyncDataList(),
368 std::move(sync_processor_wrapper_), 368 std::move(sync_processor_wrapper_),
369 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 369 base::MakeUnique<syncer::SyncErrorFactoryMock>());
370 370
371 // All settings should have been pushed to sync. 371 // All settings should have been pushed to sync.
372 EXPECT_EQ(2u, sync_processor_->changes().size()); 372 EXPECT_EQ(2u, sync_processor_->changes().size());
373 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "foo"); 373 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "foo");
374 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); 374 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type());
375 EXPECT_TRUE(value1.Equals(&change->value())); 375 EXPECT_TRUE(value1.Equals(&change->value()));
376 change = sync_processor_->GetOnlyChange("s2", "bar"); 376 change = sync_processor_->GetOnlyChange("s2", "bar");
377 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); 377 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type());
378 EXPECT_TRUE(value2.Equals(&change->value())); 378 EXPECT_TRUE(value2.Equals(&change->value()));
379 379
(...skipping 17 matching lines...) Expand all
397 storage1->Set(DEFAULTS, "overwriteMe", value1); 397 storage1->Set(DEFAULTS, "overwriteMe", value1);
398 398
399 syncer::SyncDataList sync_data; 399 syncer::SyncDataList sync_data;
400 sync_data.push_back(settings_sync_util::CreateData( 400 sync_data.push_back(settings_sync_util::CreateData(
401 "s1", "foo", value1, model_type)); 401 "s1", "foo", value1, model_type));
402 sync_data.push_back(settings_sync_util::CreateData( 402 sync_data.push_back(settings_sync_util::CreateData(
403 "s2", "bar", value2, model_type)); 403 "s2", "bar", value2, model_type));
404 GetSyncableService(model_type) 404 GetSyncableService(model_type)
405 ->MergeDataAndStartSyncing( 405 ->MergeDataAndStartSyncing(
406 model_type, sync_data, std::move(sync_processor_wrapper_), 406 model_type, sync_data, std::move(sync_processor_wrapper_),
407 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 407 base::MakeUnique<syncer::SyncErrorFactoryMock>());
408 expected1.Set("foo", value1.DeepCopy()); 408 expected1.Set("foo", value1.DeepCopy());
409 expected2.Set("bar", value2.DeepCopy()); 409 expected2.Set("bar", value2.DeepCopy());
410 410
411 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 411 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
412 412
413 // All changes should be local, so no sync changes. 413 // All changes should be local, so no sync changes.
414 EXPECT_EQ(0u, sync_processor_->changes().size()); 414 EXPECT_EQ(0u, sync_processor_->changes().size());
415 415
416 // Sync settings should have been pushed to local settings. 416 // Sync settings should have been pushed to local settings.
417 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get()); 417 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get());
(...skipping 21 matching lines...) Expand all
439 storage1->Set(DEFAULTS, "foo", value1); 439 storage1->Set(DEFAULTS, "foo", value1);
440 expected1.Set("foo", value1.DeepCopy()); 440 expected1.Set("foo", value1.DeepCopy());
441 441
442 syncer::SyncDataList sync_data; 442 syncer::SyncDataList sync_data;
443 sync_data.push_back(settings_sync_util::CreateData( 443 sync_data.push_back(settings_sync_util::CreateData(
444 "s2", "bar", value2, model_type)); 444 "s2", "bar", value2, model_type));
445 445
446 GetSyncableService(model_type) 446 GetSyncableService(model_type)
447 ->MergeDataAndStartSyncing( 447 ->MergeDataAndStartSyncing(
448 model_type, sync_data, std::move(sync_processor_wrapper_), 448 model_type, sync_data, std::move(sync_processor_wrapper_),
449 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 449 base::MakeUnique<syncer::SyncErrorFactoryMock>());
450 expected2.Set("bar", value2.DeepCopy()); 450 expected2.Set("bar", value2.DeepCopy());
451 451
452 // Make sync add some settings. 452 // Make sync add some settings.
453 syncer::SyncChangeList change_list; 453 syncer::SyncChangeList change_list;
454 change_list.push_back(settings_sync_util::CreateAdd( 454 change_list.push_back(settings_sync_util::CreateAdd(
455 "s1", "bar", value2, model_type)); 455 "s1", "bar", value2, model_type));
456 change_list.push_back(settings_sync_util::CreateAdd( 456 change_list.push_back(settings_sync_util::CreateAdd(
457 "s2", "foo", value1, model_type)); 457 "s2", "foo", value1, model_type));
458 GetSyncableService(model_type)->ProcessSyncChanges(FROM_HERE, change_list); 458 GetSyncableService(model_type)->ProcessSyncChanges(FROM_HERE, change_list);
459 expected1.Set("bar", value2.DeepCopy()); 459 expected1.Set("bar", value2.DeepCopy());
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 513
514 syncer::SyncDataList sync_data; 514 syncer::SyncDataList sync_data;
515 sync_data.push_back(settings_sync_util::CreateData( 515 sync_data.push_back(settings_sync_util::CreateData(
516 "s3", "bar", value2, model_type)); 516 "s3", "bar", value2, model_type));
517 sync_data.push_back(settings_sync_util::CreateData( 517 sync_data.push_back(settings_sync_util::CreateData(
518 "s4", "bar", value2, model_type)); 518 "s4", "bar", value2, model_type));
519 519
520 GetSyncableService(model_type) 520 GetSyncableService(model_type)
521 ->MergeDataAndStartSyncing( 521 ->MergeDataAndStartSyncing(
522 model_type, sync_data, std::move(sync_processor_wrapper_), 522 model_type, sync_data, std::move(sync_processor_wrapper_),
523 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 523 base::MakeUnique<syncer::SyncErrorFactoryMock>());
524 524
525 // Add something locally. 525 // Add something locally.
526 storage1->Set(DEFAULTS, "bar", value2); 526 storage1->Set(DEFAULTS, "bar", value2);
527 storage2->Set(DEFAULTS, "bar", value2); 527 storage2->Set(DEFAULTS, "bar", value2);
528 storage3->Set(DEFAULTS, "foo", value1); 528 storage3->Set(DEFAULTS, "foo", value1);
529 storage4->Set(DEFAULTS, "foo", value1); 529 storage4->Set(DEFAULTS, "foo", value1);
530 530
531 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "bar"); 531 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "bar");
532 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); 532 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type());
533 EXPECT_TRUE(value2.Equals(&change->value())); 533 EXPECT_TRUE(value2.Equals(&change->value()));
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 651
652 // Stop each separately, there should be no changes either time. 652 // Stop each separately, there should be no changes either time.
653 syncer::SyncDataList sync_data; 653 syncer::SyncDataList sync_data;
654 sync_data.push_back(settings_sync_util::CreateData( 654 sync_data.push_back(settings_sync_util::CreateData(
655 "s1", "foo", value1, syncer::EXTENSION_SETTINGS)); 655 "s1", "foo", value1, syncer::EXTENSION_SETTINGS));
656 656
657 GetSyncableService(syncer::EXTENSION_SETTINGS) 657 GetSyncableService(syncer::EXTENSION_SETTINGS)
658 ->MergeDataAndStartSyncing( 658 ->MergeDataAndStartSyncing(
659 syncer::EXTENSION_SETTINGS, sync_data, 659 syncer::EXTENSION_SETTINGS, sync_data,
660 std::move(sync_processor_wrapper_), 660 std::move(sync_processor_wrapper_),
661 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 661 base::MakeUnique<syncer::SyncErrorFactoryMock>());
662 GetSyncableService(syncer::EXTENSION_SETTINGS)-> 662 GetSyncableService(syncer::EXTENSION_SETTINGS)->
663 StopSyncing(syncer::EXTENSION_SETTINGS); 663 StopSyncing(syncer::EXTENSION_SETTINGS);
664 EXPECT_EQ(0u, sync_processor_->changes().size()); 664 EXPECT_EQ(0u, sync_processor_->changes().size());
665 665
666 sync_data.clear(); 666 sync_data.clear();
667 sync_data.push_back(settings_sync_util::CreateData( 667 sync_data.push_back(settings_sync_util::CreateData(
668 "s2", "bar", value2, syncer::APP_SETTINGS)); 668 "s2", "bar", value2, syncer::APP_SETTINGS));
669 669
670 std::unique_ptr<syncer::SyncChangeProcessorWrapperForTest> 670 std::unique_ptr<syncer::SyncChangeProcessorWrapperForTest>
671 app_settings_delegate_( 671 app_settings_delegate_(
672 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); 672 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
673 GetSyncableService(syncer::APP_SETTINGS) 673 GetSyncableService(syncer::APP_SETTINGS)
674 ->MergeDataAndStartSyncing( 674 ->MergeDataAndStartSyncing(
675 syncer::APP_SETTINGS, sync_data, std::move(app_settings_delegate_), 675 syncer::APP_SETTINGS, sync_data, std::move(app_settings_delegate_),
676 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 676 base::MakeUnique<syncer::SyncErrorFactoryMock>());
677 GetSyncableService(syncer::APP_SETTINGS)-> 677 GetSyncableService(syncer::APP_SETTINGS)->
678 StopSyncing(syncer::APP_SETTINGS); 678 StopSyncing(syncer::APP_SETTINGS);
679 EXPECT_EQ(0u, sync_processor_->changes().size()); 679 EXPECT_EQ(0u, sync_processor_->changes().size());
680 } 680 }
681 681
682 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) { 682 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) {
683 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 683 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
684 Manifest::Type type = Manifest::TYPE_EXTENSION; 684 Manifest::Type type = Manifest::TYPE_EXTENSION;
685 685
686 base::StringValue fooValue("fooValue"); 686 base::StringValue fooValue("fooValue");
(...skipping 10 matching lines...) Expand all
697 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); 697 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
698 { 698 {
699 syncer::SyncDataList sync_data; 699 syncer::SyncDataList sync_data;
700 sync_data.push_back(settings_sync_util::CreateData( 700 sync_data.push_back(settings_sync_util::CreateData(
701 "good", "foo", fooValue, model_type)); 701 "good", "foo", fooValue, model_type));
702 sync_data.push_back(settings_sync_util::CreateData( 702 sync_data.push_back(settings_sync_util::CreateData(
703 "bad", "foo", fooValue, model_type)); 703 "bad", "foo", fooValue, model_type));
704 GetSyncableService(model_type) 704 GetSyncableService(model_type)
705 ->MergeDataAndStartSyncing( 705 ->MergeDataAndStartSyncing(
706 model_type, sync_data, std::move(sync_processor_wrapper_), 706 model_type, sync_data, std::move(sync_processor_wrapper_),
707 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 707 base::MakeUnique<syncer::SyncErrorFactoryMock>());
708 } 708 }
709 GetExisting("bad")->set_status_code(ValueStore::OK); 709 GetExisting("bad")->set_status_code(ValueStore::OK);
710 710
711 { 711 {
712 base::DictionaryValue dict; 712 base::DictionaryValue dict;
713 dict.Set("foo", fooValue.DeepCopy()); 713 dict.Set("foo", fooValue.DeepCopy());
714 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); 714 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get());
715 } 715 }
716 { 716 {
717 base::DictionaryValue dict; 717 base::DictionaryValue dict;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 813
814 // Restarting sync should make bad start syncing again. 814 // Restarting sync should make bad start syncing again.
815 sync_processor_->ClearChanges(); 815 sync_processor_->ClearChanges();
816 GetSyncableService(model_type)->StopSyncing(model_type); 816 GetSyncableService(model_type)->StopSyncing(model_type);
817 sync_processor_wrapper_.reset( 817 sync_processor_wrapper_.reset(
818 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); 818 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
819 GetSyncableService(model_type) 819 GetSyncableService(model_type)
820 ->MergeDataAndStartSyncing( 820 ->MergeDataAndStartSyncing(
821 model_type, syncer::SyncDataList(), 821 model_type, syncer::SyncDataList(),
822 std::move(sync_processor_wrapper_), 822 std::move(sync_processor_wrapper_),
823 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 823 base::MakeUnique<syncer::SyncErrorFactoryMock>());
824 824
825 // Local settings will have been pushed to sync, since it's empty (in this 825 // Local settings will have been pushed to sync, since it's empty (in this
826 // test; presumably it wouldn't be live, since we've been getting changes). 826 // test; presumably it wouldn't be live, since we've been getting changes).
827 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 827 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
828 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 828 sync_processor_->GetOnlyChange("good", "foo")->change_type());
829 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 829 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
830 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 830 sync_processor_->GetOnlyChange("good", "bar")->change_type());
831 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 831 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
832 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); 832 sync_processor_->GetOnlyChange("bad", "bar")->change_type());
833 EXPECT_EQ(3u, sync_processor_->changes().size()); 833 EXPECT_EQ(3u, sync_processor_->changes().size());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 // Unlike before, initially succeeding MergeDataAndStartSyncing. 881 // Unlike before, initially succeeding MergeDataAndStartSyncing.
882 { 882 {
883 syncer::SyncDataList sync_data; 883 syncer::SyncDataList sync_data;
884 sync_data.push_back(settings_sync_util::CreateData( 884 sync_data.push_back(settings_sync_util::CreateData(
885 "good", "foo", fooValue, model_type)); 885 "good", "foo", fooValue, model_type));
886 sync_data.push_back(settings_sync_util::CreateData( 886 sync_data.push_back(settings_sync_util::CreateData(
887 "bad", "foo", fooValue, model_type)); 887 "bad", "foo", fooValue, model_type));
888 GetSyncableService(model_type) 888 GetSyncableService(model_type)
889 ->MergeDataAndStartSyncing( 889 ->MergeDataAndStartSyncing(
890 model_type, sync_data, std::move(sync_processor_wrapper_), 890 model_type, sync_data, std::move(sync_processor_wrapper_),
891 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 891 base::MakeUnique<syncer::SyncErrorFactoryMock>());
892 } 892 }
893 893
894 EXPECT_EQ(0u, sync_processor_->changes().size()); 894 EXPECT_EQ(0u, sync_processor_->changes().size());
895 895
896 { 896 {
897 base::DictionaryValue dict; 897 base::DictionaryValue dict;
898 dict.Set("foo", fooValue.DeepCopy()); 898 dict.Set("foo", fooValue.DeepCopy());
899 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); 899 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get());
900 } 900 }
901 { 901 {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 EXPECT_EQ(1u, all_sync_data.size()); 982 EXPECT_EQ(1u, all_sync_data.size());
983 EXPECT_EQ("good/foo", syncer::SyncDataLocal(all_sync_data[0]).GetTag()); 983 EXPECT_EQ("good/foo", syncer::SyncDataLocal(all_sync_data[0]).GetTag());
984 } 984 }
985 GetExisting("bad")->set_status_code(ValueStore::OK); 985 GetExisting("bad")->set_status_code(ValueStore::OK);
986 986
987 // Sync shouldn't be disabled for good (nor bad -- but this is unimportant). 987 // Sync shouldn't be disabled for good (nor bad -- but this is unimportant).
988 GetSyncableService(model_type) 988 GetSyncableService(model_type)
989 ->MergeDataAndStartSyncing( 989 ->MergeDataAndStartSyncing(
990 model_type, syncer::SyncDataList(), 990 model_type, syncer::SyncDataList(),
991 std::move(sync_processor_wrapper_), 991 std::move(sync_processor_wrapper_),
992 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 992 base::MakeUnique<syncer::SyncErrorFactoryMock>());
993 993
994 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 994 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
995 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 995 sync_processor_->GetOnlyChange("good", "foo")->change_type());
996 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 996 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
997 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); 997 sync_processor_->GetOnlyChange("bad", "foo")->change_type());
998 EXPECT_EQ(2u, sync_processor_->changes().size()); 998 EXPECT_EQ(2u, sync_processor_->changes().size());
999 999
1000 sync_processor_->ClearChanges(); 1000 sync_processor_->ClearChanges();
1001 good->Set(DEFAULTS, "bar", barValue); 1001 good->Set(DEFAULTS, "bar", barValue);
1002 bad->Set(DEFAULTS, "bar", barValue); 1002 bad->Set(DEFAULTS, "bar", barValue);
(...skipping 18 matching lines...) Expand all
1021 good->Set(DEFAULTS, "foo", fooValue); 1021 good->Set(DEFAULTS, "foo", fooValue);
1022 bad->Set(DEFAULTS, "foo", fooValue); 1022 bad->Set(DEFAULTS, "foo", fooValue);
1023 1023
1024 // good will successfully push foo:fooValue to sync, but bad will fail to 1024 // good will successfully push foo:fooValue to sync, but bad will fail to
1025 // get them so won't. 1025 // get them so won't.
1026 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); 1026 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
1027 GetSyncableService(model_type) 1027 GetSyncableService(model_type)
1028 ->MergeDataAndStartSyncing( 1028 ->MergeDataAndStartSyncing(
1029 model_type, syncer::SyncDataList(), 1029 model_type, syncer::SyncDataList(),
1030 std::move(sync_processor_wrapper_), 1030 std::move(sync_processor_wrapper_),
1031 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1031 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1032 GetExisting("bad")->set_status_code(ValueStore::OK); 1032 GetExisting("bad")->set_status_code(ValueStore::OK);
1033 1033
1034 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1034 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1035 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1035 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1036 EXPECT_EQ(1u, sync_processor_->changes().size()); 1036 EXPECT_EQ(1u, sync_processor_->changes().size());
1037 1037
1038 // bad should now be disabled for sync. 1038 // bad should now be disabled for sync.
1039 sync_processor_->ClearChanges(); 1039 sync_processor_->ClearChanges();
1040 good->Set(DEFAULTS, "bar", barValue); 1040 good->Set(DEFAULTS, "bar", barValue);
1041 bad->Set(DEFAULTS, "bar", barValue); 1041 bad->Set(DEFAULTS, "bar", barValue);
(...skipping 29 matching lines...) Expand all
1071 // Re-enabling sync without failing should cause the local changes from bad 1071 // Re-enabling sync without failing should cause the local changes from bad
1072 // to be pushed to sync successfully, as should future changes to bad. 1072 // to be pushed to sync successfully, as should future changes to bad.
1073 sync_processor_->ClearChanges(); 1073 sync_processor_->ClearChanges();
1074 GetSyncableService(model_type)->StopSyncing(model_type); 1074 GetSyncableService(model_type)->StopSyncing(model_type);
1075 sync_processor_wrapper_.reset( 1075 sync_processor_wrapper_.reset(
1076 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); 1076 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
1077 GetSyncableService(model_type) 1077 GetSyncableService(model_type)
1078 ->MergeDataAndStartSyncing( 1078 ->MergeDataAndStartSyncing(
1079 model_type, syncer::SyncDataList(), 1079 model_type, syncer::SyncDataList(),
1080 std::move(sync_processor_wrapper_), 1080 std::move(sync_processor_wrapper_),
1081 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1081 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1082 1082
1083 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1083 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1084 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1084 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1085 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1085 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1086 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1086 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1087 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1087 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1088 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); 1088 sync_processor_->GetOnlyChange("bad", "foo")->change_type());
1089 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1089 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1090 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); 1090 sync_processor_->GetOnlyChange("bad", "bar")->change_type());
1091 EXPECT_EQ(4u, sync_processor_->changes().size()); 1091 EXPECT_EQ(4u, sync_processor_->changes().size());
(...skipping 20 matching lines...) Expand all
1112 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 1112 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
1113 1113
1114 // Only set bad; setting good will cause it to fail below. 1114 // Only set bad; setting good will cause it to fail below.
1115 bad->Set(DEFAULTS, "foo", fooValue); 1115 bad->Set(DEFAULTS, "foo", fooValue);
1116 1116
1117 sync_processor_->set_fail_all_requests(true); 1117 sync_processor_->set_fail_all_requests(true);
1118 GetSyncableService(model_type) 1118 GetSyncableService(model_type)
1119 ->MergeDataAndStartSyncing( 1119 ->MergeDataAndStartSyncing(
1120 model_type, syncer::SyncDataList(), 1120 model_type, syncer::SyncDataList(),
1121 std::move(sync_processor_wrapper_), 1121 std::move(sync_processor_wrapper_),
1122 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1122 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1123 sync_processor_->set_fail_all_requests(false); 1123 sync_processor_->set_fail_all_requests(false);
1124 1124
1125 // Changes from good will be send to sync, changes from bad won't. 1125 // Changes from good will be send to sync, changes from bad won't.
1126 sync_processor_->ClearChanges(); 1126 sync_processor_->ClearChanges();
1127 good->Set(DEFAULTS, "foo", barValue); 1127 good->Set(DEFAULTS, "foo", barValue);
1128 bad->Set(DEFAULTS, "foo", barValue); 1128 bad->Set(DEFAULTS, "foo", barValue);
1129 1129
1130 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1130 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1131 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1131 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1132 EXPECT_EQ(1u, sync_processor_->changes().size()); 1132 EXPECT_EQ(1u, sync_processor_->changes().size());
(...skipping 22 matching lines...) Expand all
1155 1155
1156 // Restarting sync makes everything work again. 1156 // Restarting sync makes everything work again.
1157 sync_processor_->ClearChanges(); 1157 sync_processor_->ClearChanges();
1158 GetSyncableService(model_type)->StopSyncing(model_type); 1158 GetSyncableService(model_type)->StopSyncing(model_type);
1159 sync_processor_wrapper_.reset( 1159 sync_processor_wrapper_.reset(
1160 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); 1160 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
1161 GetSyncableService(model_type) 1161 GetSyncableService(model_type)
1162 ->MergeDataAndStartSyncing( 1162 ->MergeDataAndStartSyncing(
1163 model_type, syncer::SyncDataList(), 1163 model_type, syncer::SyncDataList(),
1164 std::move(sync_processor_wrapper_), 1164 std::move(sync_processor_wrapper_),
1165 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1165 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1166 1166
1167 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1167 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1168 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1168 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1169 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1169 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1170 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1170 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1171 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1171 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1172 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); 1172 sync_processor_->GetOnlyChange("bad", "foo")->change_type());
1173 EXPECT_EQ(3u, sync_processor_->changes().size()); 1173 EXPECT_EQ(3u, sync_processor_->changes().size());
1174 1174
1175 sync_processor_->ClearChanges(); 1175 sync_processor_->ClearChanges();
(...skipping 14 matching lines...) Expand all
1190 base::StringValue fooValue("fooValue"); 1190 base::StringValue fooValue("fooValue");
1191 base::StringValue barValue("barValue"); 1191 base::StringValue barValue("barValue");
1192 1192
1193 ValueStore* good = AddExtensionAndGetStorage("good", type); 1193 ValueStore* good = AddExtensionAndGetStorage("good", type);
1194 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 1194 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
1195 1195
1196 GetSyncableService(model_type) 1196 GetSyncableService(model_type)
1197 ->MergeDataAndStartSyncing( 1197 ->MergeDataAndStartSyncing(
1198 model_type, syncer::SyncDataList(), 1198 model_type, syncer::SyncDataList(),
1199 std::move(sync_processor_wrapper_), 1199 std::move(sync_processor_wrapper_),
1200 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1200 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1201 1201
1202 // bad will fail to send changes. 1202 // bad will fail to send changes.
1203 good->Set(DEFAULTS, "foo", fooValue); 1203 good->Set(DEFAULTS, "foo", fooValue);
1204 sync_processor_->set_fail_all_requests(true); 1204 sync_processor_->set_fail_all_requests(true);
1205 bad->Set(DEFAULTS, "foo", fooValue); 1205 bad->Set(DEFAULTS, "foo", fooValue);
1206 sync_processor_->set_fail_all_requests(false); 1206 sync_processor_->set_fail_all_requests(false);
1207 1207
1208 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1208 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1209 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1209 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1210 EXPECT_EQ(1u, sync_processor_->changes().size()); 1210 EXPECT_EQ(1u, sync_processor_->changes().size());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 1242
1243 // Restarting sync makes everything work again. 1243 // Restarting sync makes everything work again.
1244 sync_processor_->ClearChanges(); 1244 sync_processor_->ClearChanges();
1245 GetSyncableService(model_type)->StopSyncing(model_type); 1245 GetSyncableService(model_type)->StopSyncing(model_type);
1246 sync_processor_wrapper_.reset( 1246 sync_processor_wrapper_.reset(
1247 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); 1247 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
1248 GetSyncableService(model_type) 1248 GetSyncableService(model_type)
1249 ->MergeDataAndStartSyncing( 1249 ->MergeDataAndStartSyncing(
1250 model_type, syncer::SyncDataList(), 1250 model_type, syncer::SyncDataList(),
1251 std::move(sync_processor_wrapper_), 1251 std::move(sync_processor_wrapper_),
1252 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1252 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1253 1253
1254 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1254 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1255 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1255 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1256 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1256 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1257 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1257 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1258 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1258 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1259 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); 1259 sync_processor_->GetOnlyChange("bad", "foo")->change_type());
1260 EXPECT_EQ(3u, sync_processor_->changes().size()); 1260 EXPECT_EQ(3u, sync_processor_->changes().size());
1261 1261
1262 sync_processor_->ClearChanges(); 1262 sync_processor_->ClearChanges();
(...skipping 16 matching lines...) Expand all
1279 std::string string_10k; 1279 std::string string_10k;
1280 for (size_t i = 0; i < 10000; ++i) { 1280 for (size_t i = 0; i < 10000; ++i) {
1281 string_10k.append("a"); 1281 string_10k.append("a");
1282 } 1282 }
1283 base::StringValue large_value(string_10k); 1283 base::StringValue large_value(string_10k);
1284 1284
1285 GetSyncableService(model_type) 1285 GetSyncableService(model_type)
1286 ->MergeDataAndStartSyncing( 1286 ->MergeDataAndStartSyncing(
1287 model_type, syncer::SyncDataList(), 1287 model_type, syncer::SyncDataList(),
1288 std::move(sync_processor_wrapper_), 1288 std::move(sync_processor_wrapper_),
1289 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1289 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1290 1290
1291 // Large local change rejected and doesn't get sent out. 1291 // Large local change rejected and doesn't get sent out.
1292 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 1292 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
1293 EXPECT_FALSE( 1293 EXPECT_FALSE(
1294 storage1->Set(DEFAULTS, "large_value", large_value)->status().ok()); 1294 storage1->Set(DEFAULTS, "large_value", large_value)->status().ok());
1295 EXPECT_EQ(0u, sync_processor_->changes().size()); 1295 EXPECT_EQ(0u, sync_processor_->changes().size());
1296 1296
1297 // Large incoming change should still get accepted. 1297 // Large incoming change should still get accepted.
1298 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 1298 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
1299 { 1299 {
(...skipping 22 matching lines...) Expand all
1322 1322
1323 { 1323 {
1324 syncer::SyncDataList sync_data_list; 1324 syncer::SyncDataList sync_data_list;
1325 std::unique_ptr<base::Value> string_value(new base::StringValue("value")); 1325 std::unique_ptr<base::Value> string_value(new base::StringValue("value"));
1326 sync_data_list.push_back(settings_sync_util::CreateData( 1326 sync_data_list.push_back(settings_sync_util::CreateData(
1327 "ext", "key.with.dot", *string_value, model_type)); 1327 "ext", "key.with.dot", *string_value, model_type));
1328 1328
1329 GetSyncableService(model_type) 1329 GetSyncableService(model_type)
1330 ->MergeDataAndStartSyncing( 1330 ->MergeDataAndStartSyncing(
1331 model_type, sync_data_list, std::move(sync_processor_wrapper_), 1331 model_type, sync_data_list, std::move(sync_processor_wrapper_),
1332 base::WrapUnique(new syncer::SyncErrorFactoryMock())); 1332 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1333 } 1333 }
1334 1334
1335 // Test dots in keys that come from sync. 1335 // Test dots in keys that come from sync.
1336 { 1336 {
1337 ValueStore::ReadResult data = storage->Get(); 1337 ValueStore::ReadResult data = storage->Get();
1338 ASSERT_TRUE(data->status().ok()); 1338 ASSERT_TRUE(data->status().ok());
1339 1339
1340 base::DictionaryValue expected_data; 1340 base::DictionaryValue expected_data;
1341 expected_data.SetWithoutPathExpansion( 1341 expected_data.SetWithoutPathExpansion(
1342 "key.with.dot", 1342 "key.with.dot",
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 settings_namespace::SYNC, 1411 settings_namespace::SYNC,
1412 base::Bind(&UnlimitedSyncStorageTestCallback)); 1412 base::Bind(&UnlimitedSyncStorageTestCallback));
1413 frontend_->RunWithStorage(extension, 1413 frontend_->RunWithStorage(extension,
1414 settings_namespace::LOCAL, 1414 settings_namespace::LOCAL,
1415 base::Bind(&UnlimitedLocalStorageTestCallback)); 1415 base::Bind(&UnlimitedLocalStorageTestCallback));
1416 1416
1417 base::RunLoop().RunUntilIdle(); 1417 base::RunLoop().RunUntilIdle();
1418 } 1418 }
1419 1419
1420 } // namespace extensions 1420 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698