| Index: chrome/browser/policy/forwarding_policy_provider_unittest.cc
|
| diff --git a/chrome/browser/policy/forwarding_policy_provider_unittest.cc b/chrome/browser/policy/forwarding_policy_provider_unittest.cc
|
| deleted file mode 100644
|
| index 80267ccbe5ad7e6bd1a1b4732d1d168a7d7e9d92..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/forwarding_policy_provider_unittest.cc
|
| +++ /dev/null
|
| @@ -1,213 +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 "chrome/browser/policy/forwarding_policy_provider.h"
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/values.h"
|
| -#include "components/policy/core/common/mock_configuration_policy_provider.h"
|
| -#include "components/policy/core/common/policy_bundle.h"
|
| -#include "components/policy/core/common/policy_map.h"
|
| -#include "components/policy/core/common/policy_types.h"
|
| -#include "components/policy/core/common/schema.h"
|
| -#include "components/policy/core/common/schema_registry.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -using testing::_;
|
| -using testing::Mock;
|
| -using testing::Return;
|
| -
|
| -namespace policy {
|
| -
|
| -class ForwardingPolicyProviderTest : public testing::Test {
|
| - protected:
|
| - ForwardingPolicyProviderTest() : forwarding_provider_(&mock_provider_) {
|
| - mock_provider_.Init();
|
| - forwarding_provider_.Init(&schema_registry_);
|
| - forwarding_provider_.AddObserver(&observer_);
|
| - }
|
| -
|
| - virtual ~ForwardingPolicyProviderTest() {
|
| - forwarding_provider_.RemoveObserver(&observer_);
|
| - forwarding_provider_.Shutdown();
|
| - mock_provider_.Shutdown();
|
| - }
|
| -
|
| - SchemaRegistry schema_registry_;
|
| - MockConfigurationPolicyObserver observer_;
|
| - MockConfigurationPolicyProvider mock_provider_;
|
| - ForwardingPolicyProvider forwarding_provider_;
|
| -};
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, Empty) {
|
| - EXPECT_FALSE(schema_registry_.IsReady());
|
| - EXPECT_FALSE(
|
| - forwarding_provider_.IsInitializationComplete(POLICY_DOMAIN_EXTENSIONS));
|
| -
|
| - EXPECT_CALL(mock_provider_, IsInitializationComplete(POLICY_DOMAIN_CHROME))
|
| - .WillOnce(Return(false));
|
| - EXPECT_FALSE(
|
| - forwarding_provider_.IsInitializationComplete(POLICY_DOMAIN_CHROME));
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -
|
| - const PolicyBundle empty_bundle;
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(empty_bundle));
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, ForwardsChromePolicy) {
|
| - PolicyBundle bundle;
|
| - const PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, "");
|
| - bundle.Get(chrome_ns).Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - base::Value::CreateStringValue("value"), NULL);
|
| -
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(&forwarding_provider_));
|
| - scoped_ptr<PolicyBundle> delegate_bundle(new PolicyBundle);
|
| - delegate_bundle->CopyFrom(bundle);
|
| - delegate_bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"))
|
| - .Set("component policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - base::Value::CreateStringValue("not forwarded"), NULL);
|
| - mock_provider_.UpdatePolicy(delegate_bundle.Pass());
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_FALSE(
|
| - forwarding_provider_.IsInitializationComplete(POLICY_DOMAIN_EXTENSIONS));
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(bundle));
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, RefreshPolicies) {
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies());
|
| - forwarding_provider_.RefreshPolicies();
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, SchemaReady) {
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(&forwarding_provider_));
|
| - schema_registry_.SetReady(POLICY_DOMAIN_CHROME);
|
| - schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_TRUE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, SchemaReadyWithComponents) {
|
| - PolicyMap policy_map;
|
| - policy_map.Set("foo", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - base::Value::CreateStringValue("omg"), NULL);
|
| - scoped_ptr<PolicyBundle> bundle(new PolicyBundle);
|
| - bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, "")).CopyFrom(policy_map);
|
| - bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"))
|
| - .CopyFrom(policy_map);
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(&forwarding_provider_));
|
| - mock_provider_.UpdatePolicy(bundle.Pass());
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies()).Times(0);
|
| - schema_registry_.RegisterComponent(
|
| - PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), Schema());
|
| - schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS);
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies());
|
| - schema_registry_.SetReady(POLICY_DOMAIN_CHROME);
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -
|
| - EXPECT_FALSE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| - PolicyBundle expected_bundle;
|
| - expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, ""))
|
| - .CopyFrom(policy_map);
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(expected_bundle));
|
| -
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(&forwarding_provider_));
|
| - forwarding_provider_.OnUpdatePolicy(&mock_provider_);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_TRUE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| - expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"))
|
| - .CopyFrom(policy_map);
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(expected_bundle));
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, DelegateUpdates) {
|
| - schema_registry_.RegisterComponent(
|
| - PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), Schema());
|
| - EXPECT_FALSE(schema_registry_.IsReady());
|
| - EXPECT_FALSE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| -
|
| - PolicyMap policy_map;
|
| - policy_map.Set("foo", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - base::Value::CreateStringValue("omg"), NULL);
|
| - // Chrome policy updates are forwarded even if the components aren't ready.
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(&forwarding_provider_));
|
| - mock_provider_.UpdateChromePolicy(policy_map);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies());
|
| - schema_registry_.SetReady(POLICY_DOMAIN_CHROME);
|
| - schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS);
|
| - EXPECT_TRUE(schema_registry_.IsReady());
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| - EXPECT_FALSE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| -
|
| - // The forwarding provider becomes ready after this refresh completes, and
|
| - // starts forwarding policy updates after that.
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(_));
|
| - mock_provider_.UpdateChromePolicy(policy_map);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -
|
| - EXPECT_TRUE(forwarding_provider_.IsInitializationComplete(
|
| - policy::POLICY_DOMAIN_EXTENSIONS));
|
| -
|
| - // Keeps forwarding.
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(_));
|
| - mock_provider_.UpdateChromePolicy(policy_map);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| -}
|
| -
|
| -TEST_F(ForwardingPolicyProviderTest, RemoveAndAddComponent) {
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies());
|
| - const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "xyz");
|
| - schema_registry_.SetReady(POLICY_DOMAIN_CHROME);
|
| - schema_registry_.RegisterComponent(ns, Schema());
|
| - schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS);
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -
|
| - // Serve policy for |ns|.
|
| - PolicyBundle platform_policy;
|
| - platform_policy.Get(ns).Set("foo", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - base::Value::CreateStringValue("omg"), NULL);
|
| - scoped_ptr<PolicyBundle> copy(new PolicyBundle);
|
| - copy->CopyFrom(platform_policy);
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(_));
|
| - mock_provider_.UpdatePolicy(copy.Pass());
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(platform_policy));
|
| -
|
| - // Now remove that component.
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(_));
|
| - schema_registry_.UnregisterComponent(ns);
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| - const PolicyBundle empty;
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(empty));
|
| -
|
| - // Adding it back should serve the current policies again, even though they
|
| - // haven't changed on the platform provider.
|
| - EXPECT_CALL(mock_provider_, RefreshPolicies());
|
| - schema_registry_.RegisterComponent(ns, Schema());
|
| - Mock::VerifyAndClearExpectations(&mock_provider_);
|
| -
|
| - EXPECT_CALL(observer_, OnUpdatePolicy(_));
|
| - copy.reset(new PolicyBundle);
|
| - copy->CopyFrom(platform_policy);
|
| - mock_provider_.UpdatePolicy(copy.Pass());
|
| - Mock::VerifyAndClearExpectations(&observer_);
|
| - EXPECT_TRUE(forwarding_provider_.policies().Equals(platform_policy));
|
| -}
|
| -
|
| -} // namespace policy
|
|
|