| Index: chrome/browser/managed_mode/managed_user_sync_service_unittest.cc
|
| diff --git a/chrome/browser/managed_mode/managed_user_sync_service_unittest.cc b/chrome/browser/managed_mode/managed_user_sync_service_unittest.cc
|
| deleted file mode 100644
|
| index f59eea67e5680eb0ae53e592d718d48c852e6765..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/managed_mode/managed_user_sync_service_unittest.cc
|
| +++ /dev/null
|
| @@ -1,359 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/prefs/scoped_user_pref_update.h"
|
| -#include "base/strings/stringprintf.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "base/threading/sequenced_worker_pool.h"
|
| -#include "chrome/browser/managed_mode/managed_user_sync_service.h"
|
| -#include "chrome/browser/managed_mode/managed_user_sync_service_factory.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "sync/api/attachments/attachment_id.h"
|
| -#include "sync/api/attachments/attachment_service_proxy_for_test.h"
|
| -#include "sync/api/sync_change.h"
|
| -#include "sync/api/sync_error_factory_mock.h"
|
| -#include "sync/protocol/sync.pb.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| -#include "chrome/browser/chromeos/login/users/avatar/default_user_images.h"
|
| -#endif
|
| -
|
| -using sync_pb::ManagedUserSpecifics;
|
| -using syncer::SUPERVISED_USERS;
|
| -using syncer::SyncChange;
|
| -using syncer::SyncChangeList;
|
| -using syncer::SyncChangeProcessor;
|
| -using syncer::SyncData;
|
| -using syncer::SyncDataList;
|
| -using syncer::SyncError;
|
| -using syncer::SyncErrorFactory;
|
| -using syncer::SyncMergeResult;
|
| -
|
| -namespace {
|
| -
|
| -class MockChangeProcessor : public SyncChangeProcessor {
|
| - public:
|
| - MockChangeProcessor() {}
|
| - virtual ~MockChangeProcessor() {}
|
| -
|
| - // SyncChangeProcessor implementation:
|
| - virtual SyncError ProcessSyncChanges(
|
| - const tracked_objects::Location& from_here,
|
| - const SyncChangeList& change_list) OVERRIDE;
|
| -
|
| - virtual SyncDataList GetAllSyncData(syncer::ModelType type) const
|
| - OVERRIDE {
|
| - return SyncDataList();
|
| - }
|
| -
|
| - const SyncChangeList& changes() const { return change_list_; }
|
| - SyncChange GetChange(const std::string& id) const;
|
| -
|
| - private:
|
| - SyncChangeList change_list_;
|
| -};
|
| -
|
| -SyncError MockChangeProcessor::ProcessSyncChanges(
|
| - const tracked_objects::Location& from_here,
|
| - const SyncChangeList& change_list) {
|
| - change_list_ = change_list;
|
| - return SyncError();
|
| -}
|
| -
|
| -SyncChange MockChangeProcessor::GetChange(const std::string& id) const {
|
| - for (SyncChangeList::const_iterator it = change_list_.begin();
|
| - it != change_list_.end(); ++it) {
|
| - if (it->sync_data().GetSpecifics().managed_user().id() == id)
|
| - return *it;
|
| - }
|
| - return SyncChange();
|
| -}
|
| -
|
| -// Callback for ManagedUserSyncService::GetManagedUsersAsync().
|
| -void GetManagedUsersCallback(const base::DictionaryValue** dict,
|
| - const base::DictionaryValue* managed_users) {
|
| - *dict = managed_users;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class ManagedUserSyncServiceTest : public ::testing::Test {
|
| - public:
|
| - ManagedUserSyncServiceTest();
|
| - virtual ~ManagedUserSyncServiceTest();
|
| -
|
| - protected:
|
| - scoped_ptr<SyncChangeProcessor> CreateChangeProcessor();
|
| - scoped_ptr<SyncErrorFactory> CreateErrorFactory();
|
| - SyncData CreateRemoteData(const std::string& id,
|
| - const std::string& name,
|
| - const std::string& avatar);
|
| -
|
| - PrefService* prefs() { return profile_.GetPrefs(); }
|
| - ManagedUserSyncService* service() { return service_; }
|
| - MockChangeProcessor* change_processor() { return change_processor_; }
|
| -
|
| - private:
|
| - base::MessageLoop message_loop;
|
| - TestingProfile profile_;
|
| - ManagedUserSyncService* service_;
|
| -
|
| - // Owned by the ManagedUserSyncService.
|
| - MockChangeProcessor* change_processor_;
|
| -
|
| - // A unique ID for creating "remote" Sync data.
|
| - int64 sync_data_id_;
|
| -};
|
| -
|
| -ManagedUserSyncServiceTest::ManagedUserSyncServiceTest()
|
| - : change_processor_(NULL),
|
| - sync_data_id_(0) {
|
| - service_ = ManagedUserSyncServiceFactory::GetForProfile(&profile_);
|
| -}
|
| -
|
| -ManagedUserSyncServiceTest::~ManagedUserSyncServiceTest() {}
|
| -
|
| -scoped_ptr<SyncChangeProcessor>
|
| -ManagedUserSyncServiceTest::CreateChangeProcessor() {
|
| - EXPECT_FALSE(change_processor_);
|
| - change_processor_ = new MockChangeProcessor();
|
| - return scoped_ptr<SyncChangeProcessor>(change_processor_);
|
| -}
|
| -
|
| -scoped_ptr<SyncErrorFactory>
|
| -ManagedUserSyncServiceTest::CreateErrorFactory() {
|
| - return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock());
|
| -}
|
| -
|
| -SyncData ManagedUserSyncServiceTest::CreateRemoteData(
|
| - const std::string& id,
|
| - const std::string& name,
|
| - const std::string& chrome_avatar) {
|
| - ::sync_pb::EntitySpecifics specifics;
|
| - specifics.mutable_managed_user()->set_id(id);
|
| - specifics.mutable_managed_user()->set_name(name);
|
| - specifics.mutable_managed_user()->set_acknowledged(true);
|
| - if (!chrome_avatar.empty())
|
| - specifics.mutable_managed_user()->set_chrome_avatar(chrome_avatar);
|
| -
|
| - return SyncData::CreateRemoteData(
|
| - ++sync_data_id_,
|
| - specifics,
|
| - base::Time(),
|
| - syncer::AttachmentIdList(),
|
| - syncer::AttachmentServiceProxyForTest::Create());
|
| -}
|
| -
|
| -TEST_F(ManagedUserSyncServiceTest, MergeEmpty) {
|
| - SyncMergeResult result =
|
| - service()->MergeDataAndStartSyncing(SUPERVISED_USERS,
|
| - SyncDataList(),
|
| - CreateChangeProcessor(),
|
| - CreateErrorFactory());
|
| - EXPECT_FALSE(result.error().IsSet());
|
| - EXPECT_EQ(0, result.num_items_added());
|
| - EXPECT_EQ(0, result.num_items_modified());
|
| - EXPECT_EQ(0, result.num_items_deleted());
|
| - EXPECT_EQ(0, result.num_items_before_association());
|
| - EXPECT_EQ(0, result.num_items_after_association());
|
| - EXPECT_EQ(0u, service()->GetManagedUsers()->size());
|
| - EXPECT_EQ(0u, change_processor()->changes().size());
|
| -
|
| - service()->StopSyncing(SUPERVISED_USERS);
|
| - service()->Shutdown();
|
| -}
|
| -
|
| -TEST_F(ManagedUserSyncServiceTest, MergeExisting) {
|
| - const char kNameKey[] = "name";
|
| - const char kAcknowledgedKey[] = "acknowledged";
|
| - const char kChromeAvatarKey[] = "chromeAvatar";
|
| -
|
| - const char kUserId1[] = "aaaaa";
|
| - const char kUserId2[] = "bbbbb";
|
| - const char kUserId3[] = "ccccc";
|
| - const char kUserId4[] = "ddddd";
|
| - const char kName1[] = "Anchor";
|
| - const char kName2[] = "Buzz";
|
| - const char kName3[] = "Crush";
|
| - const char kName4[] = "Dory";
|
| - const char kAvatar1[] = "";
|
| -#if defined(OS_CHROMEOS)
|
| - const char kAvatar2[] = "chromeos-avatar-index:0";
|
| - const char kAvatar3[] = "chromeos-avatar-index:20";
|
| -#else
|
| - const char kAvatar2[] = "chrome-avatar-index:0";
|
| - const char kAvatar3[] = "chrome-avatar-index:20";
|
| -#endif
|
| - const char kAvatar4[] = "";
|
| - {
|
| - DictionaryPrefUpdate update(prefs(), prefs::kSupervisedUsers);
|
| - base::DictionaryValue* managed_users = update.Get();
|
| - base::DictionaryValue* dict = new base::DictionaryValue;
|
| - dict->SetString(kNameKey, kName1);
|
| - managed_users->Set(kUserId1, dict);
|
| - dict = new base::DictionaryValue;
|
| - dict->SetString(kNameKey, kName2);
|
| - dict->SetBoolean(kAcknowledgedKey, true);
|
| - managed_users->Set(kUserId2, dict);
|
| - }
|
| -
|
| - const base::DictionaryValue* async_managed_users = NULL;
|
| - service()->GetManagedUsersAsync(
|
| - base::Bind(&GetManagedUsersCallback, &async_managed_users));
|
| -
|
| - SyncDataList initial_sync_data;
|
| - initial_sync_data.push_back(CreateRemoteData(kUserId2, kName2, kAvatar2));
|
| - initial_sync_data.push_back(CreateRemoteData(kUserId3, kName3, kAvatar3));
|
| - initial_sync_data.push_back(CreateRemoteData(kUserId4, kName4, kAvatar4));
|
| -
|
| - SyncMergeResult result =
|
| - service()->MergeDataAndStartSyncing(SUPERVISED_USERS,
|
| - initial_sync_data,
|
| - CreateChangeProcessor(),
|
| - CreateErrorFactory());
|
| - EXPECT_FALSE(result.error().IsSet());
|
| - EXPECT_EQ(2, result.num_items_added());
|
| - EXPECT_EQ(1, result.num_items_modified());
|
| - EXPECT_EQ(0, result.num_items_deleted());
|
| - EXPECT_EQ(2, result.num_items_before_association());
|
| - EXPECT_EQ(4, result.num_items_after_association());
|
| -
|
| - const base::DictionaryValue* managed_users = service()->GetManagedUsers();
|
| - EXPECT_EQ(4u, managed_users->size());
|
| - EXPECT_TRUE(async_managed_users);
|
| - EXPECT_TRUE(managed_users->Equals(async_managed_users));
|
| -
|
| - {
|
| - const base::DictionaryValue* managed_user = NULL;
|
| - ASSERT_TRUE(managed_users->GetDictionary(kUserId2, &managed_user));
|
| - ASSERT_TRUE(managed_user);
|
| - std::string name;
|
| - EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
|
| - EXPECT_EQ(kName2, name);
|
| - bool acknowledged = false;
|
| - EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
|
| - EXPECT_TRUE(acknowledged);
|
| - std::string avatar;
|
| - EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
|
| - EXPECT_EQ(kAvatar2, avatar);
|
| - }
|
| - {
|
| - const base::DictionaryValue* managed_user = NULL;
|
| - ASSERT_TRUE(managed_users->GetDictionary(kUserId3, &managed_user));
|
| - ASSERT_TRUE(managed_user);
|
| - std::string name;
|
| - EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
|
| - EXPECT_EQ(kName3, name);
|
| - bool acknowledged = false;
|
| - EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
|
| - EXPECT_TRUE(acknowledged);
|
| - std::string avatar;
|
| - EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
|
| - EXPECT_EQ(kAvatar3, avatar);
|
| - }
|
| - {
|
| - const base::DictionaryValue* managed_user = NULL;
|
| - ASSERT_TRUE(managed_users->GetDictionary(kUserId4, &managed_user));
|
| - ASSERT_TRUE(managed_user);
|
| - std::string name;
|
| - EXPECT_TRUE(managed_user->GetString(kNameKey, &name));
|
| - EXPECT_EQ(kName4, name);
|
| - bool acknowledged = false;
|
| - EXPECT_TRUE(managed_user->GetBoolean(kAcknowledgedKey, &acknowledged));
|
| - EXPECT_TRUE(acknowledged);
|
| - std::string avatar;
|
| - EXPECT_TRUE(managed_user->GetString(kChromeAvatarKey, &avatar));
|
| - EXPECT_EQ(kAvatar4, avatar);
|
| - }
|
| -
|
| - EXPECT_EQ(1u, change_processor()->changes().size());
|
| - {
|
| - SyncChange change = change_processor()->GetChange(kUserId1);
|
| - ASSERT_TRUE(change.IsValid());
|
| - EXPECT_EQ(SyncChange::ACTION_ADD, change.change_type());
|
| - const ManagedUserSpecifics& managed_user =
|
| - change.sync_data().GetSpecifics().managed_user();
|
| - EXPECT_EQ(kName1, managed_user.name());
|
| - EXPECT_FALSE(managed_user.acknowledged());
|
| - EXPECT_EQ(kAvatar1, managed_user.chrome_avatar());
|
| - }
|
| -}
|
| -
|
| -TEST_F(ManagedUserSyncServiceTest, GetAvatarIndex) {
|
| - int avatar = 100;
|
| - EXPECT_TRUE(ManagedUserSyncService::GetAvatarIndex(std::string(), &avatar));
|
| - EXPECT_EQ(ManagedUserSyncService::kNoAvatar, avatar);
|
| -
|
| - int avatar_index = 4;
|
| -#if defined(OS_CHROMEOS)
|
| - avatar_index += chromeos::kFirstDefaultImageIndex;
|
| -#endif
|
| - std::string avatar_str =
|
| - ManagedUserSyncService::BuildAvatarString(avatar_index);
|
| -#if defined(OS_CHROMEOS)
|
| - EXPECT_EQ(base::StringPrintf("chromeos-avatar-index:%d", avatar_index),
|
| - avatar_str);
|
| -#else
|
| - EXPECT_EQ(base::StringPrintf("chrome-avatar-index:%d", avatar_index),
|
| - avatar_str);
|
| -#endif
|
| - EXPECT_TRUE(ManagedUserSyncService::GetAvatarIndex(avatar_str, &avatar));
|
| - EXPECT_EQ(avatar_index, avatar);
|
| -
|
| - avatar_index = 0;
|
| -#if defined(OS_CHROMEOS)
|
| - avatar_index += chromeos::kFirstDefaultImageIndex;
|
| -#endif
|
| - avatar_str = ManagedUserSyncService::BuildAvatarString(avatar_index);
|
| -#if defined(OS_CHROMEOS)
|
| - EXPECT_EQ(base::StringPrintf("chromeos-avatar-index:%d", avatar_index),
|
| - avatar_str);
|
| -#else
|
| - EXPECT_EQ(base::StringPrintf("chrome-avatar-index:%d", avatar_index),
|
| - avatar_str);
|
| -#endif
|
| - EXPECT_TRUE(ManagedUserSyncService::GetAvatarIndex(avatar_str, &avatar));
|
| - EXPECT_EQ(avatar_index, avatar);
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("wrong-prefix:5",
|
| - &avatar));
|
| -#if defined(OS_CHROMEOS)
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-indes:2",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(
|
| - ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-indexxx:2",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-index:",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-index:x",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:5",
|
| - &avatar));
|
| -#else
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-indes:2",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-indexxx:2",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chrome-avatar-index:x",
|
| - &avatar));
|
| -
|
| - EXPECT_FALSE(ManagedUserSyncService::GetAvatarIndex("chromeos-avatar-index:5",
|
| - &avatar));
|
| -#endif
|
| -}
|
|
|