Index: chrome/browser/policy/user_cloud_policy_manager_chromeos_unittest.cc |
diff --git a/chrome/browser/policy/user_cloud_policy_manager_chromeos_unittest.cc b/chrome/browser/policy/user_cloud_policy_manager_chromeos_unittest.cc |
deleted file mode 100644 |
index 61fc18fcdb4edca80ffa5832752cb9bdb1a2d352..0000000000000000000000000000000000000000 |
--- a/chrome/browser/policy/user_cloud_policy_manager_chromeos_unittest.cc |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-// Copyright (c) 2012 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 "chrome/browser/policy/user_cloud_policy_manager_chromeos.h" |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/message_loop.h" |
-#include "base/prefs/pref_registry_simple.h" |
-#include "base/prefs/testing_pref_service.h" |
-#include "chrome/browser/policy/cloud_policy_constants.h" |
-#include "chrome/browser/policy/mock_cloud_policy_store.h" |
-#include "chrome/browser/policy/mock_configuration_policy_provider.h" |
-#include "chrome/browser/policy/mock_device_management_service.h" |
-#include "chrome/browser/policy/proto/device_management_backend.pb.h" |
-#include "chrome/browser/policy/resource_cache.h" |
-#include "chrome/browser/prefs/browser_prefs.h" |
-#include "net/url_request/url_request_context_getter.h" |
-#include "policy/policy_constants.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace em = enterprise_management; |
- |
-using testing::AnyNumber; |
-using testing::AtLeast; |
-using testing::Mock; |
-using testing::_; |
- |
-namespace policy { |
-namespace { |
- |
-class UserCloudPolicyManagerChromeOSTest : public testing::Test { |
- protected: |
- UserCloudPolicyManagerChromeOSTest() |
- : store_(NULL) {} |
- |
- virtual void SetUp() OVERRIDE { |
- chrome::RegisterLocalState(prefs_.registry()); |
- |
- // Set up a policy map for testing. |
- policy_map_.Set("key", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
- base::Value::CreateStringValue("value")); |
- expected_bundle_.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) |
- .CopyFrom(policy_map_); |
- |
- // Create a fake policy blob to deliver to the client. |
- em::PolicyData policy_data; |
- policy_data.set_policy_type(dm_protocol::kChromeUserPolicyType); |
- em::PolicyFetchResponse* policy_response = |
- policy_blob_.mutable_policy_response()->add_response(); |
- ASSERT_TRUE(policy_data.SerializeToString( |
- policy_response->mutable_policy_data())); |
- |
- EXPECT_CALL(device_management_service_, StartJob(_, _, _, _, _, _, _)) |
- .Times(AnyNumber()); |
- } |
- |
- virtual void TearDown() OVERRIDE { |
- if (manager_) { |
- manager_->RemoveObserver(&observer_); |
- manager_->Shutdown(); |
- } |
- } |
- |
- void CreateManagerWithPendingFetch() { |
- store_ = new MockCloudPolicyStore(); |
- EXPECT_CALL(*store_, Load()); |
- manager_.reset(new UserCloudPolicyManagerChromeOS( |
- scoped_ptr<CloudPolicyStore>(store_), |
- scoped_ptr<ResourceCache>(), |
- true)); |
- manager_->Init(); |
- manager_->AddObserver(&observer_); |
- manager_->Connect(&prefs_, &device_management_service_, NULL, |
- USER_AFFILIATION_NONE); |
- Mock::VerifyAndClearExpectations(store_); |
- EXPECT_FALSE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- |
- // Finishing the Load() operation shouldn't set the initialized flag. |
- EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); |
- store_->NotifyStoreLoaded(); |
- EXPECT_FALSE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
- } |
- |
- // Required by the refresh scheduler that's created by the manager. |
- MessageLoop loop_; |
- |
- // Convenience policy objects. |
- em::DeviceManagementResponse policy_blob_; |
- PolicyMap policy_map_; |
- PolicyBundle expected_bundle_; |
- |
- // Policy infrastructure. |
- TestingPrefServiceSimple prefs_; |
- MockConfigurationPolicyObserver observer_; |
- MockDeviceManagementService device_management_service_; |
- MockCloudPolicyStore* store_; |
- scoped_ptr<UserCloudPolicyManagerChromeOS> manager_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(UserCloudPolicyManagerChromeOSTest); |
-}; |
- |
-TEST_F(UserCloudPolicyManagerChromeOSTest, WaitForPolicyFetch) { |
- CreateManagerWithPendingFetch(); |
- |
- // Setting the token should trigger the policy fetch. |
- EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); |
- MockDeviceManagementJob* fetch_request = NULL; |
- EXPECT_CALL(device_management_service_, |
- CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH)) |
- .WillOnce(device_management_service_.CreateAsyncJob(&fetch_request)); |
- manager_->core()->client()->SetupRegistration("dm_token", "client_id"); |
- ASSERT_TRUE(fetch_request); |
- EXPECT_FALSE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
- |
- // Respond to the policy fetch, which should trigger a write to |store_|. |
- EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); |
- EXPECT_CALL(*store_, Store(_)); |
- fetch_request->SendResponse(DM_STATUS_SUCCESS, policy_blob_); |
- EXPECT_FALSE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
- |
- // The load notification from |store_| should trigger the policy update and |
- // flip the initialized bit. |
- EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); |
- store_->NotifyStoreLoaded(); |
- EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
-} |
- |
-TEST_F(UserCloudPolicyManagerChromeOSTest, WaitForPolicyFetchError) { |
- CreateManagerWithPendingFetch(); |
- |
- // Setting the token should trigger the policy fetch. |
- EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); |
- MockDeviceManagementJob* fetch_request = NULL; |
- EXPECT_CALL(device_management_service_, |
- CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH)) |
- .WillOnce(device_management_service_.CreateAsyncJob(&fetch_request)); |
- manager_->core()->client()->SetupRegistration("dm_token", "client_id"); |
- ASSERT_TRUE(fetch_request); |
- EXPECT_FALSE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
- |
- // Make the policy fetch fail, at which point the manager should bail out. |
- EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())).Times(AtLeast(1)); |
- fetch_request->SendResponse(DM_STATUS_REQUEST_FAILED, policy_blob_); |
- EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
-} |
- |
-TEST_F(UserCloudPolicyManagerChromeOSTest, WaitForPolicyFetchCancel) { |
- CreateManagerWithPendingFetch(); |
- |
- // Cancelling the initial fetch should flip the flag. |
- EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); |
- manager_->CancelWaitForPolicyFetch(); |
- EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
- Mock::VerifyAndClearExpectations(&observer_); |
-} |
- |
-} // namespace |
-} // namespace policy |