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

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: Created 4 years, 11 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/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 c3c8836a304c3bf0c567c9f55e95f1e216050dc8..e76742f3cc590b64e24136b530d57ecbc09fdd8c 100644
--- a/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
+++ b/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc
@@ -70,13 +70,15 @@ 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) {
@@ -202,6 +204,60 @@ TEST_F(SupervisedUserSettingsServiceTest, ProcessSplitSetting) {
EXPECT_TRUE(dict_value->Equals(&dict));
}
+TEST_F(SupervisedUserSettingsServiceTest, Merge) {
+ syncer::SyncMergeResult result = StartSyncing(syncer::SyncDataList());
+ EXPECT_EQ(0, result.num_items_added());
+ EXPECT_EQ(0, result.num_items_deleted());
+ EXPECT_EQ(0, result.num_items_modified());
+ EXPECT_EQ(0, result.num_items_before_association());
+ EXPECT_EQ(0, result.num_items_after_association());
+
+ ASSERT_TRUE(settings_);
+ const base::Value* value = NULL;
Bernhard Bauer 2016/01/08 16:04:46 nullptr please.
Deepak 2016/01/11 10:38:36 Done.
+ EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));
+
+ base::DictionaryValue dict;
+ dict.SetString("foo", "bar");
+ dict.SetBoolean("awesomesauce", true);
+ dict.SetInteger("eaudecologne", 4711);
+
+ settings_.reset();
+ syncer::SyncDataList sync_data;
+ sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting(
+ kSettingsName, base::StringValue(kSettingsValue)));
+ for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) {
+ sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting(
+ SupervisedUserSettingsService::MakeSplitSettingKey(kSettingsName,
+ it.key()),
+ it.value()));
+ }
+
+ result = StartSyncing(sync_data);
+ EXPECT_EQ(4, result.num_items_added());
Bernhard Bauer 2016/01/08 16:04:46 This is somewhat strange. Why do we add four items
Deepak 2016/01/11 10:38:36 I am adding a entry in sync_data at line 226. and
Bernhard Bauer 2016/01/18 17:56:56 Oh, right. Could you add a comment that explains t
+ EXPECT_EQ(0, result.num_items_deleted());
+ EXPECT_EQ(0, result.num_items_modified());
+ EXPECT_EQ(0, result.num_items_before_association());
+ EXPECT_EQ(4, result.num_items_after_association());
+
+ sync_data.clear();
+ dict.Clear();
+ dict.SetString("foo", "burp");
+ dict.SetString("item", "first");
+ for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) {
+ sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting(
+ SupervisedUserSettingsService::MakeSplitSettingKey(kSettingsName,
Bernhard Bauer 2016/01/08 16:04:46 This only uses split settings. It would be good to
Deepak 2016/01/11 10:38:36 Done.
+ it.key()),
+ it.value()));
+ }
+
+ result = StartSyncing(sync_data);
+ EXPECT_EQ(1, result.num_items_added());
+ EXPECT_EQ(3, result.num_items_deleted());
+ EXPECT_EQ(1, result.num_items_modified());
+ EXPECT_EQ(4, result.num_items_before_association());
+ EXPECT_EQ(2, result.num_items_after_association());
+}
+
TEST_F(SupervisedUserSettingsServiceTest, SetLocalSetting) {
const base::Value* value = NULL;
EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value));

Powered by Google App Engine
This is Rietveld 408576698