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

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

Issue 23653007: Avatar syncing for supervised users (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: .. Created 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/threading/sequenced_worker_pool.h" 9 #include "base/threading/sequenced_worker_pool.h"
10 #include "chrome/browser/managed_mode/managed_user_sync_service.h" 10 #include "chrome/browser/managed_mode/managed_user_sync_service.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 } // namespace 67 } // namespace
68 68
69 class ManagedUserSyncServiceTest : public ::testing::Test { 69 class ManagedUserSyncServiceTest : public ::testing::Test {
70 public: 70 public:
71 ManagedUserSyncServiceTest(); 71 ManagedUserSyncServiceTest();
72 virtual ~ManagedUserSyncServiceTest(); 72 virtual ~ManagedUserSyncServiceTest();
73 73
74 protected: 74 protected:
75 scoped_ptr<SyncChangeProcessor> CreateChangeProcessor(); 75 scoped_ptr<SyncChangeProcessor> CreateChangeProcessor();
76 scoped_ptr<SyncErrorFactory> CreateErrorFactory(); 76 scoped_ptr<SyncErrorFactory> CreateErrorFactory();
77 SyncData CreateRemoteData(const std::string& id, const std::string& name); 77 SyncData CreateRemoteData(const std::string& id,
78 const std::string& name,
79 const std::string& avatar);
78 80
79 SyncMergeResult StartInitialSync(); 81 SyncMergeResult StartInitialSync();
80 82
81 void Acknowledge();
82 void ResetService(); 83 void ResetService();
83 84
84 PrefService* prefs() { return profile_.GetPrefs(); } 85 PrefService* prefs() { return profile_.GetPrefs(); }
85 ManagedUserSyncService* service() { return service_; } 86 ManagedUserSyncService* service() { return service_; }
86 MockChangeProcessor* change_processor() { return change_processor_; } 87 MockChangeProcessor* change_processor() { return change_processor_; }
87 88
88 private: 89 private:
89 TestingProfile profile_; 90 TestingProfile profile_;
90 ManagedUserSyncService* service_; 91 ManagedUserSyncService* service_;
91 92
(...skipping 19 matching lines...) Expand all
111 return scoped_ptr<SyncChangeProcessor>(change_processor_); 112 return scoped_ptr<SyncChangeProcessor>(change_processor_);
112 } 113 }
113 114
114 scoped_ptr<SyncErrorFactory> 115 scoped_ptr<SyncErrorFactory>
115 ManagedUserSyncServiceTest::CreateErrorFactory() { 116 ManagedUserSyncServiceTest::CreateErrorFactory() {
116 return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock()); 117 return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock());
117 } 118 }
118 119
119 SyncData ManagedUserSyncServiceTest::CreateRemoteData( 120 SyncData ManagedUserSyncServiceTest::CreateRemoteData(
120 const std::string& id, 121 const std::string& id,
121 const std::string& name) { 122 const std::string& name,
123 const std::string& chrome_avatar) {
122 ::sync_pb::EntitySpecifics specifics; 124 ::sync_pb::EntitySpecifics specifics;
123 specifics.mutable_managed_user()->set_id(id); 125 specifics.mutable_managed_user()->set_id(id);
124 specifics.mutable_managed_user()->set_name(name); 126 specifics.mutable_managed_user()->set_name(name);
125 specifics.mutable_managed_user()->set_acknowledged(true); 127 specifics.mutable_managed_user()->set_acknowledged(true);
128 if (!chrome_avatar.empty())
129 specifics.mutable_managed_user()->set_chrome_avatar(chrome_avatar);
130
126 return SyncData::CreateRemoteData(++sync_data_id_, specifics, base::Time()); 131 return SyncData::CreateRemoteData(++sync_data_id_, specifics, base::Time());
127 } 132 }
128 133
129 SyncMergeResult ManagedUserSyncServiceTest::StartInitialSync() { 134 SyncMergeResult ManagedUserSyncServiceTest::StartInitialSync() {
130 SyncDataList initial_sync_data; 135 SyncDataList initial_sync_data;
131 SyncMergeResult result = 136 SyncMergeResult result =
132 service()->MergeDataAndStartSyncing(MANAGED_USERS, 137 service()->MergeDataAndStartSyncing(MANAGED_USERS,
133 initial_sync_data, 138 initial_sync_data,
134 CreateChangeProcessor(), 139 CreateChangeProcessor(),
135 CreateErrorFactory()); 140 CreateErrorFactory());
(...skipping 15 matching lines...) Expand all
151 EXPECT_EQ(0, result.num_items_after_association()); 156 EXPECT_EQ(0, result.num_items_after_association());
152 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kManagedUsers)->size()); 157 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kManagedUsers)->size());
153 EXPECT_EQ(0u, change_processor()->changes().size()); 158 EXPECT_EQ(0u, change_processor()->changes().size());
154 159
155 ResetService(); 160 ResetService();
156 } 161 }
157 162
158 TEST_F(ManagedUserSyncServiceTest, MergeExisting) { 163 TEST_F(ManagedUserSyncServiceTest, MergeExisting) {
159 const char kNameKey[] = "name"; 164 const char kNameKey[] = "name";
160 const char kAcknowledgedKey[] = "acknowledged"; 165 const char kAcknowledgedKey[] = "acknowledged";
166 const char kChromeAvatarKey[] = "chromeAvatar";
161 167
162 const char kUserId1[] = "aaaaa"; 168 const char kUserId1[] = "aaaaa";
163 const char kUserId2[] = "bbbbb"; 169 const char kUserId2[] = "bbbbb";
164 const char kUserId3[] = "ccccc"; 170 const char kUserId3[] = "ccccc";
165 const char kUserId4[] = "ddddd"; 171 const char kUserId4[] = "ddddd";
166 const char kName1[] = "Anchor"; 172 const char kName1[] = "Anchor";
167 const char kName2[] = "Buzz"; 173 const char kName2[] = "Buzz";
168 const char kName3[] = "Crush"; 174 const char kName3[] = "Crush";
169 const char kName4[] = "Dory"; 175 const char kName4[] = "Dory";
176 const char kAvatar1[] = "";
177 const char kAvatar2[] = "chrome-avatar-index:0";
178 const char kAvatar3[] = "chrome-avatar-index:20";
179 const char kAvatar4[] = "";
170 { 180 {
171 DictionaryPrefUpdate update(prefs(), prefs::kManagedUsers); 181 DictionaryPrefUpdate update(prefs(), prefs::kManagedUsers);
172 DictionaryValue* managed_users = update.Get(); 182 DictionaryValue* managed_users = update.Get();
173 DictionaryValue* dict = new DictionaryValue; 183 DictionaryValue* dict = new DictionaryValue;
174 dict->SetString(kNameKey, kName1); 184 dict->SetString(kNameKey, kName1);
175 managed_users->Set(kUserId1, dict); 185 managed_users->Set(kUserId1, dict);
176 dict = new DictionaryValue; 186 dict = new DictionaryValue;
177 dict->SetString(kNameKey, kName2); 187 dict->SetString(kNameKey, kName2);
178 dict->SetBoolean(kAcknowledgedKey, true); 188 dict->SetBoolean(kAcknowledgedKey, true);
179 managed_users->Set(kUserId2, dict); 189 managed_users->Set(kUserId2, dict);
180 } 190 }
181 191
182 SyncDataList initial_sync_data; 192 SyncDataList initial_sync_data;
183 initial_sync_data.push_back(CreateRemoteData(kUserId2, kName2)); 193 initial_sync_data.push_back(CreateRemoteData(kUserId2, kName2, kAvatar2));
184 initial_sync_data.push_back(CreateRemoteData(kUserId3, kName3)); 194 initial_sync_data.push_back(CreateRemoteData(kUserId3, kName3, kAvatar3));
185 initial_sync_data.push_back(CreateRemoteData(kUserId4, kName4)); 195 initial_sync_data.push_back(CreateRemoteData(kUserId4, kName4, kAvatar4));
186 196
187 SyncMergeResult result = 197 SyncMergeResult result =
188 service()->MergeDataAndStartSyncing(MANAGED_USERS, 198 service()->MergeDataAndStartSyncing(MANAGED_USERS,
189 initial_sync_data, 199 initial_sync_data,
190 CreateChangeProcessor(), 200 CreateChangeProcessor(),
191 CreateErrorFactory()); 201 CreateErrorFactory());
192 EXPECT_FALSE(result.error().IsSet()); 202 EXPECT_FALSE(result.error().IsSet());
193 EXPECT_EQ(2, result.num_items_added()); 203 EXPECT_EQ(2, result.num_items_added());
194 EXPECT_EQ(1, result.num_items_modified()); 204 EXPECT_EQ(1, result.num_items_modified());
195 EXPECT_EQ(0, result.num_items_deleted()); 205 EXPECT_EQ(0, result.num_items_deleted());
196 EXPECT_EQ(2, result.num_items_before_association()); 206 EXPECT_EQ(2, result.num_items_before_association());
197 EXPECT_EQ(4, result.num_items_after_association()); 207 EXPECT_EQ(4, result.num_items_after_association());
198 208
199 const DictionaryValue* managed_users = 209 const DictionaryValue* managed_users =
200 prefs()->GetDictionary(prefs::kManagedUsers); 210 prefs()->GetDictionary(prefs::kManagedUsers);
201 EXPECT_EQ(4u, managed_users->size()); 211 EXPECT_EQ(4u, managed_users->size());
202 { 212 {
203 const DictionaryValue* managed_user = NULL; 213 const DictionaryValue* managed_user = NULL;
204 ASSERT_TRUE(managed_users->GetDictionary(kUserId2, &managed_user)); 214 ASSERT_TRUE(managed_users->GetDictionary(kUserId2, &managed_user));
205 ASSERT_TRUE(managed_user); 215 ASSERT_TRUE(managed_user);
206 std::string name; 216 std::string name;
207 EXPECT_TRUE(managed_user->GetString(kNameKey, &name)); 217 EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
208 EXPECT_EQ(kName2, name); 218 EXPECT_EQ(kName2, name);
209 bool acknowledged = false; 219 bool acknowledged = false;
210 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged)); 220 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
211 EXPECT_TRUE(acknowledged); 221 EXPECT_TRUE(acknowledged);
222 std::string avatar;
223 EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
224 EXPECT_EQ(kAvatar2, avatar);
212 } 225 }
213 { 226 {
214 const DictionaryValue* managed_user = NULL; 227 const DictionaryValue* managed_user = NULL;
215 ASSERT_TRUE(managed_users->GetDictionary(kUserId3, &managed_user)); 228 ASSERT_TRUE(managed_users->GetDictionary(kUserId3, &managed_user));
216 ASSERT_TRUE(managed_user); 229 ASSERT_TRUE(managed_user);
217 std::string name; 230 std::string name;
218 EXPECT_TRUE(managed_user->GetString(kNameKey, &name)); 231 EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
219 EXPECT_EQ(kName3, name); 232 EXPECT_EQ(kName3, name);
220 bool acknowledged = false; 233 bool acknowledged = false;
221 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged)); 234 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
222 EXPECT_TRUE(acknowledged); 235 EXPECT_TRUE(acknowledged);
236 std::string avatar;
237 EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
238 EXPECT_EQ(kAvatar3, avatar);
223 } 239 }
224 { 240 {
225 const DictionaryValue* managed_user = NULL; 241 const DictionaryValue* managed_user = NULL;
226 ASSERT_TRUE(managed_users->GetDictionary(kUserId4, &managed_user)); 242 ASSERT_TRUE(managed_users->GetDictionary(kUserId4, &managed_user));
227 ASSERT_TRUE(managed_user); 243 ASSERT_TRUE(managed_user);
228 std::string name; 244 std::string name;
229 EXPECT_TRUE(managed_user->GetString(kNameKey, &name)); 245 EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
230 EXPECT_EQ(kName4, name); 246 EXPECT_EQ(kName4, name);
231 bool acknowledged = false; 247 bool acknowledged = false;
232 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged)); 248 EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
233 EXPECT_TRUE(acknowledged); 249 EXPECT_TRUE(acknowledged);
250 std::string avatar;
251 EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
252 EXPECT_EQ(kAvatar4, avatar);
234 } 253 }
235 254
236 EXPECT_EQ(1u, change_processor()->changes().size()); 255 EXPECT_EQ(1u, change_processor()->changes().size());
237 { 256 {
238 SyncChange change = change_processor()->GetChange(kUserId1); 257 SyncChange change = change_processor()->GetChange(kUserId1);
239 ASSERT_TRUE(change.IsValid()); 258 ASSERT_TRUE(change.IsValid());
240 EXPECT_EQ(SyncChange::ACTION_ADD, change.change_type()); 259 EXPECT_EQ(SyncChange::ACTION_ADD, change.change_type());
241 const ManagedUserSpecifics& managed_user = 260 const ManagedUserSpecifics& managed_user =
242 change.sync_data().GetSpecifics().managed_user(); 261 change.sync_data().GetSpecifics().managed_user();
243 EXPECT_EQ(kName1, managed_user.name()); 262 EXPECT_EQ(kName1, managed_user.name());
244 EXPECT_FALSE(managed_user.acknowledged()); 263 EXPECT_FALSE(managed_user.acknowledged());
264 EXPECT_EQ(kAvatar1, managed_user.chrome_avatar());
245 } 265 }
246 } 266 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698