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

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

Issue 2664753002: Remove base::StringValue (Closed)
Patch Set: Rebase Created 3 years, 9 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 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 GetSyncableService(model_type)->StopSyncing(model_type); 293 GetSyncableService(model_type)->StopSyncing(model_type);
294 294
295 EXPECT_EQ(0u, sync_processor_->changes().size()); 295 EXPECT_EQ(0u, sync_processor_->changes().size());
296 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); 296 EXPECT_EQ(0u, GetAllSyncData(model_type).size());
297 } 297 }
298 298
299 TEST_F(ExtensionSettingsSyncTest, InSyncDataDoesNotInvokeSync) { 299 TEST_F(ExtensionSettingsSyncTest, InSyncDataDoesNotInvokeSync) {
300 syncer::ModelType model_type = syncer::APP_SETTINGS; 300 syncer::ModelType model_type = syncer::APP_SETTINGS;
301 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 301 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
302 302
303 base::StringValue value1("fooValue"); 303 base::Value value1("fooValue");
304 base::ListValue value2; 304 base::ListValue value2;
305 value2.AppendString("barValue"); 305 value2.AppendString("barValue");
306 306
307 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 307 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
308 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 308 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
309 309
310 storage1->Set(DEFAULTS, "foo", value1); 310 storage1->Set(DEFAULTS, "foo", value1);
311 storage2->Set(DEFAULTS, "bar", value2); 311 storage2->Set(DEFAULTS, "bar", value2);
312 312
313 SettingSyncDataMultimap all_sync_data = GetAllSyncData(model_type); 313 SettingSyncDataMultimap all_sync_data = GetAllSyncData(model_type);
(...skipping 28 matching lines...) Expand all
342 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, change->change_type()); 342 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, change->change_type());
343 EXPECT_TRUE(value2.Equals(&change->value())); 343 EXPECT_TRUE(value2.Equals(&change->value()));
344 344
345 GetSyncableService(model_type)->StopSyncing(model_type); 345 GetSyncableService(model_type)->StopSyncing(model_type);
346 } 346 }
347 347
348 TEST_F(ExtensionSettingsSyncTest, LocalDataWithNoSyncDataIsPushedToSync) { 348 TEST_F(ExtensionSettingsSyncTest, LocalDataWithNoSyncDataIsPushedToSync) {
349 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 349 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
350 Manifest::Type type = Manifest::TYPE_EXTENSION; 350 Manifest::Type type = Manifest::TYPE_EXTENSION;
351 351
352 base::StringValue value1("fooValue"); 352 base::Value value1("fooValue");
353 base::ListValue value2; 353 base::ListValue value2;
354 value2.AppendString("barValue"); 354 value2.AppendString("barValue");
355 355
356 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 356 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
357 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 357 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
358 358
359 storage1->Set(DEFAULTS, "foo", value1); 359 storage1->Set(DEFAULTS, "foo", value1);
360 storage2->Set(DEFAULTS, "bar", value2); 360 storage2->Set(DEFAULTS, "bar", value2);
361 361
362 GetSyncableService(model_type) 362 GetSyncableService(model_type)
(...skipping 11 matching lines...) Expand all
374 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); 374 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type());
375 EXPECT_TRUE(value2.Equals(&change->value())); 375 EXPECT_TRUE(value2.Equals(&change->value()));
376 376
377 GetSyncableService(model_type)->StopSyncing(model_type); 377 GetSyncableService(model_type)->StopSyncing(model_type);
378 } 378 }
379 379
380 TEST_F(ExtensionSettingsSyncTest, AnySyncDataOverwritesLocalData) { 380 TEST_F(ExtensionSettingsSyncTest, AnySyncDataOverwritesLocalData) {
381 syncer::ModelType model_type = syncer::APP_SETTINGS; 381 syncer::ModelType model_type = syncer::APP_SETTINGS;
382 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 382 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
383 383
384 base::StringValue value1("fooValue"); 384 base::Value value1("fooValue");
385 base::ListValue value2; 385 base::ListValue value2;
386 value2.AppendString("barValue"); 386 value2.AppendString("barValue");
387 387
388 // Maintain dictionaries mirrored to the expected values of the settings in 388 // Maintain dictionaries mirrored to the expected values of the settings in
389 // each storage area. 389 // each storage area.
390 base::DictionaryValue expected1, expected2; 390 base::DictionaryValue expected1, expected2;
391 391
392 // Pre-populate one of the storage areas. 392 // Pre-populate one of the storage areas.
393 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 393 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
394 storage1->Set(DEFAULTS, "overwriteMe", value1); 394 storage1->Set(DEFAULTS, "overwriteMe", value1);
(...skipping 19 matching lines...) Expand all
414 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get()); 414 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get());
415 EXPECT_PRED_FORMAT2(SettingsEq, expected2, storage2->Get()); 415 EXPECT_PRED_FORMAT2(SettingsEq, expected2, storage2->Get());
416 416
417 GetSyncableService(model_type)->StopSyncing(model_type); 417 GetSyncableService(model_type)->StopSyncing(model_type);
418 } 418 }
419 419
420 TEST_F(ExtensionSettingsSyncTest, ProcessSyncChanges) { 420 TEST_F(ExtensionSettingsSyncTest, ProcessSyncChanges) {
421 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 421 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
422 Manifest::Type type = Manifest::TYPE_EXTENSION; 422 Manifest::Type type = Manifest::TYPE_EXTENSION;
423 423
424 base::StringValue value1("fooValue"); 424 base::Value value1("fooValue");
425 base::ListValue value2; 425 base::ListValue value2;
426 value2.AppendString("barValue"); 426 value2.AppendString("barValue");
427 427
428 // Maintain dictionaries mirrored to the expected values of the settings in 428 // Maintain dictionaries mirrored to the expected values of the settings in
429 // each storage area. 429 // each storage area.
430 base::DictionaryValue expected1, expected2; 430 base::DictionaryValue expected1, expected2;
431 431
432 // Make storage1 initialised from local data, storage2 initialised from sync. 432 // Make storage1 initialised from local data, storage2 initialised from sync.
433 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 433 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
434 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 434 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get()); 487 EXPECT_PRED_FORMAT2(SettingsEq, expected1, storage1->Get());
488 EXPECT_PRED_FORMAT2(SettingsEq, expected2, storage2->Get()); 488 EXPECT_PRED_FORMAT2(SettingsEq, expected2, storage2->Get());
489 489
490 GetSyncableService(model_type)->StopSyncing(model_type); 490 GetSyncableService(model_type)->StopSyncing(model_type);
491 } 491 }
492 492
493 TEST_F(ExtensionSettingsSyncTest, PushToSync) { 493 TEST_F(ExtensionSettingsSyncTest, PushToSync) {
494 syncer::ModelType model_type = syncer::APP_SETTINGS; 494 syncer::ModelType model_type = syncer::APP_SETTINGS;
495 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 495 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
496 496
497 base::StringValue value1("fooValue"); 497 base::Value value1("fooValue");
498 base::ListValue value2; 498 base::ListValue value2;
499 value2.AppendString("barValue"); 499 value2.AppendString("barValue");
500 500
501 // Make storage1/2 initialised from local data, storage3/4 initialised from 501 // Make storage1/2 initialised from local data, storage3/4 initialised from
502 // sync. 502 // sync.
503 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 503 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
504 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); 504 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type);
505 ValueStore* storage3 = AddExtensionAndGetStorage("s3", type); 505 ValueStore* storage3 = AddExtensionAndGetStorage("s3", type);
506 ValueStore* storage4 = AddExtensionAndGetStorage("s4", type); 506 ValueStore* storage4 = AddExtensionAndGetStorage("s4", type);
507 507
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 sync_processor_->GetOnlyChange("s3", "bar")->change_type()); 614 sync_processor_->GetOnlyChange("s3", "bar")->change_type());
615 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE, 615 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE,
616 sync_processor_->GetOnlyChange("s4", "foo")->change_type()); 616 sync_processor_->GetOnlyChange("s4", "foo")->change_type());
617 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE, 617 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE,
618 sync_processor_->GetOnlyChange("s4", "bar")->change_type()); 618 sync_processor_->GetOnlyChange("s4", "bar")->change_type());
619 619
620 GetSyncableService(model_type)->StopSyncing(model_type); 620 GetSyncableService(model_type)->StopSyncing(model_type);
621 } 621 }
622 622
623 TEST_F(ExtensionSettingsSyncTest, ExtensionAndAppSettingsSyncSeparately) { 623 TEST_F(ExtensionSettingsSyncTest, ExtensionAndAppSettingsSyncSeparately) {
624 base::StringValue value1("fooValue"); 624 base::Value value1("fooValue");
625 base::ListValue value2; 625 base::ListValue value2;
626 value2.AppendString("barValue"); 626 value2.AppendString("barValue");
627 627
628 // storage1 is an extension, storage2 is an app. 628 // storage1 is an extension, storage2 is an app.
629 ValueStore* storage1 = AddExtensionAndGetStorage( 629 ValueStore* storage1 = AddExtensionAndGetStorage(
630 "s1", Manifest::TYPE_EXTENSION); 630 "s1", Manifest::TYPE_EXTENSION);
631 ValueStore* storage2 = AddExtensionAndGetStorage( 631 ValueStore* storage2 = AddExtensionAndGetStorage(
632 "s2", Manifest::TYPE_LEGACY_PACKAGED_APP); 632 "s2", Manifest::TYPE_LEGACY_PACKAGED_APP);
633 633
634 storage1->Set(DEFAULTS, "foo", value1); 634 storage1->Set(DEFAULTS, "foo", value1);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 base::MakeUnique<syncer::SyncErrorFactoryMock>()); 673 base::MakeUnique<syncer::SyncErrorFactoryMock>());
674 GetSyncableService(syncer::APP_SETTINGS)-> 674 GetSyncableService(syncer::APP_SETTINGS)->
675 StopSyncing(syncer::APP_SETTINGS); 675 StopSyncing(syncer::APP_SETTINGS);
676 EXPECT_EQ(0u, sync_processor_->changes().size()); 676 EXPECT_EQ(0u, sync_processor_->changes().size());
677 } 677 }
678 678
679 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) { 679 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) {
680 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 680 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
681 Manifest::Type type = Manifest::TYPE_EXTENSION; 681 Manifest::Type type = Manifest::TYPE_EXTENSION;
682 682
683 base::StringValue fooValue("fooValue"); 683 base::Value fooValue("fooValue");
684 base::StringValue barValue("barValue"); 684 base::Value barValue("barValue");
685 685
686 // There is a bit of a convoluted method to get storage areas that can fail; 686 // There is a bit of a convoluted method to get storage areas that can fail;
687 // hand out TestingValueStore object then toggle them failing/succeeding 687 // hand out TestingValueStore object then toggle them failing/succeeding
688 // as necessary. 688 // as necessary.
689 689
690 ValueStore* good = AddExtensionAndGetStorage("good", type); 690 ValueStore* good = AddExtensionAndGetStorage("good", type);
691 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 691 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
692 692
693 // Make bad fail for incoming sync changes. 693 // Make bad fail for incoming sync changes.
694 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); 694 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); 862 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get());
863 } 863 }
864 } 864 }
865 865
866 TEST_F(ExtensionSettingsSyncTest, FailingProcessChangesDisablesSync) { 866 TEST_F(ExtensionSettingsSyncTest, FailingProcessChangesDisablesSync) {
867 // The test above tests a failing ProcessSyncChanges too, but here test with 867 // The test above tests a failing ProcessSyncChanges too, but here test with
868 // an initially passing MergeDataAndStartSyncing. 868 // an initially passing MergeDataAndStartSyncing.
869 syncer::ModelType model_type = syncer::APP_SETTINGS; 869 syncer::ModelType model_type = syncer::APP_SETTINGS;
870 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 870 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
871 871
872 base::StringValue fooValue("fooValue"); 872 base::Value fooValue("fooValue");
873 base::StringValue barValue("barValue"); 873 base::Value barValue("barValue");
874 874
875 ValueStore* good = AddExtensionAndGetStorage("good", type); 875 ValueStore* good = AddExtensionAndGetStorage("good", type);
876 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 876 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
877 877
878 // Unlike before, initially succeeding MergeDataAndStartSyncing. 878 // Unlike before, initially succeeding MergeDataAndStartSyncing.
879 { 879 {
880 syncer::SyncDataList sync_data; 880 syncer::SyncDataList sync_data;
881 sync_data.push_back(settings_sync_util::CreateData( 881 sync_data.push_back(settings_sync_util::CreateData(
882 "good", "foo", fooValue, model_type)); 882 "good", "foo", fooValue, model_type));
883 sync_data.push_back(settings_sync_util::CreateData( 883 sync_data.push_back(settings_sync_util::CreateData(
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 base::DictionaryValue dict; 954 base::DictionaryValue dict;
955 dict.Set("foo", barValue.DeepCopy()); 955 dict.Set("foo", barValue.DeepCopy());
956 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); 956 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get());
957 } 957 }
958 } 958 }
959 959
960 TEST_F(ExtensionSettingsSyncTest, FailingGetAllSyncDataDoesntStopSync) { 960 TEST_F(ExtensionSettingsSyncTest, FailingGetAllSyncDataDoesntStopSync) {
961 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 961 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
962 Manifest::Type type = Manifest::TYPE_EXTENSION; 962 Manifest::Type type = Manifest::TYPE_EXTENSION;
963 963
964 base::StringValue fooValue("fooValue"); 964 base::Value fooValue("fooValue");
965 base::StringValue barValue("barValue"); 965 base::Value barValue("barValue");
966 966
967 ValueStore* good = AddExtensionAndGetStorage("good", type); 967 ValueStore* good = AddExtensionAndGetStorage("good", type);
968 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 968 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
969 969
970 good->Set(DEFAULTS, "foo", fooValue); 970 good->Set(DEFAULTS, "foo", fooValue);
971 bad->Set(DEFAULTS, "foo", fooValue); 971 bad->Set(DEFAULTS, "foo", fooValue);
972 972
973 // Even though bad will fail to get all sync data, sync data should still 973 // Even though bad will fail to get all sync data, sync data should still
974 // include that from good. 974 // include that from good.
975 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); 975 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
(...skipping 26 matching lines...) Expand all
1002 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1002 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1003 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, 1003 EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
1004 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); 1004 sync_processor_->GetOnlyChange("bad", "bar")->change_type());
1005 EXPECT_EQ(2u, sync_processor_->changes().size()); 1005 EXPECT_EQ(2u, sync_processor_->changes().size());
1006 } 1006 }
1007 1007
1008 TEST_F(ExtensionSettingsSyncTest, FailureToReadChangesToPushDisablesSync) { 1008 TEST_F(ExtensionSettingsSyncTest, FailureToReadChangesToPushDisablesSync) {
1009 syncer::ModelType model_type = syncer::APP_SETTINGS; 1009 syncer::ModelType model_type = syncer::APP_SETTINGS;
1010 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 1010 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
1011 1011
1012 base::StringValue fooValue("fooValue"); 1012 base::Value fooValue("fooValue");
1013 base::StringValue barValue("barValue"); 1013 base::Value barValue("barValue");
1014 1014
1015 ValueStore* good = AddExtensionAndGetStorage("good", type); 1015 ValueStore* good = AddExtensionAndGetStorage("good", type);
1016 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 1016 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
1017 1017
1018 good->Set(DEFAULTS, "foo", fooValue); 1018 good->Set(DEFAULTS, "foo", fooValue);
1019 bad->Set(DEFAULTS, "foo", fooValue); 1019 bad->Set(DEFAULTS, "foo", fooValue);
1020 1020
1021 // good will successfully push foo:fooValue to sync, but bad will fail to 1021 // good will successfully push foo:fooValue to sync, but bad will fail to
1022 // get them so won't. 1022 // get them so won't.
1023 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); 1023 GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1095 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1096 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, 1096 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE,
1097 sync_processor_->GetOnlyChange("good", "bar")->change_type()); 1097 sync_processor_->GetOnlyChange("good", "bar")->change_type());
1098 EXPECT_EQ(2u, sync_processor_->changes().size()); 1098 EXPECT_EQ(2u, sync_processor_->changes().size());
1099 } 1099 }
1100 1100
1101 TEST_F(ExtensionSettingsSyncTest, FailureToPushLocalStateDisablesSync) { 1101 TEST_F(ExtensionSettingsSyncTest, FailureToPushLocalStateDisablesSync) {
1102 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 1102 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
1103 Manifest::Type type = Manifest::TYPE_EXTENSION; 1103 Manifest::Type type = Manifest::TYPE_EXTENSION;
1104 1104
1105 base::StringValue fooValue("fooValue"); 1105 base::Value fooValue("fooValue");
1106 base::StringValue barValue("barValue"); 1106 base::Value barValue("barValue");
1107 1107
1108 ValueStore* good = AddExtensionAndGetStorage("good", type); 1108 ValueStore* good = AddExtensionAndGetStorage("good", type);
1109 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 1109 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
1110 1110
1111 // Only set bad; setting good will cause it to fail below. 1111 // Only set bad; setting good will cause it to fail below.
1112 bad->Set(DEFAULTS, "foo", fooValue); 1112 bad->Set(DEFAULTS, "foo", fooValue);
1113 1113
1114 sync_processor_->set_fail_all_requests(true); 1114 sync_processor_->set_fail_all_requests(true);
1115 GetSyncableService(model_type) 1115 GetSyncableService(model_type)
1116 ->MergeDataAndStartSyncing( 1116 ->MergeDataAndStartSyncing(
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1177 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1178 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, 1178 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE,
1179 sync_processor_->GetOnlyChange("good", "foo")->change_type()); 1179 sync_processor_->GetOnlyChange("good", "foo")->change_type());
1180 EXPECT_EQ(2u, sync_processor_->changes().size()); 1180 EXPECT_EQ(2u, sync_processor_->changes().size());
1181 } 1181 }
1182 1182
1183 TEST_F(ExtensionSettingsSyncTest, FailureToPushLocalChangeDisablesSync) { 1183 TEST_F(ExtensionSettingsSyncTest, FailureToPushLocalChangeDisablesSync) {
1184 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 1184 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
1185 Manifest::Type type = Manifest::TYPE_EXTENSION; 1185 Manifest::Type type = Manifest::TYPE_EXTENSION;
1186 1186
1187 base::StringValue fooValue("fooValue"); 1187 base::Value fooValue("fooValue");
1188 base::StringValue barValue("barValue"); 1188 base::Value barValue("barValue");
1189 1189
1190 ValueStore* good = AddExtensionAndGetStorage("good", type); 1190 ValueStore* good = AddExtensionAndGetStorage("good", type);
1191 ValueStore* bad = AddExtensionAndGetStorage("bad", type); 1191 ValueStore* bad = AddExtensionAndGetStorage("bad", type);
1192 1192
1193 GetSyncableService(model_type) 1193 GetSyncableService(model_type)
1194 ->MergeDataAndStartSyncing( 1194 ->MergeDataAndStartSyncing(
1195 model_type, syncer::SyncDataList(), 1195 model_type, syncer::SyncDataList(),
1196 std::move(sync_processor_wrapper_), 1196 std::move(sync_processor_wrapper_),
1197 base::MakeUnique<syncer::SyncErrorFactoryMock>()); 1197 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1198 1198
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1270 TEST_F(ExtensionSettingsSyncTest, 1270 TEST_F(ExtensionSettingsSyncTest,
1271 LargeOutgoingChangeRejectedButIncomingAccepted) { 1271 LargeOutgoingChangeRejectedButIncomingAccepted) {
1272 syncer::ModelType model_type = syncer::APP_SETTINGS; 1272 syncer::ModelType model_type = syncer::APP_SETTINGS;
1273 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP; 1273 Manifest::Type type = Manifest::TYPE_LEGACY_PACKAGED_APP;
1274 1274
1275 // This value should be larger than the limit in sync_storage_backend.cc. 1275 // This value should be larger than the limit in sync_storage_backend.cc.
1276 std::string string_10k; 1276 std::string string_10k;
1277 for (size_t i = 0; i < 10000; ++i) { 1277 for (size_t i = 0; i < 10000; ++i) {
1278 string_10k.append("a"); 1278 string_10k.append("a");
1279 } 1279 }
1280 base::StringValue large_value(string_10k); 1280 base::Value large_value(string_10k);
1281 1281
1282 GetSyncableService(model_type) 1282 GetSyncableService(model_type)
1283 ->MergeDataAndStartSyncing( 1283 ->MergeDataAndStartSyncing(
1284 model_type, syncer::SyncDataList(), 1284 model_type, syncer::SyncDataList(),
1285 std::move(sync_processor_wrapper_), 1285 std::move(sync_processor_wrapper_),
1286 base::MakeUnique<syncer::SyncErrorFactoryMock>()); 1286 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1287 1287
1288 // Large local change rejected and doesn't get sent out. 1288 // Large local change rejected and doesn't get sent out.
1289 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); 1289 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type);
1290 EXPECT_FALSE( 1290 EXPECT_FALSE(
(...skipping 21 matching lines...) Expand all
1312 } 1312 }
1313 1313
1314 TEST_F(ExtensionSettingsSyncTest, Dots) { 1314 TEST_F(ExtensionSettingsSyncTest, Dots) {
1315 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; 1315 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS;
1316 Manifest::Type type = Manifest::TYPE_EXTENSION; 1316 Manifest::Type type = Manifest::TYPE_EXTENSION;
1317 1317
1318 ValueStore* storage = AddExtensionAndGetStorage("ext", type); 1318 ValueStore* storage = AddExtensionAndGetStorage("ext", type);
1319 1319
1320 { 1320 {
1321 syncer::SyncDataList sync_data_list; 1321 syncer::SyncDataList sync_data_list;
1322 std::unique_ptr<base::Value> string_value(new base::StringValue("value")); 1322 std::unique_ptr<base::Value> string_value(new base::Value("value"));
1323 sync_data_list.push_back(settings_sync_util::CreateData( 1323 sync_data_list.push_back(settings_sync_util::CreateData(
1324 "ext", "key.with.dot", *string_value, model_type)); 1324 "ext", "key.with.dot", *string_value, model_type));
1325 1325
1326 GetSyncableService(model_type) 1326 GetSyncableService(model_type)
1327 ->MergeDataAndStartSyncing( 1327 ->MergeDataAndStartSyncing(
1328 model_type, sync_data_list, std::move(sync_processor_wrapper_), 1328 model_type, sync_data_list, std::move(sync_processor_wrapper_),
1329 base::MakeUnique<syncer::SyncErrorFactoryMock>()); 1329 base::MakeUnique<syncer::SyncErrorFactoryMock>());
1330 } 1330 }
1331 1331
1332 // Test dots in keys that come from sync. 1332 // Test dots in keys that come from sync.
1333 { 1333 {
1334 ValueStore::ReadResult data = storage->Get(); 1334 ValueStore::ReadResult data = storage->Get();
1335 ASSERT_TRUE(data->status().ok()); 1335 ASSERT_TRUE(data->status().ok());
1336 1336
1337 base::DictionaryValue expected_data; 1337 base::DictionaryValue expected_data;
1338 expected_data.SetWithoutPathExpansion( 1338 expected_data.SetWithoutPathExpansion("key.with.dot",
1339 "key.with.dot", 1339 new base::Value("value"));
1340 new base::StringValue("value"));
1341 EXPECT_TRUE(base::Value::Equals(&expected_data, &data->settings())); 1340 EXPECT_TRUE(base::Value::Equals(&expected_data, &data->settings()));
1342 } 1341 }
1343 1342
1344 // Test dots in keys going to sync. 1343 // Test dots in keys going to sync.
1345 { 1344 {
1346 std::unique_ptr<base::Value> string_value(new base::StringValue("spot")); 1345 std::unique_ptr<base::Value> string_value(new base::Value("spot"));
1347 storage->Set(DEFAULTS, "key.with.spot", *string_value); 1346 storage->Set(DEFAULTS, "key.with.spot", *string_value);
1348 1347
1349 ASSERT_EQ(1u, sync_processor_->changes().size()); 1348 ASSERT_EQ(1u, sync_processor_->changes().size());
1350 SettingSyncData* sync_data = sync_processor_->changes()[0].get(); 1349 SettingSyncData* sync_data = sync_processor_->changes()[0].get();
1351 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, sync_data->change_type()); 1350 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, sync_data->change_type());
1352 EXPECT_EQ("ext", sync_data->extension_id()); 1351 EXPECT_EQ("ext", sync_data->extension_id());
1353 EXPECT_EQ("key.with.spot", sync_data->key()); 1352 EXPECT_EQ("key.with.spot", sync_data->key());
1354 EXPECT_TRUE(sync_data->value().Equals(string_value.get())); 1353 EXPECT_TRUE(sync_data->value().Equals(string_value.get()));
1355 } 1354 }
1356 } 1355 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1408 settings_namespace::SYNC, 1407 settings_namespace::SYNC,
1409 base::Bind(&UnlimitedSyncStorageTestCallback)); 1408 base::Bind(&UnlimitedSyncStorageTestCallback));
1410 frontend_->RunWithStorage(extension, 1409 frontend_->RunWithStorage(extension,
1411 settings_namespace::LOCAL, 1410 settings_namespace::LOCAL,
1412 base::Bind(&UnlimitedLocalStorageTestCallback)); 1411 base::Bind(&UnlimitedLocalStorageTestCallback));
1413 1412
1414 base::RunLoop().RunUntilIdle(); 1413 base::RunLoop().RunUntilIdle();
1415 } 1414 }
1416 1415
1417 } // namespace extensions 1416 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698