| OLD | NEW |
| 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_loader_win.h" | 5 #include "components/policy/core/common/policy_loader_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 #include <userenv.h> | 10 #include <userenv.h> |
| (...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), | 805 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), |
| 806 UTF8ToUTF16("hklm").c_str()); | 806 UTF8ToUTF16("hklm").c_str()); |
| 807 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS); | 807 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS); |
| 808 ASSERT_TRUE(hkcu_key.Valid()); | 808 ASSERT_TRUE(hkcu_key.Valid()); |
| 809 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), | 809 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), |
| 810 UTF8ToUTF16("hkcu").c_str()); | 810 UTF8ToUTF16("hkcu").c_str()); |
| 811 | 811 |
| 812 PolicyBundle expected; | 812 PolicyBundle expected; |
| 813 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) | 813 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) |
| 814 .Set(test_keys::kKeyString, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 814 .Set(test_keys::kKeyString, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
| 815 POLICY_SOURCE_PLATFORM, base::MakeUnique<base::StringValue>("hklm"), | 815 POLICY_SOURCE_PLATFORM, base::MakeUnique<base::Value>("hklm"), |
| 816 nullptr); | 816 nullptr); |
| 817 EXPECT_TRUE(Matches(expected)); | 817 EXPECT_TRUE(Matches(expected)); |
| 818 } | 818 } |
| 819 | 819 |
| 820 TEST_F(PolicyLoaderWinTest, Merge3rdPartyPolicies) { | 820 TEST_F(PolicyLoaderWinTest, Merge3rdPartyPolicies) { |
| 821 // Policy for the same extension will be provided at the 4 level/scope | 821 // Policy for the same extension will be provided at the 4 level/scope |
| 822 // combinations, to verify that they overlap as expected. | 822 // combinations, to verify that they overlap as expected. |
| 823 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "merge"); | 823 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "merge"); |
| 824 ASSERT_TRUE(RegisterSchema( | 824 ASSERT_TRUE(RegisterSchema( |
| 825 ns, | 825 ns, |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 858 policy.SetString("b", kUserRecommended); | 858 policy.SetString("b", kUserRecommended); |
| 859 policy.SetString("c", kUserRecommended); | 859 policy.SetString("c", kUserRecommended); |
| 860 policy.SetString("d", kUserRecommended); | 860 policy.SetString("d", kUserRecommended); |
| 861 EXPECT_TRUE(InstallValue(policy, HKEY_CURRENT_USER, | 861 EXPECT_TRUE(InstallValue(policy, HKEY_CURRENT_USER, |
| 862 kPathSuffix, kRecommended)); | 862 kPathSuffix, kRecommended)); |
| 863 | 863 |
| 864 PolicyBundle expected; | 864 PolicyBundle expected; |
| 865 PolicyMap& expected_policy = expected.Get(ns); | 865 PolicyMap& expected_policy = expected.Get(ns); |
| 866 expected_policy.Set( | 866 expected_policy.Set( |
| 867 "a", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM, | 867 "a", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM, |
| 868 base::MakeUnique<base::StringValue>(kMachineMandatory), nullptr); | 868 base::MakeUnique<base::Value>(kMachineMandatory), nullptr); |
| 869 expected_policy.Set( | 869 expected_policy.Set("b", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 870 "b", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_PLATFORM, | 870 POLICY_SOURCE_PLATFORM, |
| 871 base::MakeUnique<base::StringValue>(kUserMandatory), nullptr); | 871 base::MakeUnique<base::Value>(kUserMandatory), nullptr); |
| 872 expected_policy.Set("c", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, | 872 expected_policy.Set("c", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, |
| 873 POLICY_SOURCE_PLATFORM, | 873 POLICY_SOURCE_PLATFORM, |
| 874 base::MakeUnique<base::StringValue>(kMachineRecommended), | 874 base::MakeUnique<base::Value>(kMachineRecommended), |
| 875 nullptr); | 875 nullptr); |
| 876 expected_policy.Set( | 876 expected_policy.Set("d", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, |
| 877 "d", POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, POLICY_SOURCE_PLATFORM, | 877 POLICY_SOURCE_PLATFORM, |
| 878 base::MakeUnique<base::StringValue>(kUserRecommended), nullptr); | 878 base::MakeUnique<base::Value>(kUserRecommended), nullptr); |
| 879 EXPECT_TRUE(Matches(expected)); | 879 EXPECT_TRUE(Matches(expected)); |
| 880 } | 880 } |
| 881 | 881 |
| 882 TEST_F(PolicyLoaderWinTest, LoadStringEncodedValues) { | 882 TEST_F(PolicyLoaderWinTest, LoadStringEncodedValues) { |
| 883 // Create a dictionary with all the types that can be stored encoded in a | 883 // Create a dictionary with all the types that can be stored encoded in a |
| 884 // string. | 884 // string. |
| 885 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "string"); | 885 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "string"); |
| 886 ASSERT_TRUE(RegisterSchema( | 886 ASSERT_TRUE(RegisterSchema( |
| 887 ns, | 887 ns, |
| 888 "{" | 888 "{" |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1185 expected.Get(ns_a).LoadFrom(&expected_a, POLICY_LEVEL_MANDATORY, | 1185 expected.Get(ns_a).LoadFrom(&expected_a, POLICY_LEVEL_MANDATORY, |
| 1186 POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM); | 1186 POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM); |
| 1187 base::DictionaryValue expected_b; | 1187 base::DictionaryValue expected_b; |
| 1188 expected_b.SetInteger("policy 1", 2); | 1188 expected_b.SetInteger("policy 1", 2); |
| 1189 expected.Get(ns_b).LoadFrom(&expected_b, POLICY_LEVEL_MANDATORY, | 1189 expected.Get(ns_b).LoadFrom(&expected_b, POLICY_LEVEL_MANDATORY, |
| 1190 POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM); | 1190 POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM); |
| 1191 EXPECT_TRUE(Matches(expected)); | 1191 EXPECT_TRUE(Matches(expected)); |
| 1192 } | 1192 } |
| 1193 | 1193 |
| 1194 } // namespace policy | 1194 } // namespace policy |
| OLD | NEW |