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

Side by Side Diff: chrome/browser/managed_mode/managed_user_shared_settings_service_unittest.cc

Issue 151963002: Remove duplicated code from sync related unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed a const qualifier. Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/json/json_writer.h" 6 #include "base/json/json_writer.h"
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/managed_mode/managed_user_shared_settings_service.h" 8 #include "chrome/browser/managed_mode/managed_user_shared_settings_service.h"
9 #include "chrome/common/pref_names.h" 9 #include "chrome/common/pref_names.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
11 #include "sync/api/fake_sync_change_processor.h"
11 #include "sync/api/sync_change.h" 12 #include "sync/api/sync_change.h"
13 #include "sync/api/sync_change_processor_wrapper_for_test.h"
12 #include "sync/api/sync_error_factory_mock.h" 14 #include "sync/api/sync_error_factory_mock.h"
13 #include "sync/protocol/sync.pb.h" 15 #include "sync/protocol/sync.pb.h"
14 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
15 17
16 using base::DictionaryValue; 18 using base::DictionaryValue;
17 using base::FundamentalValue; 19 using base::FundamentalValue;
18 using base::StringValue; 20 using base::StringValue;
19 using base::Value; 21 using base::Value;
20 using sync_pb::ManagedUserSharedSettingSpecifics; 22 using sync_pb::ManagedUserSharedSettingSpecifics;
21 using syncer::MANAGED_USER_SHARED_SETTINGS; 23 using syncer::MANAGED_USER_SHARED_SETTINGS;
22 using syncer::SyncChange; 24 using syncer::SyncChange;
23 using syncer::SyncChangeList; 25 using syncer::SyncChangeList;
24 using syncer::SyncChangeProcessor; 26 using syncer::SyncChangeProcessor;
27 using syncer::SyncChangeProcessorWrapperForTest;
25 using syncer::SyncData; 28 using syncer::SyncData;
26 using syncer::SyncDataList; 29 using syncer::SyncDataList;
27 using syncer::SyncError; 30 using syncer::SyncError;
28 using syncer::SyncErrorFactory; 31 using syncer::SyncErrorFactory;
29 using syncer::SyncMergeResult; 32 using syncer::SyncMergeResult;
30 33
31 namespace { 34 namespace {
32 35
33 class MockChangeProcessor : public syncer::SyncChangeProcessor {
34 public:
35 MockChangeProcessor() {}
36 virtual ~MockChangeProcessor() {}
37
38 // SyncChangeProcessor implementation:
39 virtual syncer::SyncError ProcessSyncChanges(
40 const tracked_objects::Location& from_here,
41 const syncer::SyncChangeList& change_list) OVERRIDE;
42 virtual syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const
43 OVERRIDE;
44
45 const syncer::SyncChangeList& changes() const { return change_list_; }
46
47 private:
48 syncer::SyncChangeList change_list_;
49
50 DISALLOW_COPY_AND_ASSIGN(MockChangeProcessor);
51 };
52
53 syncer::SyncError MockChangeProcessor::ProcessSyncChanges(
54 const tracked_objects::Location& from_here,
55 const syncer::SyncChangeList& change_list) {
56 change_list_ = change_list;
57 return syncer::SyncError();
58 }
59
60 syncer::SyncDataList
61 MockChangeProcessor::GetAllSyncData(syncer::ModelType type) const {
62 return syncer::SyncDataList();
63 }
64
65 class MockSyncErrorFactory : public syncer::SyncErrorFactory { 36 class MockSyncErrorFactory : public syncer::SyncErrorFactory {
66 public: 37 public:
67 explicit MockSyncErrorFactory(syncer::ModelType type); 38 explicit MockSyncErrorFactory(syncer::ModelType type);
68 virtual ~MockSyncErrorFactory(); 39 virtual ~MockSyncErrorFactory();
69 40
70 // SyncErrorFactory implementation: 41 // SyncErrorFactory implementation:
71 virtual syncer::SyncError CreateAndUploadError( 42 virtual syncer::SyncError CreateAndUploadError(
72 const tracked_objects::Location& location, 43 const tracked_objects::Location& location,
73 const std::string& message) OVERRIDE; 44 const std::string& message) OVERRIDE;
74 45
(...skipping 29 matching lines...) Expand all
104 class ManagedUserSharedSettingsServiceTest : public ::testing::Test { 75 class ManagedUserSharedSettingsServiceTest : public ::testing::Test {
105 protected: 76 protected:
106 typedef base::CallbackList<void(const std::string&, const std::string&)> 77 typedef base::CallbackList<void(const std::string&, const std::string&)>
107 CallbackList; 78 CallbackList;
108 79
109 ManagedUserSharedSettingsServiceTest() 80 ManagedUserSharedSettingsServiceTest()
110 : settings_service_(profile_.GetPrefs()) {} 81 : settings_service_(profile_.GetPrefs()) {}
111 virtual ~ManagedUserSharedSettingsServiceTest() {} 82 virtual ~ManagedUserSharedSettingsServiceTest() {}
112 83
113 void StartSyncing(const syncer::SyncDataList& initial_sync_data) { 84 void StartSyncing(const syncer::SyncDataList& initial_sync_data) {
114 sync_processor_ = new MockChangeProcessor(); 85 sync_processor_.reset(new syncer::FakeSyncChangeProcessor);
115 scoped_ptr<syncer::SyncErrorFactory> error_handler( 86 scoped_ptr<syncer::SyncErrorFactory> error_handler(
116 new MockSyncErrorFactory(MANAGED_USER_SHARED_SETTINGS)); 87 new MockSyncErrorFactory(MANAGED_USER_SHARED_SETTINGS));
117 SyncMergeResult result = settings_service_.MergeDataAndStartSyncing( 88 SyncMergeResult result = settings_service_.MergeDataAndStartSyncing(
118 MANAGED_USER_SHARED_SETTINGS, 89 MANAGED_USER_SHARED_SETTINGS,
119 initial_sync_data, 90 initial_sync_data,
120 scoped_ptr<SyncChangeProcessor>(sync_processor_), 91 scoped_ptr<SyncChangeProcessor>(
92 new SyncChangeProcessorWrapperForTest(sync_processor_.get())),
121 error_handler.Pass()); 93 error_handler.Pass());
122 EXPECT_FALSE(result.error().IsSet()); 94 EXPECT_FALSE(result.error().IsSet());
123 } 95 }
124 96
125 const base::DictionaryValue* GetAllSettings() { 97 const base::DictionaryValue* GetAllSettings() {
126 return profile_.GetPrefs()->GetDictionary( 98 return profile_.GetPrefs()->GetDictionary(
127 prefs::kManagedUserSharedSettings); 99 prefs::kManagedUserSharedSettings);
128 } 100 }
129 101
130 void VerifySyncChanges() { 102 void VerifySyncChangesAndClear() {
131 const SyncChangeList& changes = sync_processor_->changes(); 103 SyncChangeList& changes = sync_processor_->changes();
132 for (SyncChangeList::const_iterator it = changes.begin(); 104 for (SyncChangeList::const_iterator it = changes.begin();
133 it != changes.end(); 105 it != changes.end();
134 ++it) { 106 ++it) {
135 const sync_pb::ManagedUserSharedSettingSpecifics& setting = 107 const sync_pb::ManagedUserSharedSettingSpecifics& setting =
136 it->sync_data().GetSpecifics().managed_user_shared_setting(); 108 it->sync_data().GetSpecifics().managed_user_shared_setting();
137 EXPECT_EQ( 109 EXPECT_EQ(
138 setting.value(), 110 setting.value(),
139 ToJson(settings_service_.GetValue(setting.mu_id(), setting.key()))); 111 ToJson(settings_service_.GetValue(setting.mu_id(), setting.key())));
140 } 112 }
113 changes.clear();
141 } 114 }
142 115
143 // testing::Test overrides: 116 // testing::Test overrides:
144 virtual void SetUp() OVERRIDE { 117 virtual void SetUp() OVERRIDE {
145 subscription_ = settings_service_.Subscribe( 118 subscription_ = settings_service_.Subscribe(
146 base::Bind(&ManagedUserSharedSettingsServiceTest::OnSettingChanged, 119 base::Bind(&ManagedUserSharedSettingsServiceTest::OnSettingChanged,
147 base::Unretained(this))); 120 base::Unretained(this)));
148 } 121 }
149 122
150 virtual void TearDown() OVERRIDE { settings_service_.Shutdown(); } 123 virtual void TearDown() OVERRIDE { settings_service_.Shutdown(); }
151 124
152 void OnSettingChanged(const std::string& mu_id, const std::string& key) { 125 void OnSettingChanged(const std::string& mu_id, const std::string& key) {
153 const Value* value = settings_service_.GetValue(mu_id, key); 126 const Value* value = settings_service_.GetValue(mu_id, key);
154 ASSERT_TRUE(value); 127 ASSERT_TRUE(value);
155 changed_settings_.push_back( 128 changed_settings_.push_back(
156 ManagedUserSharedSettingsService::CreateSyncDataForSetting( 129 ManagedUserSharedSettingsService::CreateSyncDataForSetting(
157 mu_id, key, *value, true)); 130 mu_id, key, *value, true));
158 } 131 }
159 132
160 TestingProfile profile_; 133 TestingProfile profile_;
161 ManagedUserSharedSettingsService settings_service_; 134 ManagedUserSharedSettingsService settings_service_;
162 SyncDataList changed_settings_; 135 SyncDataList changed_settings_;
163 136
164 scoped_ptr<CallbackList::Subscription> subscription_; 137 scoped_ptr<CallbackList::Subscription> subscription_;
165 138
166 // Owned by the ManagedUserSettingsService. 139 scoped_ptr<syncer::FakeSyncChangeProcessor> sync_processor_;
167 MockChangeProcessor* sync_processor_;
168 }; 140 };
169 141
170 TEST_F(ManagedUserSharedSettingsServiceTest, Empty) { 142 TEST_F(ManagedUserSharedSettingsServiceTest, Empty) {
171 StartSyncing(SyncDataList()); 143 StartSyncing(SyncDataList());
172 EXPECT_EQ(0u, sync_processor_->changes().size()); 144 EXPECT_EQ(0u, sync_processor_->changes().size());
173 EXPECT_EQ(0u, changed_settings_.size()); 145 EXPECT_EQ(0u, changed_settings_.size());
174 EXPECT_EQ( 146 EXPECT_EQ(
175 0u, 147 0u,
176 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size()); 148 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size());
177 EXPECT_EQ(0u, GetAllSettings()->size()); 149 EXPECT_EQ(0u, GetAllSettings()->size());
178 } 150 }
179 151
180 TEST_F(ManagedUserSharedSettingsServiceTest, SetAndGet) { 152 TEST_F(ManagedUserSharedSettingsServiceTest, SetAndGet) {
181 StartSyncing(SyncDataList()); 153 StartSyncing(SyncDataList());
182 154
183 const char kIdA[] = "aaaaaa"; 155 const char kIdA[] = "aaaaaa";
184 const char kIdB[] = "bbbbbb"; 156 const char kIdB[] = "bbbbbb";
185 const char kIdC[] = "cccccc"; 157 const char kIdC[] = "cccccc";
186 158
187 StringValue name("Jack"); 159 StringValue name("Jack");
188 FundamentalValue age(8); 160 FundamentalValue age(8);
189 StringValue bar("bar"); 161 StringValue bar("bar");
190 settings_service_.SetValue(kIdA, "name", name); 162 settings_service_.SetValue(kIdA, "name", name);
191 ASSERT_EQ(1u, sync_processor_->changes().size()); 163 ASSERT_EQ(1u, sync_processor_->changes().size());
192 VerifySyncChanges(); 164 VerifySyncChangesAndClear();
193 settings_service_.SetValue(kIdA, "age", FundamentalValue(6)); 165 settings_service_.SetValue(kIdA, "age", FundamentalValue(6));
194 ASSERT_EQ(1u, sync_processor_->changes().size()); 166 ASSERT_EQ(1u, sync_processor_->changes().size());
195 VerifySyncChanges(); 167 VerifySyncChangesAndClear();
196 settings_service_.SetValue(kIdA, "age", age); 168 settings_service_.SetValue(kIdA, "age", age);
197 ASSERT_EQ(1u, sync_processor_->changes().size()); 169 ASSERT_EQ(1u, sync_processor_->changes().size());
198 VerifySyncChanges(); 170 VerifySyncChangesAndClear();
199 settings_service_.SetValue(kIdB, "foo", bar); 171 settings_service_.SetValue(kIdB, "foo", bar);
200 ASSERT_EQ(1u, sync_processor_->changes().size()); 172 ASSERT_EQ(1u, sync_processor_->changes().size());
201 VerifySyncChanges(); 173 VerifySyncChangesAndClear();
202 174
203 EXPECT_EQ( 175 EXPECT_EQ(
204 3u, 176 3u,
205 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size()); 177 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size());
206 178
207 EXPECT_EQ(ToJson(&name), ToJson(settings_service_.GetValue(kIdA, "name"))); 179 EXPECT_EQ(ToJson(&name), ToJson(settings_service_.GetValue(kIdA, "name")));
208 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age"))); 180 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age")));
209 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo"))); 181 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo")));
210 EXPECT_FALSE(settings_service_.GetValue(kIdA, "foo")); 182 EXPECT_FALSE(settings_service_.GetValue(kIdA, "foo"));
211 EXPECT_FALSE(settings_service_.GetValue(kIdB, "name")); 183 EXPECT_FALSE(settings_service_.GetValue(kIdB, "name"));
(...skipping 21 matching lines...) Expand all
233 SyncDataList sync_data; 205 SyncDataList sync_data;
234 sync_data.push_back( 206 sync_data.push_back(
235 ManagedUserSharedSettingsService::CreateSyncDataForSetting( 207 ManagedUserSharedSettingsService::CreateSyncDataForSetting(
236 kIdA, "name", name, true)); 208 kIdA, "name", name, true));
237 sync_data.push_back( 209 sync_data.push_back(
238 ManagedUserSharedSettingsService::CreateSyncDataForSetting( 210 ManagedUserSharedSettingsService::CreateSyncDataForSetting(
239 kIdC, "baz", blurp, true)); 211 kIdC, "baz", blurp, true));
240 212
241 StartSyncing(sync_data); 213 StartSyncing(sync_data);
242 EXPECT_EQ(2u, sync_processor_->changes().size()); 214 EXPECT_EQ(2u, sync_processor_->changes().size());
243 VerifySyncChanges(); 215 VerifySyncChangesAndClear();
244 EXPECT_EQ(2u, changed_settings_.size()); 216 EXPECT_EQ(2u, changed_settings_.size());
245 217
246 EXPECT_EQ( 218 EXPECT_EQ(
247 4u, 219 4u,
248 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size()); 220 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size());
249 EXPECT_EQ(ToJson(&name), 221 EXPECT_EQ(ToJson(&name),
250 ToJson(settings_service_.GetValue(kIdA, "name"))); 222 ToJson(settings_service_.GetValue(kIdA, "name")));
251 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age"))); 223 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age")));
252 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo"))); 224 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo")));
253 EXPECT_EQ(ToJson(&blurp), ToJson(settings_service_.GetValue(kIdC, "baz"))); 225 EXPECT_EQ(ToJson(&blurp), ToJson(settings_service_.GetValue(kIdC, "baz")));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size()); 263 settings_service_.GetAllSyncData(MANAGED_USER_SHARED_SETTINGS).size());
292 EXPECT_EQ(ToJson(&name), 264 EXPECT_EQ(ToJson(&name),
293 ToJson(settings_service_.GetValue(kIdA, "name"))); 265 ToJson(settings_service_.GetValue(kIdA, "name")));
294 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age"))); 266 EXPECT_EQ(ToJson(&age), ToJson(settings_service_.GetValue(kIdA, "age")));
295 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo"))); 267 EXPECT_EQ(ToJson(&bar), ToJson(settings_service_.GetValue(kIdB, "foo")));
296 EXPECT_EQ(ToJson(&blurp), ToJson(settings_service_.GetValue(kIdC, "baz"))); 268 EXPECT_EQ(ToJson(&blurp), ToJson(settings_service_.GetValue(kIdC, "baz")));
297 EXPECT_FALSE(settings_service_.GetValue(kIdA, "foo")); 269 EXPECT_FALSE(settings_service_.GetValue(kIdA, "foo"));
298 EXPECT_FALSE(settings_service_.GetValue(kIdB, "name")); 270 EXPECT_FALSE(settings_service_.GetValue(kIdB, "name"));
299 EXPECT_FALSE(settings_service_.GetValue(kIdC, "name")); 271 EXPECT_FALSE(settings_service_.GetValue(kIdC, "name"));
300 } 272 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698