| Index: components/policy/core/common/policy_service_impl_unittest.cc
|
| diff --git a/components/policy/core/common/policy_service_impl_unittest.cc b/components/policy/core/common/policy_service_impl_unittest.cc
|
| index ac7ff711b93118d9f77adb0a63b9e18a8a1bc055..268ed88a4e353f90f2186aa2d3317ed7886638d8 100644
|
| --- a/components/policy/core/common/policy_service_impl_unittest.cc
|
| +++ b/components/policy/core/common/policy_service_impl_unittest.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/bind_helpers.h"
|
| #include "base/callback.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/run_loop.h"
|
| #include "base/values.h"
|
| #include "components/policy/core/common/external_data_fetcher.h"
|
| @@ -53,26 +54,18 @@ void AddTestPolicies(PolicyBundle* bundle,
|
| PolicyScope scope) {
|
| PolicyMap* policy_map =
|
| &bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()));
|
| - policy_map->Set(kSameLevelPolicy,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::StringValue(value),
|
| - NULL);
|
| - policy_map->Set(
|
| - kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
|
| - new base::StringValue(value), nullptr);
|
| + base::WrapUnique(new base::StringValue(value)), nullptr);
|
| + policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
|
| + base::WrapUnique(new base::StringValue(value)), nullptr);
|
| policy_map =
|
| &bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension));
|
| - policy_map->Set(kSameLevelPolicy,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::StringValue(value),
|
| - NULL);
|
| - policy_map->Set(
|
| - kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
|
| - new base::StringValue(value), nullptr);
|
| + base::WrapUnique(new base::StringValue(value)), nullptr);
|
| + policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
|
| + base::WrapUnique(new base::StringValue(value)), nullptr);
|
| }
|
|
|
| // Observer class that changes the policy in the passed provider when the
|
| @@ -87,12 +80,9 @@ class ChangePolicyObserver : public PolicyService::Observer {
|
| const PolicyMap& previous,
|
| const PolicyMap& current) override {
|
| PolicyMap new_policy;
|
| - new_policy.Set("foo",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + new_policy.Set("foo", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(14),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(14)), nullptr);
|
| provider_->UpdateChromePolicy(new_policy);
|
| observer_invoked_ = true;
|
| }
|
| @@ -121,12 +111,9 @@ class PolicyServiceTest : public testing::Test {
|
| provider1_.Init();
|
| provider2_.Init();
|
|
|
| - policy0_.Set("pre",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + policy0_.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::FundamentalValue(13),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(13)), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
|
|
| PolicyServiceImpl::Providers providers;
|
| @@ -174,12 +161,9 @@ class PolicyServiceTest : public testing::Test {
|
|
|
| TEST_F(PolicyServiceTest, LoadsPoliciesBeforeProvidersRefresh) {
|
| PolicyMap expected;
|
| - expected.Set("pre",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expected.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::FundamentalValue(13),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(13)), nullptr);
|
| EXPECT_TRUE(VerifyPolicies(
|
| PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected));
|
| }
|
| @@ -189,27 +173,19 @@ TEST_F(PolicyServiceTest, NotifyObservers) {
|
| policy_service_->AddObserver(POLICY_DOMAIN_CHROME, &observer);
|
|
|
| PolicyMap expectedPrevious;
|
| - expectedPrevious.Set("pre",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expectedPrevious.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::FundamentalValue(13),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(13)),
|
| + nullptr);
|
|
|
| PolicyMap expectedCurrent;
|
| expectedCurrent.CopyFrom(expectedPrevious);
|
| - expectedCurrent.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(123),
|
| - NULL);
|
| - policy0_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expectedCurrent.Set(
|
| + "aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::FundamentalValue(123)), nullptr);
|
| + policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(123),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(123)), nullptr);
|
| EXPECT_CALL(observer, OnPolicyUpdated(PolicyNamespace(POLICY_DOMAIN_CHROME,
|
| std::string()),
|
| PolicyEquals(&expectedPrevious),
|
| @@ -226,18 +202,12 @@ TEST_F(PolicyServiceTest, NotifyObservers) {
|
|
|
| // New policy.
|
| expectedPrevious.CopyFrom(expectedCurrent);
|
| - expectedCurrent.Set("bbb",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(456),
|
| - NULL);
|
| - policy0_.Set("bbb",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expectedCurrent.Set(
|
| + "bbb", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::FundamentalValue(456)), nullptr);
|
| + policy0_.Set("bbb", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(456),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(456)), nullptr);
|
| EXPECT_CALL(observer, OnPolicyUpdated(PolicyNamespace(POLICY_DOMAIN_CHROME,
|
| std::string()),
|
| PolicyEquals(&expectedPrevious),
|
| @@ -258,18 +228,12 @@ TEST_F(PolicyServiceTest, NotifyObservers) {
|
|
|
| // Changed policy.
|
| expectedPrevious.CopyFrom(expectedCurrent);
|
| - expectedCurrent.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(789),
|
| - NULL);
|
| - policy0_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expectedCurrent.Set(
|
| + "aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::FundamentalValue(789)), nullptr);
|
| + policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(789),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(789)), nullptr);
|
|
|
| EXPECT_CALL(observer, OnPolicyUpdated(PolicyNamespace(POLICY_DOMAIN_CHROME,
|
| std::string()),
|
| @@ -298,20 +262,15 @@ TEST_F(PolicyServiceTest, NotifyObserversInMultipleNamespaces) {
|
| policy_service_->AddObserver(POLICY_DOMAIN_EXTENSIONS, &extension_observer);
|
|
|
| PolicyMap previous_policy_map;
|
| - previous_policy_map.Set("pre",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + previous_policy_map.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::FundamentalValue(13),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(13)),
|
| + nullptr);
|
| PolicyMap policy_map;
|
| policy_map.CopyFrom(previous_policy_map);
|
| - policy_map.Set("policy",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + policy_map.Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::StringValue("value"),
|
| - NULL);
|
| + base::WrapUnique(new base::StringValue("value")), nullptr);
|
|
|
| std::unique_ptr<PolicyBundle> bundle(new PolicyBundle());
|
| // The initial setup includes a policy for chrome that is now changing.
|
| @@ -349,12 +308,9 @@ TEST_F(PolicyServiceTest, NotifyObserversInMultipleNamespaces) {
|
| bundle.reset(new PolicyBundle());
|
| bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
|
| .CopyFrom(policy_map);
|
| - policy_map.Set("policy",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::StringValue("another value"),
|
| - NULL);
|
| + policy_map.Set(
|
| + "policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::StringValue("another value")), nullptr);
|
| bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1))
|
| .CopyFrom(policy_map);
|
| bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension2))
|
| @@ -389,18 +345,12 @@ TEST_F(PolicyServiceTest, NotifyObserversInMultipleNamespaces) {
|
| TEST_F(PolicyServiceTest, ObserverChangesPolicy) {
|
| ChangePolicyObserver observer(&provider0_);
|
| policy_service_->AddObserver(POLICY_DOMAIN_CHROME, &observer);
|
| - policy0_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(123),
|
| - NULL);
|
| - policy0_.Set("bbb",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(123)), nullptr);
|
| + policy0_.Set("bbb", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(1234),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(1234)), nullptr);
|
| // Should not crash.
|
| provider0_.UpdateChromePolicy(policy0_);
|
| policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, &observer);
|
| @@ -409,65 +359,41 @@ TEST_F(PolicyServiceTest, ObserverChangesPolicy) {
|
|
|
| TEST_F(PolicyServiceTest, Priorities) {
|
| PolicyMap expected;
|
| - expected.Set("pre",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expected.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::FundamentalValue(13),
|
| - NULL);
|
| - expected.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(13)), nullptr);
|
| + expected.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(0),
|
| - NULL);
|
| - policy0_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(0)), nullptr);
|
| + policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(0),
|
| - NULL);
|
| - policy1_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(0)), nullptr);
|
| + policy1_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(1),
|
| - NULL);
|
| - policy2_.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(1)), nullptr);
|
| + policy2_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(2),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(2)), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| provider1_.UpdateChromePolicy(policy1_);
|
| provider2_.UpdateChromePolicy(policy2_);
|
| EXPECT_TRUE(VerifyPolicies(
|
| PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected));
|
|
|
| - expected.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expected.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(1),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(1)), nullptr);
|
| policy0_.Erase("aaa");
|
| provider0_.UpdateChromePolicy(policy0_);
|
| EXPECT_TRUE(VerifyPolicies(
|
| PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected));
|
|
|
| - expected.Set("aaa",
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expected.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(2),
|
| - NULL);
|
| - policy1_.Set("aaa",
|
| - POLICY_LEVEL_RECOMMENDED,
|
| - POLICY_SCOPE_USER,
|
| + base::WrapUnique(new base::FundamentalValue(2)), nullptr);
|
| + policy1_.Set("aaa", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(1),
|
| - NULL);
|
| + base::WrapUnique(new base::FundamentalValue(1)), nullptr);
|
| provider1_.UpdateChromePolicy(policy1_);
|
| EXPECT_TRUE(VerifyPolicies(
|
| PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected));
|
| @@ -493,14 +419,14 @@ TEST_F(PolicyServiceTest, PolicyChangeRegistrar) {
|
| base::FundamentalValue kValue0(0);
|
| EXPECT_CALL(*this, OnPolicyValueUpdated(NULL, ValueEquals(&kValue0)));
|
| policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue0.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue0.CreateDeepCopy(), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| // Changing other values doesn't trigger a notification.
|
| EXPECT_CALL(*this, OnPolicyValueUpdated(_, _)).Times(0);
|
| policy0_.Set("bbb", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue0.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue0.CreateDeepCopy(), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| @@ -509,7 +435,7 @@ TEST_F(PolicyServiceTest, PolicyChangeRegistrar) {
|
| EXPECT_CALL(*this, OnPolicyValueUpdated(ValueEquals(&kValue0),
|
| ValueEquals(&kValue1)));
|
| policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue1.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue1.CreateDeepCopy(), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| @@ -523,9 +449,10 @@ TEST_F(PolicyServiceTest, PolicyChangeRegistrar) {
|
| EXPECT_CALL(*this, OnPolicyValueUpdated(_, _)).Times(0);
|
| registrar.reset();
|
| policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue1.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue1.CreateDeepCopy(), nullptr);
|
| policy0_.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_ENTERPRISE_DEFAULT, kValue1.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_ENTERPRISE_DEFAULT, kValue1.CreateDeepCopy(),
|
| + nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| Mock::VerifyAndClearExpectations(this);
|
| }
|
| @@ -546,14 +473,14 @@ TEST_F(PolicyServiceTest, RefreshPolicies) {
|
| EXPECT_CALL(*this, OnPolicyRefresh()).Times(0);
|
| base::FundamentalValue kValue0(0);
|
| policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue0.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue0.CreateDeepCopy(), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| EXPECT_CALL(*this, OnPolicyRefresh()).Times(0);
|
| base::FundamentalValue kValue1(1);
|
| policy1_.Set("aaa", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue1.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue1.CreateDeepCopy(), nullptr);
|
| provider1_.UpdateChromePolicy(policy1_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| @@ -562,7 +489,7 @@ TEST_F(PolicyServiceTest, RefreshPolicies) {
|
| // refreshed.
|
| EXPECT_CALL(*this, OnPolicyRefresh()).Times(0);
|
| policy1_.Set("bbb", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue1.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue1.CreateDeepCopy(), nullptr);
|
| provider1_.UpdateChromePolicy(policy1_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| @@ -577,7 +504,7 @@ TEST_F(PolicyServiceTest, RefreshPolicies) {
|
|
|
| EXPECT_CALL(*this, OnPolicyRefresh()).Times(0);
|
| policy2_.Set("bbb", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue0.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue0.CreateDeepCopy(), nullptr);
|
| provider2_.UpdateChromePolicy(policy2_);
|
| Mock::VerifyAndClearExpectations(this);
|
|
|
| @@ -585,7 +512,7 @@ TEST_F(PolicyServiceTest, RefreshPolicies) {
|
| EXPECT_CALL(*this, OnPolicyRefresh()).Times(2);
|
| base::FundamentalValue kValue2(2);
|
| policy0_.Set("aaa", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD, kValue2.DeepCopy(), nullptr);
|
| + POLICY_SOURCE_CLOUD, kValue2.CreateDeepCopy(), nullptr);
|
| provider0_.UpdateChromePolicy(policy0_);
|
| provider1_.UpdateChromePolicy(policy1_);
|
| Mock::VerifyAndClearExpectations(this);
|
| @@ -616,20 +543,14 @@ TEST_F(PolicyServiceTest, NamespaceMerge) {
|
| PolicyMap expected;
|
| // For policies of the same level and scope, the first provider takes
|
| // precedence, on every namespace.
|
| - expected.Set(kSameLevelPolicy,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| + expected.Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_ENTERPRISE_DEFAULT,
|
| - new base::StringValue("bundle0"),
|
| - NULL);
|
| + base::WrapUnique(new base::StringValue("bundle0")), nullptr);
|
| // For policies with different levels and scopes, the highest priority
|
| // level/scope combination takes precedence, on every namespace.
|
| - expected.Set(kDiffLevelPolicy,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_MACHINE,
|
| + expected.Set(kDiffLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
|
| POLICY_SOURCE_PLATFORM,
|
| - new base::StringValue("bundle2"),
|
| - NULL);
|
| + base::WrapUnique(new base::StringValue("bundle2")), nullptr);
|
| EXPECT_TRUE(policy_service_->GetPolicies(
|
| PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())).Equals(expected));
|
| EXPECT_TRUE(policy_service_->GetPolicies(
|
| @@ -724,35 +645,27 @@ TEST_F(PolicyServiceTest, FixDeprecatedPolicies) {
|
| PolicyMap& policy_map = policy_bundle->Get(chrome_namespace);
|
| // Individual proxy policy values in the Chrome namespace should be collected
|
| // into a dictionary.
|
| - policy_map.Set(key::kProxyServerMode,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(3),
|
| - NULL);
|
| + policy_map.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::FundamentalValue(3)), nullptr);
|
|
|
| // Both these policies should be ignored, since there's a higher priority
|
| // policy available.
|
| - policy_map.Set(key::kProxyMode,
|
| - POLICY_LEVEL_RECOMMENDED,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::StringValue("pac_script"),
|
| - NULL);
|
| - policy_map.Set(key::kProxyPacUrl,
|
| - POLICY_LEVEL_RECOMMENDED,
|
| - POLICY_SCOPE_USER,
|
| + policy_map.Set(key::kProxyMode, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
|
| POLICY_SOURCE_CLOUD,
|
| - new base::StringValue("http://example.com/wpad.dat"),
|
| - NULL);
|
| + base::WrapUnique(new base::StringValue("pac_script")),
|
| + nullptr);
|
| + policy_map.Set(
|
| + key::kProxyPacUrl, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
|
| + POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::StringValue("http://example.com/wpad.dat")),
|
| + nullptr);
|
|
|
| // Add a value to a non-Chrome namespace.
|
| - policy_bundle->Get(extension_namespace).Set(key::kProxyServerMode,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(3),
|
| - NULL);
|
| + policy_bundle->Get(extension_namespace)
|
| + .Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| + POLICY_SOURCE_CLOUD, base::WrapUnique(new base::FundamentalValue(3)),
|
| + nullptr);
|
|
|
| // The resulting Chrome namespace map should have the collected policy.
|
| PolicyMap expected_chrome;
|
| @@ -761,16 +674,14 @@ TEST_F(PolicyServiceTest, FixDeprecatedPolicies) {
|
| expected_value->SetInteger(key::kProxyServerMode, 3);
|
| expected_chrome.Set(key::kProxySettings, POLICY_LEVEL_MANDATORY,
|
| POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| - expected_value.release(), nullptr);
|
| + std::move(expected_value), nullptr);
|
|
|
| // The resulting Extensions namespace map shouldn't have been modified.
|
| PolicyMap expected_extension;
|
| - expected_extension.Set(key::kProxyServerMode,
|
| - POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER,
|
| - POLICY_SOURCE_CLOUD,
|
| - new base::FundamentalValue(3),
|
| - NULL);
|
| + expected_extension.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::FundamentalValue(3)),
|
| + nullptr);
|
|
|
| provider0_.UpdatePolicy(std::move(policy_bundle));
|
| RunUntilIdle();
|
|
|