Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2547)

Unified Diff: chrome/browser/policy/cloud_policy_provider_unittest.cc

Issue 11946017: Remove old cloud policy code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address nits. Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/policy/cloud_policy_provider.cc ('k') | chrome/browser/policy/cloud_policy_subsystem.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/cloud_policy_provider_unittest.cc
diff --git a/chrome/browser/policy/cloud_policy_provider_unittest.cc b/chrome/browser/policy/cloud_policy_provider_unittest.cc
deleted file mode 100644
index 2efb4289269440c7aebc962bb9286b018fdcf9ef..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/cloud_policy_provider_unittest.cc
+++ /dev/null
@@ -1,220 +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/cloud_policy_provider.h"
-
-#include "base/basictypes.h"
-#include "base/values.h"
-#include "chrome/browser/policy/browser_policy_connector.h"
-#include "chrome/browser/policy/cloud_policy_cache_base.h"
-#include "chrome/browser/policy/mock_configuration_policy_provider.h"
-#include "chrome/browser/policy/policy_bundle.h"
-#include "chrome/browser/policy/policy_map.h"
-#include "policy/policy_constants.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using testing::Mock;
-
-namespace em = enterprise_management;
-
-namespace policy {
-
-class MockCloudPolicyCache : public CloudPolicyCacheBase {
- public:
- MockCloudPolicyCache() {}
- virtual ~MockCloudPolicyCache() {}
-
- virtual void Load() OVERRIDE {}
-
- virtual bool SetPolicy(const em::PolicyFetchResponse& policy) OVERRIDE {
- return true;
- }
-
- virtual void SetUnmanaged() OVERRIDE {
- is_unmanaged_ = true;
- }
-
- virtual bool DecodePolicyData(const em::PolicyData& policy_data,
- PolicyMap* policies) OVERRIDE {
- return true;
- }
-
- PolicyMap* mutable_policy() {
- return &policies_;
- }
-
- // Make these methods public.
- using CloudPolicyCacheBase::SetReady;
- using CloudPolicyCacheBase::NotifyObservers;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MockCloudPolicyCache);
-};
-
-class CloudPolicyProviderTest : public testing::Test {
- protected:
- CloudPolicyProviderTest()
- : cloud_policy_provider_(&browser_policy_connector_) {}
-
- virtual void SetUp() OVERRIDE {
- cloud_policy_provider_.Init();
- cloud_policy_provider_.AddObserver(&observer_);
- }
-
- virtual void TearDown() OVERRIDE {
- cloud_policy_provider_.RemoveObserver(&observer_);
- cloud_policy_provider_.Shutdown();
- browser_policy_connector_.Shutdown();
- }
-
- void AddUserCache() {
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- cloud_policy_provider_.SetUserPolicyCache(&user_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
- }
-
- void AddDeviceCache() {
-#if defined(OS_CHROMEOS)
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- cloud_policy_provider_.SetDevicePolicyCache(&device_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
-#endif
- }
-
- void SetUserCacheReady() {
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- user_policy_cache_.SetReady();
- Mock::VerifyAndClearExpectations(&observer_);
- EXPECT_TRUE(user_policy_cache_.IsReady());
- }
-
- void SetDeviceCacheReady() {
-#if defined(OS_CHROMEOS)
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- device_policy_cache_.SetReady();
- Mock::VerifyAndClearExpectations(&observer_);
- EXPECT_TRUE(device_policy_cache_.IsReady());
-#endif
- }
-
- BrowserPolicyConnector browser_policy_connector_;
-
- MockCloudPolicyCache user_policy_cache_;
-#if defined(OS_CHROMEOS)
- MockCloudPolicyCache device_policy_cache_;
-#endif
-
- CloudPolicyProvider cloud_policy_provider_;
- MockConfigurationPolicyObserver observer_;
-};
-
-TEST_F(CloudPolicyProviderTest, Initialization) {
- EXPECT_FALSE(cloud_policy_provider_.IsInitializationComplete());
- // The provider only becomes initialized when it has all caches, and the
- // caches are ready too.
- AddDeviceCache();
- EXPECT_FALSE(cloud_policy_provider_.IsInitializationComplete());
- SetDeviceCacheReady();
- EXPECT_FALSE(cloud_policy_provider_.IsInitializationComplete());
- AddUserCache();
- EXPECT_FALSE(user_policy_cache_.IsReady());
- EXPECT_FALSE(cloud_policy_provider_.IsInitializationComplete());
- PolicyBundle expected_bundle;
- EXPECT_TRUE(cloud_policy_provider_.policies().Equals(expected_bundle));
- SetUserCacheReady();
- EXPECT_TRUE(cloud_policy_provider_.IsInitializationComplete());
- EXPECT_TRUE(cloud_policy_provider_.policies().Equals(expected_bundle));
-
- const std::string kUrl("http://chromium.org");
- user_policy_cache_.mutable_policy()->Set(key::kHomepageLocation,
- POLICY_LEVEL_MANDATORY,
- POLICY_SCOPE_USER,
- Value::CreateStringValue(kUrl));
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- user_policy_cache_.NotifyObservers();
- Mock::VerifyAndClearExpectations(&observer_);
- expected_bundle.Get(POLICY_DOMAIN_CHROME, "")
- .Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
- base::Value::CreateStringValue(kUrl));
- EXPECT_TRUE(cloud_policy_provider_.policies().Equals(expected_bundle));
-}
-
-TEST_F(CloudPolicyProviderTest, RefreshPolicies) {
- // OnUpdatePolicy is called when the provider doesn't have any caches.
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(1);
- cloud_policy_provider_.RefreshPolicies();
- Mock::VerifyAndClearExpectations(&observer_);
-
- // OnUpdatePolicy is called when all the caches have updated.
- AddUserCache();
-
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(0);
- cloud_policy_provider_.RefreshPolicies();
- Mock::VerifyAndClearExpectations(&observer_);
-
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(1);
- cloud_policy_provider_.OnCacheUpdate(&user_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
-
-#if defined(OS_CHROMEOS)
- AddDeviceCache();
-
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(0);
- cloud_policy_provider_.RefreshPolicies();
- Mock::VerifyAndClearExpectations(&observer_);
-
- // Updating one of the caches is not enough, both must be updated.
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(0);
- cloud_policy_provider_.OnCacheUpdate(&user_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
-
- // If a cache refreshes more than once, the provider should still wait for
- // the others before firing the update.
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(0);
- cloud_policy_provider_.OnCacheUpdate(&user_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
-
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_)).Times(1);
- cloud_policy_provider_.OnCacheUpdate(&device_policy_cache_);
- Mock::VerifyAndClearExpectations(&observer_);
-#endif
-}
-
-#if defined(OS_CHROMEOS)
-TEST_F(CloudPolicyProviderTest, MergeProxyPolicies) {
- AddDeviceCache();
- AddUserCache();
- SetDeviceCacheReady();
- SetUserCacheReady();
- EXPECT_TRUE(cloud_policy_provider_.IsInitializationComplete());
- PolicyBundle expected_bundle;
- EXPECT_TRUE(cloud_policy_provider_.policies().Equals(expected_bundle));
-
- // User policy takes precedence over device policy.
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- device_policy_cache_.mutable_policy()->Set(
- key::kProxyMode, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
- Value::CreateStringValue("device mode"));
- device_policy_cache_.NotifyObservers();
- Mock::VerifyAndClearExpectations(&observer_);
-
- EXPECT_CALL(observer_, OnUpdatePolicy(&cloud_policy_provider_));
- user_policy_cache_.mutable_policy()->Set(
- key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
- Value::CreateStringValue("user mode"));
- user_policy_cache_.NotifyObservers();
- Mock::VerifyAndClearExpectations(&observer_);
-
- // The deprecated proxy policies are converted to the new ProxySettings.
- base::DictionaryValue* proxy_settings = new base::DictionaryValue();
- proxy_settings->SetString(key::kProxyMode, "user mode");
- expected_bundle.Get(POLICY_DOMAIN_CHROME, "")
- .Set(key::kProxySettings, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
- proxy_settings);
- EXPECT_TRUE(cloud_policy_provider_.policies().Equals(expected_bundle));
-}
-#endif
-
-} // namespace policy
« no previous file with comments | « chrome/browser/policy/cloud_policy_provider.cc ('k') | chrome/browser/policy/cloud_policy_subsystem.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698