Index: chrome/browser/managed_mode/managed_user_registration_utility_unittest.cc |
diff --git a/chrome/browser/managed_mode/managed_user_registration_utility_unittest.cc b/chrome/browser/managed_mode/managed_user_registration_utility_unittest.cc |
deleted file mode 100644 |
index ed33dcd60e7568bccea296c9db476bd715f66baf..0000000000000000000000000000000000000000 |
--- a/chrome/browser/managed_mode/managed_user_registration_utility_unittest.cc |
+++ /dev/null |
@@ -1,300 +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 "base/bind.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/prefs/scoped_user_pref_update.h" |
-#include "base/run_loop.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "base/threading/sequenced_worker_pool.h" |
-#include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" |
-#include "chrome/browser/managed_mode/managed_user_registration_utility.h" |
-#include "chrome/browser/managed_mode/managed_user_shared_settings_service.h" |
-#include "chrome/browser/managed_mode/managed_user_shared_settings_service_factory.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_pref_service_syncable.h" |
-#include "chrome/test/base/testing_profile.h" |
-#include "content/public/browser/browser_thread.h" |
-#include "google_apis/gaia/google_service_auth_error.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" |
- |
-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 { |
- |
-const char kSupervisedUserToken[] = "supervisedusertoken"; |
- |
-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_; } |
- |
- private: |
- SyncChangeList change_list_; |
-}; |
- |
-SyncError MockChangeProcessor::ProcessSyncChanges( |
- const tracked_objects::Location& from_here, |
- const SyncChangeList& change_list) { |
- change_list_ = change_list; |
- return SyncError(); |
-} |
- |
-class MockManagedUserRefreshTokenFetcher |
- : public ManagedUserRefreshTokenFetcher { |
- public: |
- MockManagedUserRefreshTokenFetcher() {} |
- virtual ~MockManagedUserRefreshTokenFetcher() {} |
- |
- // ManagedUserRefreshTokenFetcher implementation: |
- virtual void Start(const std::string& managed_user_id, |
- const std::string& device_name, |
- const TokenCallback& callback) OVERRIDE { |
- GoogleServiceAuthError error(GoogleServiceAuthError::NONE); |
- callback.Run(error, kSupervisedUserToken); |
- } |
-}; |
- |
-} // namespace |
- |
-class ManagedUserRegistrationUtilityTest : public ::testing::Test { |
- public: |
- ManagedUserRegistrationUtilityTest(); |
- virtual ~ManagedUserRegistrationUtilityTest(); |
- |
- virtual void TearDown() OVERRIDE; |
- |
- protected: |
- scoped_ptr<SyncChangeProcessor> CreateChangeProcessor(); |
- scoped_ptr<SyncErrorFactory> CreateErrorFactory(); |
- SyncData CreateRemoteData(const std::string& id, const std::string& name); |
- |
- SyncMergeResult StartInitialSync(); |
- |
- ManagedUserRegistrationUtility::RegistrationCallback |
- GetRegistrationCallback(); |
- |
- ManagedUserRegistrationUtility* GetRegistrationUtility(); |
- |
- void Acknowledge(); |
- |
- PrefService* prefs() { return profile_.GetTestingPrefService(); } |
- ManagedUserSyncService* service() { return service_; } |
- ManagedUserSharedSettingsService* shared_settings_service() { |
- return shared_settings_service_; |
- } |
- MockChangeProcessor* change_processor() { return change_processor_; } |
- |
- bool received_callback() const { return received_callback_; } |
- const GoogleServiceAuthError& error() const { return error_; } |
- const std::string& token() const { return token_; } |
- |
- private: |
- void OnManagedUserRegistered(const GoogleServiceAuthError& error, |
- const std::string& token); |
- |
- base::MessageLoop message_loop_; |
- base::RunLoop run_loop_; |
- TestingProfile profile_; |
- ManagedUserSyncService* service_; |
- ManagedUserSharedSettingsService* shared_settings_service_; |
- scoped_ptr<ManagedUserRegistrationUtility> registration_utility_; |
- |
- // Owned by the ManagedUserSyncService. |
- MockChangeProcessor* change_processor_; |
- |
- // A unique ID for creating "remote" Sync data. |
- int64 sync_data_id_; |
- |
- // Whether OnManagedUserRegistered has been called. |
- bool received_callback_; |
- |
- // Hold the registration result (either an error, or a token). |
- GoogleServiceAuthError error_; |
- std::string token_; |
- |
- base::WeakPtrFactory<ManagedUserRegistrationUtilityTest> weak_ptr_factory_; |
-}; |
- |
-ManagedUserRegistrationUtilityTest::ManagedUserRegistrationUtilityTest() |
- : change_processor_(NULL), |
- sync_data_id_(0), |
- received_callback_(false), |
- error_(GoogleServiceAuthError::NUM_STATES), |
- weak_ptr_factory_(this) { |
- service_ = ManagedUserSyncServiceFactory::GetForProfile(&profile_); |
- shared_settings_service_ = |
- ManagedUserSharedSettingsServiceFactory::GetForBrowserContext(&profile_); |
-} |
- |
-ManagedUserRegistrationUtilityTest::~ManagedUserRegistrationUtilityTest() { |
- EXPECT_FALSE(weak_ptr_factory_.HasWeakPtrs()); |
-} |
- |
-void ManagedUserRegistrationUtilityTest::TearDown() { |
- content::BrowserThread::GetBlockingPool()->FlushForTesting(); |
- base::RunLoop().RunUntilIdle(); |
-} |
- |
-scoped_ptr<SyncChangeProcessor> |
-ManagedUserRegistrationUtilityTest::CreateChangeProcessor() { |
- EXPECT_FALSE(change_processor_); |
- change_processor_ = new MockChangeProcessor(); |
- return scoped_ptr<SyncChangeProcessor>(change_processor_); |
-} |
- |
-scoped_ptr<SyncErrorFactory> |
-ManagedUserRegistrationUtilityTest::CreateErrorFactory() { |
- return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock()); |
-} |
- |
-SyncMergeResult ManagedUserRegistrationUtilityTest::StartInitialSync() { |
- SyncDataList initial_sync_data; |
- SyncMergeResult result = |
- service()->MergeDataAndStartSyncing(SUPERVISED_USERS, |
- initial_sync_data, |
- CreateChangeProcessor(), |
- CreateErrorFactory()); |
- EXPECT_FALSE(result.error().IsSet()); |
- return result; |
-} |
- |
-ManagedUserRegistrationUtility::RegistrationCallback |
-ManagedUserRegistrationUtilityTest::GetRegistrationCallback() { |
- return base::Bind( |
- &ManagedUserRegistrationUtilityTest::OnManagedUserRegistered, |
- weak_ptr_factory_.GetWeakPtr()); |
-} |
- |
-ManagedUserRegistrationUtility* |
-ManagedUserRegistrationUtilityTest::GetRegistrationUtility() { |
- if (registration_utility_.get()) |
- return registration_utility_.get(); |
- |
- scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher( |
- new MockManagedUserRefreshTokenFetcher); |
- registration_utility_.reset( |
- ManagedUserRegistrationUtility::CreateImpl(prefs(), |
- token_fetcher.Pass(), |
- service(), |
- shared_settings_service())); |
- return registration_utility_.get(); |
-} |
- |
-void ManagedUserRegistrationUtilityTest::Acknowledge() { |
- SyncChangeList new_changes; |
- const SyncChangeList& changes = change_processor()->changes(); |
- for (SyncChangeList::const_iterator it = changes.begin(); it != changes.end(); |
- ++it) { |
- EXPECT_EQ(SyncChange::ACTION_ADD, it->change_type()); |
- ::sync_pb::EntitySpecifics specifics = it->sync_data().GetSpecifics(); |
- EXPECT_FALSE(specifics.managed_user().acknowledged()); |
- specifics.mutable_managed_user()->set_acknowledged(true); |
- new_changes.push_back( |
- SyncChange(FROM_HERE, |
- SyncChange::ACTION_UPDATE, |
- SyncData::CreateRemoteData( |
- ++sync_data_id_, |
- specifics, |
- base::Time(), |
- syncer::AttachmentIdList(), |
- syncer::AttachmentServiceProxyForTest::Create()))); |
- } |
- service()->ProcessSyncChanges(FROM_HERE, new_changes); |
- |
- run_loop_.Run(); |
-} |
- |
-void ManagedUserRegistrationUtilityTest::OnManagedUserRegistered( |
- const GoogleServiceAuthError& error, |
- const std::string& token) { |
- received_callback_ = true; |
- error_ = error; |
- token_ = token; |
- run_loop_.Quit(); |
-} |
- |
-TEST_F(ManagedUserRegistrationUtilityTest, Register) { |
- StartInitialSync(); |
- GetRegistrationUtility()->Register( |
- ManagedUserRegistrationUtility::GenerateNewManagedUserId(), |
- ManagedUserRegistrationInfo(base::ASCIIToUTF16("Dug"), 0), |
- GetRegistrationCallback()); |
- EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- Acknowledge(); |
- |
- EXPECT_TRUE(received_callback()); |
- EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
- EXPECT_FALSE(token().empty()); |
-} |
- |
-TEST_F(ManagedUserRegistrationUtilityTest, RegisterBeforeInitialSync) { |
- GetRegistrationUtility()->Register( |
- ManagedUserRegistrationUtility::GenerateNewManagedUserId(), |
- ManagedUserRegistrationInfo(base::ASCIIToUTF16("Nemo"), 5), |
- GetRegistrationCallback()); |
- EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- StartInitialSync(); |
- Acknowledge(); |
- |
- EXPECT_TRUE(received_callback()); |
- EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
- EXPECT_FALSE(token().empty()); |
-} |
- |
-TEST_F(ManagedUserRegistrationUtilityTest, SyncServiceShutdownBeforeRegFinish) { |
- StartInitialSync(); |
- GetRegistrationUtility()->Register( |
- ManagedUserRegistrationUtility::GenerateNewManagedUserId(), |
- ManagedUserRegistrationInfo(base::ASCIIToUTF16("Remy"), 12), |
- GetRegistrationCallback()); |
- EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- service()->Shutdown(); |
- EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- EXPECT_TRUE(received_callback()); |
- EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state()); |
- EXPECT_EQ(std::string(), token()); |
-} |
- |
-TEST_F(ManagedUserRegistrationUtilityTest, StopSyncingBeforeRegFinish) { |
- StartInitialSync(); |
- GetRegistrationUtility()->Register( |
- ManagedUserRegistrationUtility::GenerateNewManagedUserId(), |
- ManagedUserRegistrationInfo(base::ASCIIToUTF16("Mike"), 17), |
- GetRegistrationCallback()); |
- EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- service()->StopSyncing(SUPERVISED_USERS); |
- EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); |
- EXPECT_TRUE(received_callback()); |
- EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state()); |
- EXPECT_EQ(std::string(), token()); |
-} |