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

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

Issue 1304843004: Add source column to chrome://policy showing the origins of policies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed platform-specific tests. Created 5 years, 3 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_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 <userenv.h> 8 #include <userenv.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 ASSERT_HRESULT_SUCCEEDED(RegOverridePredefKey(HKEY_CURRENT_USER, 0)); 326 ASSERT_HRESULT_SUCCEEDED(RegOverridePredefKey(HKEY_CURRENT_USER, 0));
327 } 327 }
328 328
329 void ScopedGroupPolicyRegistrySandbox::DeleteKeys() { 329 void ScopedGroupPolicyRegistrySandbox::DeleteKeys() {
330 RegKey key(HKEY_CURRENT_USER, key_name_.c_str(), KEY_ALL_ACCESS); 330 RegKey key(HKEY_CURRENT_USER, key_name_.c_str(), KEY_ALL_ACCESS);
331 ASSERT_TRUE(key.Valid()); 331 ASSERT_TRUE(key.Valid());
332 key.DeleteKey(L""); 332 key.DeleteKey(L"");
333 } 333 }
334 334
335 RegistryTestHarness::RegistryTestHarness(HKEY hive, PolicyScope scope) 335 RegistryTestHarness::RegistryTestHarness(HKEY hive, PolicyScope scope)
336 : PolicyProviderTestHarness(POLICY_LEVEL_MANDATORY, scope), hive_(hive) {} 336 : PolicyProviderTestHarness(POLICY_LEVEL_MANDATORY, scope,
337 POLICY_SOURCE_PLATFORM),
338 hive_(hive) {}
337 339
338 RegistryTestHarness::~RegistryTestHarness() {} 340 RegistryTestHarness::~RegistryTestHarness() {}
339 341
340 void RegistryTestHarness::SetUp() {} 342 void RegistryTestHarness::SetUp() {}
341 343
342 ConfigurationPolicyProvider* RegistryTestHarness::CreateProvider( 344 ConfigurationPolicyProvider* RegistryTestHarness::CreateProvider(
343 SchemaRegistry* registry, 345 SchemaRegistry* registry,
344 scoped_refptr<base::SequencedTaskRunner> task_runner) { 346 scoped_refptr<base::SequencedTaskRunner> task_runner) {
345 base::win::SetDomainStateForTesting(true); 347 base::win::SetDomainStateForTesting(true);
346 scoped_ptr<AsyncPolicyLoader> loader( 348 scoped_ptr<AsyncPolicyLoader> loader(
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 UTF8ToUTF16(test_keys::kKeyString).c_str(), 754 UTF8ToUTF16(test_keys::kKeyString).c_str(),
753 UTF8ToUTF16("registry").c_str()); 755 UTF8ToUTF16("registry").c_str());
754 } 756 }
755 757
756 bool MatchesRegistrySentinel() { 758 bool MatchesRegistrySentinel() {
757 base::DictionaryValue expected_policy; 759 base::DictionaryValue expected_policy;
758 expected_policy.SetString(test_keys::kKeyString, "registry"); 760 expected_policy.SetString(test_keys::kKeyString, "registry");
759 PolicyBundle expected; 761 PolicyBundle expected;
760 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 762 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
761 .LoadFrom(&expected_policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER); 763 .LoadFrom(&expected_policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
764 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
765 .ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
762 return Matches(expected); 766 return Matches(expected);
763 } 767 }
764 768
765 bool MatchesTestBundle() { 769 bool MatchesTestBundle() {
766 base::DictionaryValue expected_policy; 770 base::DictionaryValue expected_policy;
767 expected_policy.SetBoolean(test_keys::kKeyBoolean, true); 771 expected_policy.SetBoolean(test_keys::kKeyBoolean, true);
768 expected_policy.SetString(test_keys::kKeyString, "GPO"); 772 expected_policy.SetString(test_keys::kKeyString, "GPO");
769 expected_policy.SetInteger(test_keys::kKeyInteger, 42); 773 expected_policy.SetInteger(test_keys::kKeyInteger, 42);
770 scoped_ptr<base::ListValue> list(new base::ListValue()); 774 scoped_ptr<base::ListValue> list(new base::ListValue());
771 list->AppendString("GPO 1"); 775 list->AppendString("GPO 1");
772 list->AppendString("GPO 2"); 776 list->AppendString("GPO 2");
773 expected_policy.Set(test_keys::kKeyStringList, list.release()); 777 expected_policy.Set(test_keys::kKeyStringList, list.release());
774 PolicyBundle expected; 778 PolicyBundle expected;
775 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 779 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
776 .LoadFrom(&expected_policy, POLICY_LEVEL_MANDATORY, 780 .LoadFrom(&expected_policy, POLICY_LEVEL_MANDATORY,
777 POLICY_SCOPE_MACHINE); 781 POLICY_SCOPE_MACHINE);
782 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
783 .ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
778 return Matches(expected); 784 return Matches(expected);
779 } 785 }
780 786
781 ScopedGroupPolicyRegistrySandbox registry_sandbox_; 787 ScopedGroupPolicyRegistrySandbox registry_sandbox_;
782 PGROUP_POLICY_OBJECT gpo_list_; 788 PGROUP_POLICY_OBJECT gpo_list_;
783 DWORD gpo_list_status_; 789 DWORD gpo_list_status_;
784 base::FilePath test_data_dir_; 790 base::FilePath test_data_dir_;
785 AppliedGPOListProvider* gpo_list_provider_; 791 AppliedGPOListProvider* gpo_list_provider_;
786 }; 792 };
787 793
788 const base::char16 PolicyLoaderWinTest::kTestPolicyKey[] = 794 const base::char16 PolicyLoaderWinTest::kTestPolicyKey[] =
789 L"SOFTWARE\\Policies\\Chromium"; 795 L"SOFTWARE\\Policies\\Chromium";
790 796
791 TEST_F(PolicyLoaderWinTest, HKLMOverHKCU) { 797 TEST_F(PolicyLoaderWinTest, HKLMOverHKCU) {
792 RegKey hklm_key(HKEY_LOCAL_MACHINE, kTestPolicyKey, KEY_ALL_ACCESS); 798 RegKey hklm_key(HKEY_LOCAL_MACHINE, kTestPolicyKey, KEY_ALL_ACCESS);
793 ASSERT_TRUE(hklm_key.Valid()); 799 ASSERT_TRUE(hklm_key.Valid());
794 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), 800 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(),
795 UTF8ToUTF16("hklm").c_str()); 801 UTF8ToUTF16("hklm").c_str());
796 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS); 802 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS);
797 ASSERT_TRUE(hkcu_key.Valid()); 803 ASSERT_TRUE(hkcu_key.Valid());
798 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), 804 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(),
799 UTF8ToUTF16("hkcu").c_str()); 805 UTF8ToUTF16("hkcu").c_str());
800 806
801 PolicyBundle expected; 807 PolicyBundle expected;
802 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 808 expected.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
803 .Set(test_keys::kKeyString, 809 .SetWithSource(test_keys::kKeyString,
804 POLICY_LEVEL_MANDATORY, 810 POLICY_LEVEL_MANDATORY,
805 POLICY_SCOPE_MACHINE, 811 POLICY_SCOPE_MACHINE,
806 new base::StringValue("hklm"), 812 new base::StringValue("hklm"),
807 NULL); 813 NULL,
814 POLICY_SOURCE_PLATFORM);
808 EXPECT_TRUE(Matches(expected)); 815 EXPECT_TRUE(Matches(expected));
809 } 816 }
810 817
811 TEST_F(PolicyLoaderWinTest, Merge3rdPartyPolicies) { 818 TEST_F(PolicyLoaderWinTest, Merge3rdPartyPolicies) {
812 // Policy for the same extension will be provided at the 4 level/scope 819 // Policy for the same extension will be provided at the 4 level/scope
813 // combinations, to verify that they overlap as expected. 820 // combinations, to verify that they overlap as expected.
814 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "merge"); 821 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "merge");
815 ASSERT_TRUE(RegisterSchema( 822 ASSERT_TRUE(RegisterSchema(
816 ns, 823 ns,
817 "{" 824 "{"
(...skipping 29 matching lines...) Expand all
847 kPathSuffix, kRecommended)); 854 kPathSuffix, kRecommended));
848 policy.SetString("a", kUserRecommended); 855 policy.SetString("a", kUserRecommended);
849 policy.SetString("b", kUserRecommended); 856 policy.SetString("b", kUserRecommended);
850 policy.SetString("c", kUserRecommended); 857 policy.SetString("c", kUserRecommended);
851 policy.SetString("d", kUserRecommended); 858 policy.SetString("d", kUserRecommended);
852 EXPECT_TRUE(InstallValue(policy, HKEY_CURRENT_USER, 859 EXPECT_TRUE(InstallValue(policy, HKEY_CURRENT_USER,
853 kPathSuffix, kRecommended)); 860 kPathSuffix, kRecommended));
854 861
855 PolicyBundle expected; 862 PolicyBundle expected;
856 PolicyMap& expected_policy = expected.Get(ns); 863 PolicyMap& expected_policy = expected.Get(ns);
857 expected_policy.Set("a", 864 expected_policy.SetWithSource("a",
858 POLICY_LEVEL_MANDATORY, 865 POLICY_LEVEL_MANDATORY,
859 POLICY_SCOPE_MACHINE, 866 POLICY_SCOPE_MACHINE,
860 new base::StringValue(kMachineMandatory), 867 new base::StringValue(kMachineMandatory),
861 NULL); 868 NULL,
862 expected_policy.Set("b", 869 POLICY_SOURCE_PLATFORM);
863 POLICY_LEVEL_MANDATORY, 870 expected_policy.SetWithSource("b",
864 POLICY_SCOPE_USER, 871 POLICY_LEVEL_MANDATORY,
865 new base::StringValue(kUserMandatory), 872 POLICY_SCOPE_USER,
866 NULL); 873 new base::StringValue(kUserMandatory),
867 expected_policy.Set("c", 874 NULL,
868 POLICY_LEVEL_RECOMMENDED, 875 POLICY_SOURCE_PLATFORM);
869 POLICY_SCOPE_MACHINE, 876 expected_policy.SetWithSource("c",
870 new base::StringValue(kMachineRecommended), 877 POLICY_LEVEL_RECOMMENDED,
871 NULL); 878 POLICY_SCOPE_MACHINE,
872 expected_policy.Set("d", 879 new base::StringValue(kMachineRecommended),
873 POLICY_LEVEL_RECOMMENDED, 880 NULL,
874 POLICY_SCOPE_USER, 881 POLICY_SOURCE_PLATFORM);
875 new base::StringValue(kUserRecommended), 882 expected_policy.SetWithSource("d",
876 NULL); 883 POLICY_LEVEL_RECOMMENDED,
884 POLICY_SCOPE_USER,
885 new base::StringValue(kUserRecommended),
886 NULL,
887 POLICY_SOURCE_PLATFORM);
877 EXPECT_TRUE(Matches(expected)); 888 EXPECT_TRUE(Matches(expected));
878 } 889 }
879 890
880 TEST_F(PolicyLoaderWinTest, LoadStringEncodedValues) { 891 TEST_F(PolicyLoaderWinTest, LoadStringEncodedValues) {
881 // Create a dictionary with all the types that can be stored encoded in a 892 // Create a dictionary with all the types that can be stored encoded in a
882 // string. 893 // string.
883 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "string"); 894 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "string");
884 ASSERT_TRUE(RegisterSchema( 895 ASSERT_TRUE(RegisterSchema(
885 ns, 896 ns,
886 "{" 897 "{"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 encoded_policy.SetString("list", encoded_list); 935 encoded_policy.SetString("list", encoded_list);
925 encoded_policy.SetString("dict", encoded_dict); 936 encoded_policy.SetString("dict", encoded_dict);
926 937
927 const base::string16 kPathSuffix = 938 const base::string16 kPathSuffix =
928 kTestPolicyKey + base::ASCIIToUTF16("\\3rdparty\\extensions\\string"); 939 kTestPolicyKey + base::ASCIIToUTF16("\\3rdparty\\extensions\\string");
929 EXPECT_TRUE( 940 EXPECT_TRUE(
930 InstallValue(encoded_policy, HKEY_CURRENT_USER, kPathSuffix, kMandatory)); 941 InstallValue(encoded_policy, HKEY_CURRENT_USER, kPathSuffix, kMandatory));
931 942
932 PolicyBundle expected; 943 PolicyBundle expected;
933 expected.Get(ns).LoadFrom(&policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER); 944 expected.Get(ns).LoadFrom(&policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
945 expected.Get(ns).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
934 EXPECT_TRUE(Matches(expected)); 946 EXPECT_TRUE(Matches(expected));
935 } 947 }
936 948
937 TEST_F(PolicyLoaderWinTest, LoadIntegerEncodedValues) { 949 TEST_F(PolicyLoaderWinTest, LoadIntegerEncodedValues) {
938 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "int"); 950 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "int");
939 ASSERT_TRUE(RegisterSchema( 951 ASSERT_TRUE(RegisterSchema(
940 ns, 952 ns,
941 "{" 953 "{"
942 " \"type\": \"object\"," 954 " \"type\": \"object\","
943 " \"properties\": {" 955 " \"properties\": {"
(...skipping 12 matching lines...) Expand all
956 kTestPolicyKey + base::ASCIIToUTF16("\\3rdparty\\extensions\\int"); 968 kTestPolicyKey + base::ASCIIToUTF16("\\3rdparty\\extensions\\int");
957 EXPECT_TRUE( 969 EXPECT_TRUE(
958 InstallValue(encoded_policy, HKEY_CURRENT_USER, kPathSuffix, kMandatory)); 970 InstallValue(encoded_policy, HKEY_CURRENT_USER, kPathSuffix, kMandatory));
959 971
960 base::DictionaryValue policy; 972 base::DictionaryValue policy;
961 policy.SetBoolean("bool", true); 973 policy.SetBoolean("bool", true);
962 policy.SetInteger("int", 123); 974 policy.SetInteger("int", 123);
963 policy.SetDouble("double", 456.0); 975 policy.SetDouble("double", 456.0);
964 PolicyBundle expected; 976 PolicyBundle expected;
965 expected.Get(ns).LoadFrom(&policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER); 977 expected.Get(ns).LoadFrom(&policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
978 expected.Get(ns).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
966 EXPECT_TRUE(Matches(expected)); 979 EXPECT_TRUE(Matches(expected));
967 } 980 }
968 981
969 TEST_F(PolicyLoaderWinTest, DefaultPropertySchemaType) { 982 TEST_F(PolicyLoaderWinTest, DefaultPropertySchemaType) {
970 // Build a schema for an "object" with a default schema for its properties. 983 // Build a schema for an "object" with a default schema for its properties.
971 // Note that the top-level object can't have "additionalProperties", so 984 // Note that the top-level object can't have "additionalProperties", so
972 // a "policy" property is used instead. 985 // a "policy" property is used instead.
973 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "test"); 986 const PolicyNamespace ns(POLICY_DOMAIN_EXTENSIONS, "test");
974 ASSERT_TRUE(RegisterSchema( 987 ASSERT_TRUE(RegisterSchema(
975 ns, 988 ns,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 base::DictionaryValue expected_policy; 1020 base::DictionaryValue expected_policy;
1008 expected_policy.SetInteger("special-int1", 123); 1021 expected_policy.SetInteger("special-int1", 123);
1009 expected_policy.SetInteger("special-int2", -456); 1022 expected_policy.SetInteger("special-int2", -456);
1010 expected_policy.SetDouble("double1", 789.0); 1023 expected_policy.SetDouble("double1", 789.0);
1011 expected_policy.SetDouble("double2", 123.456e7); 1024 expected_policy.SetDouble("double2", 123.456e7);
1012 base::DictionaryValue expected_policies; 1025 base::DictionaryValue expected_policies;
1013 expected_policies.Set("policy", expected_policy.DeepCopy()); 1026 expected_policies.Set("policy", expected_policy.DeepCopy());
1014 PolicyBundle expected; 1027 PolicyBundle expected;
1015 expected.Get(ns).LoadFrom( 1028 expected.Get(ns).LoadFrom(
1016 &expected_policies, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER); 1029 &expected_policies, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
1030 expected.Get(ns).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
1017 EXPECT_TRUE(Matches(expected)); 1031 EXPECT_TRUE(Matches(expected));
1018 } 1032 }
1019 1033
1020 TEST_F(PolicyLoaderWinTest, AppliedPolicyNotPresent) { 1034 TEST_F(PolicyLoaderWinTest, AppliedPolicyNotPresent) {
1021 InstallRegistrySentinel(); 1035 InstallRegistrySentinel();
1022 gpo_list_ = NULL; 1036 gpo_list_ = NULL;
1023 gpo_list_status_ = ERROR_SUCCESS; 1037 gpo_list_status_ = ERROR_SUCCESS;
1024 1038
1025 PolicyBundle empty; 1039 PolicyBundle empty;
1026 EXPECT_TRUE(Matches(empty)); 1040 EXPECT_TRUE(Matches(empty));
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 POLICY_DOMAIN_EXTENSIONS, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); 1187 POLICY_DOMAIN_EXTENSIONS, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
1174 ASSERT_TRUE(RegisterSchema(ns_a, kTestSchema)); 1188 ASSERT_TRUE(RegisterSchema(ns_a, kTestSchema));
1175 ASSERT_TRUE(RegisterSchema(ns_b, kTestSchema)); 1189 ASSERT_TRUE(RegisterSchema(ns_b, kTestSchema));
1176 1190
1177 PolicyBundle expected; 1191 PolicyBundle expected;
1178 base::DictionaryValue expected_a; 1192 base::DictionaryValue expected_a;
1179 expected_a.SetInteger("policy 1", 3); 1193 expected_a.SetInteger("policy 1", 3);
1180 expected_a.SetInteger("policy 2", 3); 1194 expected_a.SetInteger("policy 2", 3);
1181 expected.Get(ns_a).LoadFrom( 1195 expected.Get(ns_a).LoadFrom(
1182 &expected_a, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE); 1196 &expected_a, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE);
1197 expected.Get(ns_a).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
1183 base::DictionaryValue expected_b; 1198 base::DictionaryValue expected_b;
1184 expected_b.SetInteger("policy 1", 2); 1199 expected_b.SetInteger("policy 1", 2);
1185 expected.Get(ns_b).LoadFrom( 1200 expected.Get(ns_b).LoadFrom(
1186 &expected_b, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE); 1201 &expected_b, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE);
1202 expected.Get(ns_b).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
1187 EXPECT_TRUE(Matches(expected)); 1203 EXPECT_TRUE(Matches(expected));
1188 } 1204 }
1189 1205
1190 TEST_F(PolicyLoaderWinTest, LBSSupport) { 1206 TEST_F(PolicyLoaderWinTest, LBSSupport) {
1191 const PolicyNamespace ns( 1207 const PolicyNamespace ns(
1192 POLICY_DOMAIN_EXTENSIONS, "heildphpnddilhkemkielfhnkaagiabh"); 1208 POLICY_DOMAIN_EXTENSIONS, "heildphpnddilhkemkielfhnkaagiabh");
1193 schema_registry_.RegisterComponent(ns, Schema()); 1209 schema_registry_.RegisterComponent(ns, Schema());
1194 1210
1195 const char kIncompleteSchema[] = 1211 const char kIncompleteSchema[] =
1196 "{" 1212 "{"
(...skipping 18 matching lines...) Expand all
1215 EXPECT_TRUE(InstallValue(root, HKEY_LOCAL_MACHINE, 1231 EXPECT_TRUE(InstallValue(root, HKEY_LOCAL_MACHINE,
1216 kPathSuffix, base::ASCIIToUTF16(ns.component_id))); 1232 kPathSuffix, base::ASCIIToUTF16(ns.component_id)));
1217 1233
1218 PolicyBundle expected; 1234 PolicyBundle expected;
1219 PolicyMap& expected_policy = expected.Get(ns); 1235 PolicyMap& expected_policy = expected.Get(ns);
1220 expected_policy.Set("alternative_browser_path", 1236 expected_policy.Set("alternative_browser_path",
1221 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 1237 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
1222 new base::StringValue("c:\\legacy\\browser.exe"), NULL); 1238 new base::StringValue("c:\\legacy\\browser.exe"), NULL);
1223 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 1239 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
1224 list.DeepCopy(), NULL); 1240 list.DeepCopy(), NULL);
1241 expected.Get(ns).ApplySourceToEntries(POLICY_SOURCE_PLATFORM);
1225 EXPECT_TRUE(Matches(expected)); 1242 EXPECT_TRUE(Matches(expected));
1226 } 1243 }
1227 1244
1228 } // namespace policy 1245 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698