OLD | NEW |
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/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/prefs/scoped_user_pref_update.h" | 9 #include "base/prefs/scoped_user_pref_update.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
11 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
12 #include "base/threading/sequenced_worker_pool.h" | 12 #include "base/threading/sequenced_worker_pool.h" |
13 #include "chrome/browser/managed_mode/managed_user_sync_service.h" | 13 #include "chrome/browser/managed_mode/managed_user_sync_service.h" |
14 #include "chrome/browser/managed_mode/managed_user_sync_service_factory.h" | 14 #include "chrome/browser/managed_mode/managed_user_sync_service_factory.h" |
15 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
16 #include "chrome/test/base/testing_profile.h" | 16 #include "chrome/test/base/testing_profile.h" |
17 #include "sync/api/attachments/attachment_id.h" | 17 #include "sync/api/attachments/attachment_id.h" |
18 #include "sync/api/attachments/attachment_service_proxy_for_test.h" | 18 #include "sync/api/attachments/attachment_service_proxy_for_test.h" |
19 #include "sync/api/sync_change.h" | 19 #include "sync/api/sync_change.h" |
20 #include "sync/api/sync_error_factory_mock.h" | 20 #include "sync/api/sync_error_factory_mock.h" |
21 #include "sync/protocol/sync.pb.h" | 21 #include "sync/protocol/sync.pb.h" |
22 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
23 | 23 |
24 #if defined(OS_CHROMEOS) | 24 #if defined(OS_CHROMEOS) |
25 #include "chrome/browser/chromeos/login/users/avatar/default_user_images.h" | 25 #include "chrome/browser/chromeos/login/users/avatar/default_user_images.h" |
26 #endif | 26 #endif |
27 | 27 |
28 using sync_pb::ManagedUserSpecifics; | 28 using sync_pb::ManagedUserSpecifics; |
29 using syncer::MANAGED_USERS; | 29 using syncer::SUPERVISED_USERS; |
30 using syncer::SyncChange; | 30 using syncer::SyncChange; |
31 using syncer::SyncChangeList; | 31 using syncer::SyncChangeList; |
32 using syncer::SyncChangeProcessor; | 32 using syncer::SyncChangeProcessor; |
33 using syncer::SyncData; | 33 using syncer::SyncData; |
34 using syncer::SyncDataList; | 34 using syncer::SyncDataList; |
35 using syncer::SyncError; | 35 using syncer::SyncError; |
36 using syncer::SyncErrorFactory; | 36 using syncer::SyncErrorFactory; |
37 using syncer::SyncMergeResult; | 37 using syncer::SyncMergeResult; |
38 | 38 |
39 namespace { | 39 namespace { |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 return SyncData::CreateRemoteData( | 146 return SyncData::CreateRemoteData( |
147 ++sync_data_id_, | 147 ++sync_data_id_, |
148 specifics, | 148 specifics, |
149 base::Time(), | 149 base::Time(), |
150 syncer::AttachmentIdList(), | 150 syncer::AttachmentIdList(), |
151 syncer::AttachmentServiceProxyForTest::Create()); | 151 syncer::AttachmentServiceProxyForTest::Create()); |
152 } | 152 } |
153 | 153 |
154 TEST_F(ManagedUserSyncServiceTest, MergeEmpty) { | 154 TEST_F(ManagedUserSyncServiceTest, MergeEmpty) { |
155 SyncMergeResult result = | 155 SyncMergeResult result = |
156 service()->MergeDataAndStartSyncing(MANAGED_USERS, | 156 service()->MergeDataAndStartSyncing(SUPERVISED_USERS, |
157 SyncDataList(), | 157 SyncDataList(), |
158 CreateChangeProcessor(), | 158 CreateChangeProcessor(), |
159 CreateErrorFactory()); | 159 CreateErrorFactory()); |
160 EXPECT_FALSE(result.error().IsSet()); | 160 EXPECT_FALSE(result.error().IsSet()); |
161 EXPECT_EQ(0, result.num_items_added()); | 161 EXPECT_EQ(0, result.num_items_added()); |
162 EXPECT_EQ(0, result.num_items_modified()); | 162 EXPECT_EQ(0, result.num_items_modified()); |
163 EXPECT_EQ(0, result.num_items_deleted()); | 163 EXPECT_EQ(0, result.num_items_deleted()); |
164 EXPECT_EQ(0, result.num_items_before_association()); | 164 EXPECT_EQ(0, result.num_items_before_association()); |
165 EXPECT_EQ(0, result.num_items_after_association()); | 165 EXPECT_EQ(0, result.num_items_after_association()); |
166 EXPECT_EQ(0u, service()->GetManagedUsers()->size()); | 166 EXPECT_EQ(0u, service()->GetManagedUsers()->size()); |
167 EXPECT_EQ(0u, change_processor()->changes().size()); | 167 EXPECT_EQ(0u, change_processor()->changes().size()); |
168 | 168 |
169 service()->StopSyncing(MANAGED_USERS); | 169 service()->StopSyncing(SUPERVISED_USERS); |
170 service()->Shutdown(); | 170 service()->Shutdown(); |
171 } | 171 } |
172 | 172 |
173 TEST_F(ManagedUserSyncServiceTest, MergeExisting) { | 173 TEST_F(ManagedUserSyncServiceTest, MergeExisting) { |
174 const char kNameKey[] = "name"; | 174 const char kNameKey[] = "name"; |
175 const char kAcknowledgedKey[] = "acknowledged"; | 175 const char kAcknowledgedKey[] = "acknowledged"; |
176 const char kChromeAvatarKey[] = "chromeAvatar"; | 176 const char kChromeAvatarKey[] = "chromeAvatar"; |
177 | 177 |
178 const char kUserId1[] = "aaaaa"; | 178 const char kUserId1[] = "aaaaa"; |
179 const char kUserId2[] = "bbbbb"; | 179 const char kUserId2[] = "bbbbb"; |
180 const char kUserId3[] = "ccccc"; | 180 const char kUserId3[] = "ccccc"; |
181 const char kUserId4[] = "ddddd"; | 181 const char kUserId4[] = "ddddd"; |
182 const char kName1[] = "Anchor"; | 182 const char kName1[] = "Anchor"; |
183 const char kName2[] = "Buzz"; | 183 const char kName2[] = "Buzz"; |
184 const char kName3[] = "Crush"; | 184 const char kName3[] = "Crush"; |
185 const char kName4[] = "Dory"; | 185 const char kName4[] = "Dory"; |
186 const char kAvatar1[] = ""; | 186 const char kAvatar1[] = ""; |
187 #if defined(OS_CHROMEOS) | 187 #if defined(OS_CHROMEOS) |
188 const char kAvatar2[] = "chromeos-avatar-index:0"; | 188 const char kAvatar2[] = "chromeos-avatar-index:0"; |
189 const char kAvatar3[] = "chromeos-avatar-index:20"; | 189 const char kAvatar3[] = "chromeos-avatar-index:20"; |
190 #else | 190 #else |
191 const char kAvatar2[] = "chrome-avatar-index:0"; | 191 const char kAvatar2[] = "chrome-avatar-index:0"; |
192 const char kAvatar3[] = "chrome-avatar-index:20"; | 192 const char kAvatar3[] = "chrome-avatar-index:20"; |
193 #endif | 193 #endif |
194 const char kAvatar4[] = ""; | 194 const char kAvatar4[] = ""; |
195 { | 195 { |
196 DictionaryPrefUpdate update(prefs(), prefs::kManagedUsers); | 196 DictionaryPrefUpdate update(prefs(), prefs::kSupervisedUsers); |
197 base::DictionaryValue* managed_users = update.Get(); | 197 base::DictionaryValue* managed_users = update.Get(); |
198 base::DictionaryValue* dict = new base::DictionaryValue; | 198 base::DictionaryValue* dict = new base::DictionaryValue; |
199 dict->SetString(kNameKey, kName1); | 199 dict->SetString(kNameKey, kName1); |
200 managed_users->Set(kUserId1, dict); | 200 managed_users->Set(kUserId1, dict); |
201 dict = new base::DictionaryValue; | 201 dict = new base::DictionaryValue; |
202 dict->SetString(kNameKey, kName2); | 202 dict->SetString(kNameKey, kName2); |
203 dict->SetBoolean(kAcknowledgedKey, true); | 203 dict->SetBoolean(kAcknowledgedKey, true); |
204 managed_users->Set(kUserId2, dict); | 204 managed_users->Set(kUserId2, dict); |
205 } | 205 } |
206 | 206 |
207 const base::DictionaryValue* async_managed_users = NULL; | 207 const base::DictionaryValue* async_managed_users = NULL; |
208 service()->GetManagedUsersAsync( | 208 service()->GetManagedUsersAsync( |
209 base::Bind(&GetManagedUsersCallback, &async_managed_users)); | 209 base::Bind(&GetManagedUsersCallback, &async_managed_users)); |
210 | 210 |
211 SyncDataList initial_sync_data; | 211 SyncDataList initial_sync_data; |
212 initial_sync_data.push_back(CreateRemoteData(kUserId2, kName2, kAvatar2)); | 212 initial_sync_data.push_back(CreateRemoteData(kUserId2, kName2, kAvatar2)); |
213 initial_sync_data.push_back(CreateRemoteData(kUserId3, kName3, kAvatar3)); | 213 initial_sync_data.push_back(CreateRemoteData(kUserId3, kName3, kAvatar3)); |
214 initial_sync_data.push_back(CreateRemoteData(kUserId4, kName4, kAvatar4)); | 214 initial_sync_data.push_back(CreateRemoteData(kUserId4, kName4, kAvatar4)); |
215 | 215 |
216 SyncMergeResult result = | 216 SyncMergeResult result = |
217 service()->MergeDataAndStartSyncing(MANAGED_USERS, | 217 service()->MergeDataAndStartSyncing(SUPERVISED_USERS, |
218 initial_sync_data, | 218 initial_sync_data, |
219 CreateChangeProcessor(), | 219 CreateChangeProcessor(), |
220 CreateErrorFactory()); | 220 CreateErrorFactory()); |
221 EXPECT_FALSE(result.error().IsSet()); | 221 EXPECT_FALSE(result.error().IsSet()); |
222 EXPECT_EQ(2, result.num_items_added()); | 222 EXPECT_EQ(2, result.num_items_added()); |
223 EXPECT_EQ(1, result.num_items_modified()); | 223 EXPECT_EQ(1, result.num_items_modified()); |
224 EXPECT_EQ(0, result.num_items_deleted()); | 224 EXPECT_EQ(0, result.num_items_deleted()); |
225 EXPECT_EQ(2, result.num_items_before_association()); | 225 EXPECT_EQ(2, result.num_items_before_association()); |
226 EXPECT_EQ(4, result.num_items_after_association()); | 226 EXPECT_EQ(4, result.num_items_after_association()); |
227 | 227 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
350 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:", | 350 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:", |
351 &avatar)); | 351 &avatar)); |
352 | 352 |
353 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:x", | 353 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:x", |
354 &avatar)); | 354 &avatar)); |
355 | 355 |
356 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-index:5", | 356 EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-index:5", |
357 &avatar)); | 357 &avatar)); |
358 #endif | 358 #endif |
359 } | 359 } |
OLD | NEW |