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

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

Issue 2664753002: Remove base::StringValue (Closed)
Patch Set: Rebase Created 3 years, 9 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 <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 // Helper that fills |bundle| with test policies. 50 // Helper that fills |bundle| with test policies.
51 void AddTestPolicies(PolicyBundle* bundle, 51 void AddTestPolicies(PolicyBundle* bundle,
52 const char* value, 52 const char* value,
53 PolicyLevel level, 53 PolicyLevel level,
54 PolicyScope scope) { 54 PolicyScope scope) {
55 PolicyMap* policy_map = 55 PolicyMap* policy_map =
56 &bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())); 56 &bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()));
57 policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 57 policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
58 POLICY_SOURCE_ENTERPRISE_DEFAULT, 58 POLICY_SOURCE_ENTERPRISE_DEFAULT,
59 base::MakeUnique<base::StringValue>(value), nullptr); 59 base::MakeUnique<base::Value>(value), nullptr);
60 policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM, 60 policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
61 base::MakeUnique<base::StringValue>(value), nullptr); 61 base::MakeUnique<base::Value>(value), nullptr);
62 policy_map = 62 policy_map =
63 &bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension)); 63 &bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension));
64 policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 64 policy_map->Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
65 POLICY_SOURCE_ENTERPRISE_DEFAULT, 65 POLICY_SOURCE_ENTERPRISE_DEFAULT,
66 base::MakeUnique<base::StringValue>(value), nullptr); 66 base::MakeUnique<base::Value>(value), nullptr);
67 policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM, 67 policy_map->Set(kDiffLevelPolicy, level, scope, POLICY_SOURCE_PLATFORM,
68 base::MakeUnique<base::StringValue>(value), nullptr); 68 base::MakeUnique<base::Value>(value), nullptr);
69 } 69 }
70 70
71 // Observer class that changes the policy in the passed provider when the 71 // Observer class that changes the policy in the passed provider when the
72 // callback is invoked. 72 // callback is invoked.
73 class ChangePolicyObserver : public PolicyService::Observer { 73 class ChangePolicyObserver : public PolicyService::Observer {
74 public: 74 public:
75 explicit ChangePolicyObserver(MockConfigurationPolicyProvider* provider) 75 explicit ChangePolicyObserver(MockConfigurationPolicyProvider* provider)
76 : provider_(provider), 76 : provider_(provider),
77 observer_invoked_(false) {} 77 observer_invoked_(false) {}
78 78
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 policy_service_->AddObserver(POLICY_DOMAIN_CHROME, &chrome_observer); 260 policy_service_->AddObserver(POLICY_DOMAIN_CHROME, &chrome_observer);
261 policy_service_->AddObserver(POLICY_DOMAIN_EXTENSIONS, &extension_observer); 261 policy_service_->AddObserver(POLICY_DOMAIN_EXTENSIONS, &extension_observer);
262 262
263 PolicyMap previous_policy_map; 263 PolicyMap previous_policy_map;
264 previous_policy_map.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 264 previous_policy_map.Set("pre", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
265 POLICY_SOURCE_ENTERPRISE_DEFAULT, 265 POLICY_SOURCE_ENTERPRISE_DEFAULT,
266 base::MakeUnique<base::Value>(13), nullptr); 266 base::MakeUnique<base::Value>(13), nullptr);
267 PolicyMap policy_map; 267 PolicyMap policy_map;
268 policy_map.CopyFrom(previous_policy_map); 268 policy_map.CopyFrom(previous_policy_map);
269 policy_map.Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 269 policy_map.Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
270 POLICY_SOURCE_CLOUD, 270 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>("value"),
271 base::MakeUnique<base::StringValue>("value"), nullptr); 271 nullptr);
272 272
273 std::unique_ptr<PolicyBundle> bundle(new PolicyBundle()); 273 std::unique_ptr<PolicyBundle> bundle(new PolicyBundle());
274 // The initial setup includes a policy for chrome that is now changing. 274 // The initial setup includes a policy for chrome that is now changing.
275 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 275 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
276 .CopyFrom(policy_map); 276 .CopyFrom(policy_map);
277 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0)) 277 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0))
278 .CopyFrom(policy_map); 278 .CopyFrom(policy_map);
279 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1)) 279 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1))
280 .CopyFrom(policy_map); 280 .CopyFrom(policy_map);
281 281
(...skipping 19 matching lines...) Expand all
301 Mock::VerifyAndClearExpectations(&extension_observer); 301 Mock::VerifyAndClearExpectations(&extension_observer);
302 302
303 // Chrome policy stays the same, kExtension0 is gone, kExtension1 changes, 303 // Chrome policy stays the same, kExtension0 is gone, kExtension1 changes,
304 // and kExtension2 is new. 304 // and kExtension2 is new.
305 previous_policy_map.CopyFrom(policy_map); 305 previous_policy_map.CopyFrom(policy_map);
306 bundle.reset(new PolicyBundle()); 306 bundle.reset(new PolicyBundle());
307 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 307 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
308 .CopyFrom(policy_map); 308 .CopyFrom(policy_map);
309 policy_map.Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 309 policy_map.Set("policy", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
310 POLICY_SOURCE_CLOUD, 310 POLICY_SOURCE_CLOUD,
311 base::MakeUnique<base::StringValue>("another value"), nullptr); 311 base::MakeUnique<base::Value>("another value"), nullptr);
312 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1)) 312 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension1))
313 .CopyFrom(policy_map); 313 .CopyFrom(policy_map);
314 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension2)) 314 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension2))
315 .CopyFrom(policy_map); 315 .CopyFrom(policy_map);
316 316
317 EXPECT_CALL(chrome_observer, OnPolicyUpdated(_, _, _)).Times(0); 317 EXPECT_CALL(chrome_observer, OnPolicyUpdated(_, _, _)).Times(0);
318 EXPECT_CALL( 318 EXPECT_CALL(
319 extension_observer, 319 extension_observer,
320 OnPolicyUpdated(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0), 320 OnPolicyUpdated(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension0),
321 PolicyEquals(&previous_policy_map), 321 PolicyEquals(&previous_policy_map),
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 provider0_.UpdatePolicy(std::move(bundle0)); 529 provider0_.UpdatePolicy(std::move(bundle0));
530 provider1_.UpdatePolicy(std::move(bundle1)); 530 provider1_.UpdatePolicy(std::move(bundle1));
531 provider2_.UpdatePolicy(std::move(bundle2)); 531 provider2_.UpdatePolicy(std::move(bundle2));
532 RunUntilIdle(); 532 RunUntilIdle();
533 533
534 PolicyMap expected; 534 PolicyMap expected;
535 // For policies of the same level and scope, the first provider takes 535 // For policies of the same level and scope, the first provider takes
536 // precedence, on every namespace. 536 // precedence, on every namespace.
537 expected.Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 537 expected.Set(kSameLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
538 POLICY_SOURCE_ENTERPRISE_DEFAULT, 538 POLICY_SOURCE_ENTERPRISE_DEFAULT,
539 base::MakeUnique<base::StringValue>("bundle0"), nullptr); 539 base::MakeUnique<base::Value>("bundle0"), nullptr);
540 // For policies with different levels and scopes, the highest priority 540 // For policies with different levels and scopes, the highest priority
541 // level/scope combination takes precedence, on every namespace. 541 // level/scope combination takes precedence, on every namespace.
542 expected.Set(kDiffLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 542 expected.Set(kDiffLevelPolicy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
543 POLICY_SOURCE_PLATFORM, 543 POLICY_SOURCE_PLATFORM, base::MakeUnique<base::Value>("bundle2"),
544 base::MakeUnique<base::StringValue>("bundle2"), nullptr); 544 nullptr);
545 EXPECT_TRUE(policy_service_->GetPolicies( 545 EXPECT_TRUE(policy_service_->GetPolicies(
546 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())).Equals(expected)); 546 PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())).Equals(expected));
547 EXPECT_TRUE(policy_service_->GetPolicies( 547 EXPECT_TRUE(policy_service_->GetPolicies(
548 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension)).Equals(expected)); 548 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, kExtension)).Equals(expected));
549 } 549 }
550 550
551 TEST_F(PolicyServiceTest, IsInitializationComplete) { 551 TEST_F(PolicyServiceTest, IsInitializationComplete) {
552 // |provider0| has all domains initialized. 552 // |provider0| has all domains initialized.
553 Mock::VerifyAndClearExpectations(&provider1_); 553 Mock::VerifyAndClearExpectations(&provider1_);
554 Mock::VerifyAndClearExpectations(&provider2_); 554 Mock::VerifyAndClearExpectations(&provider2_);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 // Individual proxy policy values in the Chrome namespace should be collected 663 // Individual proxy policy values in the Chrome namespace should be collected
664 // into a dictionary. 664 // into a dictionary.
665 policy_map.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, 665 policy_map.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
666 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 666 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
667 base::MakeUnique<base::Value>(3), nullptr); 667 base::MakeUnique<base::Value>(3), nullptr);
668 668
669 // Both these policies should be ignored, since there's a higher priority 669 // Both these policies should be ignored, since there's a higher priority
670 // policy available. 670 // policy available.
671 policy_map.Set(key::kProxyMode, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 671 policy_map.Set(key::kProxyMode, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
672 POLICY_SOURCE_CLOUD, 672 POLICY_SOURCE_CLOUD,
673 base::MakeUnique<base::StringValue>("pac_script"), nullptr); 673 base::MakeUnique<base::Value>("pac_script"), nullptr);
674 policy_map.Set(key::kProxyPacUrl, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 674 policy_map.Set(key::kProxyPacUrl, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
675 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>( 675 POLICY_SOURCE_CLOUD,
676 "http://example.com/wpad.dat"), 676 base::MakeUnique<base::Value>("http://example.com/wpad.dat"),
677 nullptr); 677 nullptr);
678 678
679 // Add a value to a non-Chrome namespace. 679 // Add a value to a non-Chrome namespace.
680 policy_bundle->Get(extension_namespace) 680 policy_bundle->Get(extension_namespace)
681 .Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 681 .Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
682 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(3), nullptr); 682 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(3), nullptr);
683 683
684 // The resulting Chrome namespace map should have the collected policy. 684 // The resulting Chrome namespace map should have the collected policy.
685 PolicyMap expected_chrome; 685 PolicyMap expected_chrome;
686 std::unique_ptr<base::DictionaryValue> expected_value( 686 std::unique_ptr<base::DictionaryValue> expected_value(
(...skipping 10 matching lines...) Expand all
697 base::MakeUnique<base::Value>(3), nullptr); 697 base::MakeUnique<base::Value>(3), nullptr);
698 698
699 provider0_.UpdatePolicy(std::move(policy_bundle)); 699 provider0_.UpdatePolicy(std::move(policy_bundle));
700 RunUntilIdle(); 700 RunUntilIdle();
701 701
702 EXPECT_TRUE(VerifyPolicies(chrome_namespace, expected_chrome)); 702 EXPECT_TRUE(VerifyPolicies(chrome_namespace, expected_chrome));
703 EXPECT_TRUE(VerifyPolicies(extension_namespace, expected_extension)); 703 EXPECT_TRUE(VerifyPolicies(extension_namespace, expected_extension));
704 } 704 }
705 705
706 } // namespace policy 706 } // namespace policy
OLDNEW
« no previous file with comments | « components/policy/core/common/policy_map_unittest.cc ('k') | components/policy/core/common/preg_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698