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

Unified Diff: chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc

Issue 1563833002: [Part-2]Add Statistics for SupervisedUserSettingService during merging and syncing data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes as per review comments. Created 4 years, 10 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
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_settings_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
diff --git a/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc b/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
index eb794051c9152e913c4b8265ed6f42103ca1414e..4d2ce978bf9be0a57b2d2249a70a4da5ac3b84b4 100644
--- a/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
+++ b/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
@@ -70,20 +70,21 @@ class SupervisedUserSettingsServiceTest : public ::testing::Test {
new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
}
- void StartSyncing(const syncer::SyncDataList& initial_sync_data) {
+ syncer::SyncMergeResult StartSyncing(
+ const syncer::SyncDataList& initial_sync_data) {
scoped_ptr<syncer::SyncErrorFactory> error_handler(
new MockSyncErrorFactory(syncer::SUPERVISED_USER_SETTINGS));
syncer::SyncMergeResult result = settings_service_.MergeDataAndStartSyncing(
syncer::SUPERVISED_USER_SETTINGS, initial_sync_data,
CreateSyncProcessor(), std::move(error_handler));
EXPECT_FALSE(result.error().IsSet());
+ return result;
}
void UploadSplitItem(const std::string& key, const std::string& value) {
split_items_.SetStringWithoutPathExpansion(key, value);
settings_service_.UploadItem(
- SupervisedUserSettingsService::MakeSplitSettingKey(kSplitItemName,
- key),
+ SupervisedUserSettingsService::MakeSplitSettingKey(kSplitItemName, key),
scoped_ptr<base::Value>(new base::StringValue(value)));
}
@@ -97,7 +98,7 @@ class SupervisedUserSettingsServiceTest : public ::testing::Test {
void VerifySyncDataItem(syncer::SyncData sync_data) {
const sync_pb::ManagedUserSettingSpecifics& supervised_user_setting =
sync_data.GetSpecifics().managed_user_setting();
- base::Value* expected_value = NULL;
+ base::Value* expected_value = nullptr;
if (supervised_user_setting.name() == kAtomicItemName) {
expected_value = atomic_setting_value_.get();
} else {
@@ -150,7 +151,7 @@ class SupervisedUserSettingsServiceTest : public ::testing::Test {
TEST_F(SupervisedUserSettingsServiceTest, ProcessAtomicSetting) {
StartSyncing(syncer::SyncDataList());
ASSERT_TRUE(settings_);
- const base::Value* value = NULL;
+ const base::Value* value = nullptr;
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
settings_.reset();
@@ -173,7 +174,7 @@ TEST_F(SupervisedUserSettingsServiceTest, ProcessAtomicSetting) {
TEST_F(SupervisedUserSettingsServiceTest, ProcessSplitSetting) {
StartSyncing(syncer::SyncDataList());
ASSERT_TRUE(settings_);
- const base::Value* value = NULL;
+ const base::Value* value = nullptr;
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
base::DictionaryValue dict;
@@ -197,13 +198,83 @@ TEST_F(SupervisedUserSettingsServiceTest, ProcessSplitSetting) {
EXPECT_FALSE(error.IsSet()) << error.ToString();
ASSERT_TRUE(settings_);
ASSERT_TRUE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
- const base::DictionaryValue* dict_value = NULL;
+ const base::DictionaryValue* dict_value = nullptr;
ASSERT_TRUE(value->GetAsDictionary(&dict_value));
EXPECT_TRUE(dict_value->Equals(&dict));
}
+TEST_F(SupervisedUserSettingsServiceTest, Merge) {
+ syncer::SyncMergeResult result = StartSyncing(syncer::SyncDataList());
+ EXPECT_EQ(0, result.num_items_before_association());
+ EXPECT_EQ(0, result.num_items_added());
+ EXPECT_EQ(0, result.num_items_modified());
+ EXPECT_EQ(0, result.num_items_deleted());
+ EXPECT_EQ(0, result.num_items_after_association());
+
+ ASSERT_TRUE(settings_);
+ const base::Value* value = nullptr;
+ EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
+
+ settings_.reset();
+
+ {
+ syncer::SyncDataList sync_data;
+ // Adding 1 Atomic entry.
+ sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting(
+ kSettingsName, base::StringValue(kSettingsValue)));
+ // Adding 2 SplitSettings from dictionary.
+ base::DictionaryValue dict;
+ dict.SetString("foo", "bar");
+ dict.SetInteger("eaudecologne", 4711);
+ for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd();
+ it.Advance()) {
+ sync_data.push_back(
+ SupervisedUserSettingsService::CreateSyncDataForSetting(
+ SupervisedUserSettingsService::MakeSplitSettingKey(kSplitItemName,
+ it.key()),
+ it.value()));
+ }
+ result = StartSyncing(sync_data);
+ EXPECT_EQ(0, result.num_items_before_association());
+ EXPECT_EQ(3, result.num_items_added());
+ EXPECT_EQ(0, result.num_items_modified());
+ EXPECT_EQ(0, result.num_items_deleted());
+ EXPECT_EQ(3, result.num_items_after_association());
+ settings_service_.StopSyncing(syncer::SUPERVISED_USER_SETTINGS);
+ }
+
+ {
+ // Here we are carry over the preference state that was set earlier.
+ syncer::SyncDataList sync_data;
+ // Adding 1 atomic Item in the queue.
+ UploadAtomicItem("hurdle");
+ // Adding 2 split Item in the queue.
+ UploadSplitItem("burp", "baz");
+ UploadSplitItem("item", "second");
+
+ base::DictionaryValue dict;
+ dict.SetString("foo", "burp");
+ dict.SetString("item", "first");
+ // Adding 2 SplitSettings from dictionary.
+ for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd();
+ it.Advance()) {
+ sync_data.push_back(
+ SupervisedUserSettingsService::CreateSyncDataForSetting(
+ SupervisedUserSettingsService::MakeSplitSettingKey(kSplitItemName,
+ it.key()),
+ it.value()));
+ }
+ result = StartSyncing(sync_data);
+ EXPECT_EQ(6, result.num_items_before_association());
+ EXPECT_EQ(0, result.num_items_added());
+ EXPECT_EQ(1, result.num_items_modified());
+ EXPECT_EQ(2, result.num_items_deleted());
+ EXPECT_EQ(4, result.num_items_after_association());
+ }
+}
+
TEST_F(SupervisedUserSettingsServiceTest, SetLocalSetting) {
- const base::Value* value = NULL;
+ const base::Value* value = nullptr;
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
settings_.reset();
@@ -284,7 +355,7 @@ TEST_F(SupervisedUserSettingsServiceTest, UploadItem) {
VerifySyncDataItem(sync_data_item);
// The uploaded items should not show up as settings.
- const base::Value* value = NULL;
+ const base::Value* value = nullptr;
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kAtomicItemName, &value));
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSplitItemName, &value));
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_settings_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698