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

Side by Side Diff: components/policy/core/common/policy_service_impl_unittest.cc

Issue 1902633006: Convert //components/policy from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments and use namespace alias Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/policy/core/common/policy_service_impl.h" 5 #include "components/policy/core/common/policy_service_impl.h"
6 6
7 #include <memory>
7 #include <utility> 8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
11 #include "base/callback.h" 12 #include "base/callback.h"
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/values.h" 15 #include "base/values.h"
16 #include "components/policy/core/common/external_data_fetcher.h" 16 #include "components/policy/core/common/external_data_fetcher.h"
17 #include "components/policy/core/common/mock_configuration_policy_provider.h" 17 #include "components/policy/core/common/mock_configuration_policy_provider.h"
18 #include "components/policy/core/common/mock_policy_service.h" 18 #include "components/policy/core/common/mock_policy_service.h"
19 #include "components/policy/core/common/policy_types.h" 19 #include "components/policy/core/common/policy_types.h"
20 #include "policy/policy_constants.h" 20 #include "policy/policy_constants.h"
21 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
22 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
23 23
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 } 159 }
160 160
161 protected: 161 protected:
162 base::MessageLoop loop_; 162 base::MessageLoop loop_;
163 MockConfigurationPolicyProvider provider0_; 163 MockConfigurationPolicyProvider provider0_;
164 MockConfigurationPolicyProvider provider1_; 164 MockConfigurationPolicyProvider provider1_;
165 MockConfigurationPolicyProvider provider2_; 165 MockConfigurationPolicyProvider provider2_;
166 PolicyMap policy0_; 166 PolicyMap policy0_;
167 PolicyMap policy1_; 167 PolicyMap policy1_;
168 PolicyMap policy2_; 168 PolicyMap policy2_;
169 scoped_ptr<PolicyServiceImpl> policy_service_; 169 std::unique_ptr<PolicyServiceImpl> policy_service_;
170 170
171 private: 171 private:
172 DISALLOW_COPY_AND_ASSIGN(PolicyServiceTest); 172 DISALLOW_COPY_AND_ASSIGN(PolicyServiceTest);
173 }; 173 };
174 174
175 TEST_F(PolicyServiceTest, LoadsPoliciesBeforeProvidersRefresh) { 175 TEST_F(PolicyServiceTest, LoadsPoliciesBeforeProvidersRefresh) {
176 PolicyMap expected; 176 PolicyMap expected;
177 expected.Set("pre", 177 expected.Set("pre",
178 POLICY_LEVEL_MANDATORY, 178 POLICY_LEVEL_MANDATORY,
179 POLICY_SCOPE_USER, 179 POLICY_SCOPE_USER,
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 NULL); 306 NULL);
307 PolicyMap policy_map; 307 PolicyMap policy_map;
308 policy_map.CopyFrom(previous_policy_map); 308 policy_map.CopyFrom(previous_policy_map);
309 policy_map.Set("policy", 309 policy_map.Set("policy",
310 POLICY_LEVEL_MANDATORY, 310 POLICY_LEVEL_MANDATORY,
311 POLICY_SCOPE_USER, 311 POLICY_SCOPE_USER,
312 POLICY_SOURCE_CLOUD, 312 POLICY_SOURCE_CLOUD,
313 new base::StringValue("value"), 313 new base::StringValue("value"),
314 NULL); 314 NULL);
315 315
316 scoped_ptr<PolicyBundle> bundle(new PolicyBundle()); 316 std::unique_ptr<PolicyBundle> bundle(new PolicyBundle());
317 // The initial setup includes a policy for chrome that is now changing. 317 // The initial setup includes a policy for chrome that is now changing.
318 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 318 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
319 .CopyFrom(policy_map); 319 .CopyFrom(policy_map);
320 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0)) 320 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0))
321 .CopyFrom(policy_map); 321 .CopyFrom(policy_map);
322 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1)) 322 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1))
323 .CopyFrom(policy_map); 323 .CopyFrom(policy_map);
324 324
325 const PolicyMap kEmptyPolicyMap; 325 const PolicyMap kEmptyPolicyMap;
326 EXPECT_CALL( 326 EXPECT_CALL(
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 POLICY_SCOPE_USER, 467 POLICY_SCOPE_USER,
468 POLICY_SOURCE_CLOUD, 468 POLICY_SOURCE_CLOUD,
469 new base::FundamentalValue(1), 469 new base::FundamentalValue(1),
470 NULL); 470 NULL);
471 provider1_.UpdateChromePolicy(policy1_); 471 provider1_.UpdateChromePolicy(policy1_);
472 EXPECT_TRUE(VerifyPolicies( 472 EXPECT_TRUE(VerifyPolicies(
473 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected)); 473 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()), expected));
474 } 474 }
475 475
476 TEST_F(PolicyServiceTest, PolicyChangeRegistrar) { 476 TEST_F(PolicyServiceTest, PolicyChangeRegistrar) {
477 scoped_ptr<PolicyChangeRegistrar> registrar(new PolicyChangeRegistrar( 477 std::unique_ptr<PolicyChangeRegistrar> registrar(new PolicyChangeRegistrar(
478 policy_service_.get(), 478 policy_service_.get(),
479 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))); 479 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())));
480 480
481 // Starting to observe existing policies doesn't trigger a notification. 481 // Starting to observe existing policies doesn't trigger a notification.
482 EXPECT_CALL(*this, OnPolicyValueUpdated(_, _)).Times(0); 482 EXPECT_CALL(*this, OnPolicyValueUpdated(_, _)).Times(0);
483 registrar->Observe("pre", base::Bind( 483 registrar->Observe("pre", base::Bind(
484 &PolicyServiceTest::OnPolicyValueUpdated, 484 &PolicyServiceTest::OnPolicyValueUpdated,
485 base::Unretained(this))); 485 base::Unretained(this)));
486 registrar->Observe("aaa", base::Bind( 486 registrar->Observe("aaa", base::Bind(
487 &PolicyServiceTest::OnPolicyValueUpdated, 487 &PolicyServiceTest::OnPolicyValueUpdated,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 provider1_.UpdateChromePolicy(policy1_); 590 provider1_.UpdateChromePolicy(policy1_);
591 Mock::VerifyAndClearExpectations(this); 591 Mock::VerifyAndClearExpectations(this);
592 592
593 const PolicyMap& policies = policy_service_->GetPolicies( 593 const PolicyMap& policies = policy_service_->GetPolicies(
594 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())); 594 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()));
595 EXPECT_TRUE(base::Value::Equals(&kValue2, policies.GetValue("aaa"))); 595 EXPECT_TRUE(base::Value::Equals(&kValue2, policies.GetValue("aaa")));
596 EXPECT_TRUE(base::Value::Equals(&kValue0, policies.GetValue("bbb"))); 596 EXPECT_TRUE(base::Value::Equals(&kValue0, policies.GetValue("bbb")));
597 } 597 }
598 598
599 TEST_F(PolicyServiceTest, NamespaceMerge) { 599 TEST_F(PolicyServiceTest, NamespaceMerge) {
600 scoped_ptr<PolicyBundle> bundle0(new PolicyBundle()); 600 std::unique_ptr<PolicyBundle> bundle0(new PolicyBundle());
601 scoped_ptr<PolicyBundle> bundle1(new PolicyBundle()); 601 std::unique_ptr<PolicyBundle> bundle1(new PolicyBundle());
602 scoped_ptr<PolicyBundle> bundle2(new PolicyBundle()); 602 std::unique_ptr<PolicyBundle> bundle2(new PolicyBundle());
603 603
604 AddTestPolicies(bundle0.get(), "bundle0", 604 AddTestPolicies(bundle0.get(), "bundle0",
605 POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER); 605 POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER);
606 AddTestPolicies(bundle1.get(), "bundle1", 606 AddTestPolicies(bundle1.get(), "bundle1",
607 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER); 607 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
608 AddTestPolicies(bundle2.get(), "bundle2", 608 AddTestPolicies(bundle2.get(), "bundle2",
609 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE); 609 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE);
610 610
611 provider0_.UpdatePolicy(std::move(bundle0)); 611 provider0_.UpdatePolicy(std::move(bundle0));
612 provider1_.UpdatePolicy(std::move(bundle1)); 612 provider1_.UpdatePolicy(std::move(bundle1));
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
713 713
714 // Cleanup. 714 // Cleanup.
715 policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, &observer); 715 policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, &observer);
716 policy_service_->RemoveObserver(POLICY_DOMAIN_EXTENSIONS, &observer); 716 policy_service_->RemoveObserver(POLICY_DOMAIN_EXTENSIONS, &observer);
717 } 717 }
718 718
719 TEST_F(PolicyServiceTest, FixDeprecatedPolicies) { 719 TEST_F(PolicyServiceTest, FixDeprecatedPolicies) {
720 const PolicyNamespace chrome_namespace(POLICY_DOMAIN_CHROME, std::string()); 720 const PolicyNamespace chrome_namespace(POLICY_DOMAIN_CHROME, std::string());
721 const PolicyNamespace extension_namespace(POLICY_DOMAIN_EXTENSIONS, "xyz"); 721 const PolicyNamespace extension_namespace(POLICY_DOMAIN_EXTENSIONS, "xyz");
722 722
723 scoped_ptr<PolicyBundle> policy_bundle(new PolicyBundle()); 723 std::unique_ptr<PolicyBundle> policy_bundle(new PolicyBundle());
724 PolicyMap& policy_map = policy_bundle->Get(chrome_namespace); 724 PolicyMap& policy_map = policy_bundle->Get(chrome_namespace);
725 // Individual proxy policy values in the Chrome namespace should be collected 725 // Individual proxy policy values in the Chrome namespace should be collected
726 // into a dictionary. 726 // into a dictionary.
727 policy_map.Set(key::kProxyServerMode, 727 policy_map.Set(key::kProxyServerMode,
728 POLICY_LEVEL_MANDATORY, 728 POLICY_LEVEL_MANDATORY,
729 POLICY_SCOPE_USER, 729 POLICY_SCOPE_USER,
730 POLICY_SOURCE_CLOUD, 730 POLICY_SOURCE_CLOUD,
731 new base::FundamentalValue(3), 731 new base::FundamentalValue(3),
732 NULL); 732 NULL);
733 733
(...skipping 15 matching lines...) Expand all
749 // Add a value to a non-Chrome namespace. 749 // Add a value to a non-Chrome namespace.
750 policy_bundle->Get(extension_namespace).Set(key::kProxyServerMode, 750 policy_bundle->Get(extension_namespace).Set(key::kProxyServerMode,
751 POLICY_LEVEL_MANDATORY, 751 POLICY_LEVEL_MANDATORY,
752 POLICY_SCOPE_USER, 752 POLICY_SCOPE_USER,
753 POLICY_SOURCE_CLOUD, 753 POLICY_SOURCE_CLOUD,
754 new base::FundamentalValue(3), 754 new base::FundamentalValue(3),
755 NULL); 755 NULL);
756 756
757 // The resulting Chrome namespace map should have the collected policy. 757 // The resulting Chrome namespace map should have the collected policy.
758 PolicyMap expected_chrome; 758 PolicyMap expected_chrome;
759 scoped_ptr<base::DictionaryValue> expected_value(new base::DictionaryValue); 759 std::unique_ptr<base::DictionaryValue> expected_value(
760 new base::DictionaryValue);
760 expected_value->SetInteger(key::kProxyServerMode, 3); 761 expected_value->SetInteger(key::kProxyServerMode, 3);
761 expected_chrome.Set(key::kProxySettings, POLICY_LEVEL_MANDATORY, 762 expected_chrome.Set(key::kProxySettings, POLICY_LEVEL_MANDATORY,
762 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 763 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
763 expected_value.release(), nullptr); 764 expected_value.release(), nullptr);
764 765
765 // The resulting Extensions namespace map shouldn't have been modified. 766 // The resulting Extensions namespace map shouldn't have been modified.
766 PolicyMap expected_extension; 767 PolicyMap expected_extension;
767 expected_extension.Set(key::kProxyServerMode, 768 expected_extension.Set(key::kProxyServerMode,
768 POLICY_LEVEL_MANDATORY, 769 POLICY_LEVEL_MANDATORY,
769 POLICY_SCOPE_USER, 770 POLICY_SCOPE_USER,
770 POLICY_SOURCE_CLOUD, 771 POLICY_SOURCE_CLOUD,
771 new base::FundamentalValue(3), 772 new base::FundamentalValue(3),
772 NULL); 773 NULL);
773 774
774 provider0_.UpdatePolicy(std::move(policy_bundle)); 775 provider0_.UpdatePolicy(std::move(policy_bundle));
775 RunUntilIdle(); 776 RunUntilIdle();
776 777
777 EXPECT_TRUE(VerifyPolicies(chrome_namespace, expected_chrome)); 778 EXPECT_TRUE(VerifyPolicies(chrome_namespace, expected_chrome));
778 EXPECT_TRUE(VerifyPolicies(extension_namespace, expected_extension)); 779 EXPECT_TRUE(VerifyPolicies(extension_namespace, expected_extension));
779 } 780 }
780 781
781 } // namespace policy 782 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698