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 |