| 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 |