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

Side by Side Diff: chrome/browser/policy/configuration_policy_pref_store_unittest.cc

Issue 8586030: Added ConfigurationPolicyProvider::RefreshPolicies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/file_path.h" 5 #include "base/file_path.h"
6 #include "base/memory/ref_counted.h" 6 #include "base/memory/ref_counted.h"
7 #include "chrome/browser/policy/configuration_policy_pref_store.h" 7 #include "chrome/browser/policy/configuration_policy_pref_store.h"
8 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 8 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
9 #include "chrome/browser/prefs/incognito_mode_prefs.h" 9 #include "chrome/browser/prefs/incognito_mode_prefs.h"
10 #include "chrome/browser/prefs/proxy_config_dictionary.h" 10 #include "chrome/browser/prefs/proxy_config_dictionary.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 54 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
55 EXPECT_EQ(PrefStore::READ_NO_VALUE, 55 EXPECT_EQ(PrefStore::READ_NO_VALUE,
56 store_->GetValue(GetParam().pref_name(), NULL)); 56 store_->GetValue(GetParam().pref_name(), NULL));
57 } 57 }
58 58
59 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 59 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
60 ListValue* in_value = new ListValue(); 60 ListValue* in_value = new ListValue();
61 in_value->Append(Value::CreateStringValue("test1")); 61 in_value->Append(Value::CreateStringValue("test1"));
62 in_value->Append(Value::CreateStringValue("test2,")); 62 in_value->Append(Value::CreateStringValue("test2,"));
63 provider_.AddPolicy(GetParam().type(), in_value); 63 provider_.AddPolicy(GetParam().type(), in_value);
64 store_->OnUpdatePolicy(); 64 store_->OnUpdatePolicy(&provider_);
65 const Value* value = NULL; 65 const Value* value = NULL;
66 EXPECT_EQ(PrefStore::READ_OK, 66 EXPECT_EQ(PrefStore::READ_OK,
67 store_->GetValue(GetParam().pref_name(), &value)); 67 store_->GetValue(GetParam().pref_name(), &value));
68 ASSERT_TRUE(value); 68 ASSERT_TRUE(value);
69 EXPECT_TRUE(in_value->Equals(value)); 69 EXPECT_TRUE(in_value->Equals(value));
70 } 70 }
71 71
72 INSTANTIATE_TEST_CASE_P( 72 INSTANTIATE_TEST_CASE_P(
73 ConfigurationPolicyPrefStoreListTestInstance, 73 ConfigurationPolicyPrefStoreListTestInstance,
74 ConfigurationPolicyPrefStoreListTest, 74 ConfigurationPolicyPrefStoreListTest,
(...skipping 26 matching lines...) Expand all
101 }; 101 };
102 102
103 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 103 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
104 EXPECT_EQ(PrefStore::READ_NO_VALUE, 104 EXPECT_EQ(PrefStore::READ_NO_VALUE,
105 store_->GetValue(GetParam().pref_name(), NULL)); 105 store_->GetValue(GetParam().pref_name(), NULL));
106 } 106 }
107 107
108 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 108 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
109 provider_.AddPolicy(GetParam().type(), 109 provider_.AddPolicy(GetParam().type(),
110 Value::CreateStringValue("http://chromium.org")); 110 Value::CreateStringValue("http://chromium.org"));
111 store_->OnUpdatePolicy(); 111 store_->OnUpdatePolicy(&provider_);
112 const Value* value = NULL; 112 const Value* value = NULL;
113 EXPECT_EQ(PrefStore::READ_OK, 113 EXPECT_EQ(PrefStore::READ_OK,
114 store_->GetValue(GetParam().pref_name(), &value)); 114 store_->GetValue(GetParam().pref_name(), &value));
115 ASSERT_TRUE(value); 115 ASSERT_TRUE(value);
116 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); 116 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value));
117 } 117 }
118 118
119 INSTANTIATE_TEST_CASE_P( 119 INSTANTIATE_TEST_CASE_P(
120 ConfigurationPolicyPrefStoreStringTestInstance, 120 ConfigurationPolicyPrefStoreStringTestInstance,
121 ConfigurationPolicyPrefStoreStringTest, 121 ConfigurationPolicyPrefStoreStringTest,
(...skipping 29 matching lines...) Expand all
151 testing::TestWithParam<TypeAndName> > { 151 testing::TestWithParam<TypeAndName> > {
152 }; 152 };
153 153
154 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 154 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
155 EXPECT_EQ(PrefStore::READ_NO_VALUE, 155 EXPECT_EQ(PrefStore::READ_NO_VALUE,
156 store_->GetValue(GetParam().pref_name(), NULL)); 156 store_->GetValue(GetParam().pref_name(), NULL));
157 } 157 }
158 158
159 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 159 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
160 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false)); 160 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false));
161 store_->OnUpdatePolicy(); 161 store_->OnUpdatePolicy(&provider_);
162 const Value* value = NULL; 162 const Value* value = NULL;
163 EXPECT_EQ(PrefStore::READ_OK, 163 EXPECT_EQ(PrefStore::READ_OK,
164 store_->GetValue(GetParam().pref_name(), &value)); 164 store_->GetValue(GetParam().pref_name(), &value));
165 ASSERT_TRUE(value); 165 ASSERT_TRUE(value);
166 bool boolean_value = true; 166 bool boolean_value = true;
167 bool result = value->GetAsBoolean(&boolean_value); 167 bool result = value->GetAsBoolean(&boolean_value);
168 ASSERT_TRUE(result); 168 ASSERT_TRUE(result);
169 EXPECT_FALSE(boolean_value); 169 EXPECT_FALSE(boolean_value);
170 170
171 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true)); 171 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true));
172 store_->OnUpdatePolicy(); 172 store_->OnUpdatePolicy(&provider_);
173 value = NULL; 173 value = NULL;
174 EXPECT_EQ(PrefStore::READ_OK, 174 EXPECT_EQ(PrefStore::READ_OK,
175 store_->GetValue(GetParam().pref_name(), &value)); 175 store_->GetValue(GetParam().pref_name(), &value));
176 boolean_value = false; 176 boolean_value = false;
177 result = value->GetAsBoolean(&boolean_value); 177 result = value->GetAsBoolean(&boolean_value);
178 ASSERT_TRUE(result); 178 ASSERT_TRUE(result);
179 EXPECT_TRUE(boolean_value); 179 EXPECT_TRUE(boolean_value);
180 } 180 }
181 181
182 INSTANTIATE_TEST_CASE_P( 182 INSTANTIATE_TEST_CASE_P(
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 testing::TestWithParam<TypeAndName> > { 271 testing::TestWithParam<TypeAndName> > {
272 }; 272 };
273 273
274 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 274 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
275 EXPECT_EQ(PrefStore::READ_NO_VALUE, 275 EXPECT_EQ(PrefStore::READ_NO_VALUE,
276 store_->GetValue(GetParam().pref_name(), NULL)); 276 store_->GetValue(GetParam().pref_name(), NULL));
277 } 277 }
278 278
279 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 279 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
280 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2)); 280 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2));
281 store_->OnUpdatePolicy(); 281 store_->OnUpdatePolicy(&provider_);
282 const Value* value = NULL; 282 const Value* value = NULL;
283 EXPECT_EQ(PrefStore::READ_OK, 283 EXPECT_EQ(PrefStore::READ_OK,
284 store_->GetValue(GetParam().pref_name(), &value)); 284 store_->GetValue(GetParam().pref_name(), &value));
285 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 285 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
286 } 286 }
287 287
288 INSTANTIATE_TEST_CASE_P( 288 INSTANTIATE_TEST_CASE_P(
289 ConfigurationPolicyPrefStoreIntegerTestInstance, 289 ConfigurationPolicyPrefStoreIntegerTestInstance,
290 ConfigurationPolicyPrefStoreIntegerTest, 290 ConfigurationPolicyPrefStoreIntegerTest,
291 testing::Values( 291 testing::Values(
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 823 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
824 }; 824 };
825 825
826 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 826 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
827 EXPECT_EQ(PrefStore::READ_NO_VALUE, 827 EXPECT_EQ(PrefStore::READ_NO_VALUE,
828 store_->GetValue(prefs::kSyncManaged, NULL)); 828 store_->GetValue(prefs::kSyncManaged, NULL));
829 } 829 }
830 830
831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
832 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); 832 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false));
833 store_->OnUpdatePolicy(); 833 store_->OnUpdatePolicy(&provider_);
834 // Enabling Sync should not set the pref. 834 // Enabling Sync should not set the pref.
835 EXPECT_EQ(PrefStore::READ_NO_VALUE, 835 EXPECT_EQ(PrefStore::READ_NO_VALUE,
836 store_->GetValue(prefs::kSyncManaged, NULL)); 836 store_->GetValue(prefs::kSyncManaged, NULL));
837 } 837 }
838 838
839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
840 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); 840 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true));
841 store_->OnUpdatePolicy(); 841 store_->OnUpdatePolicy(&provider_);
842 // Sync should be flagged as managed. 842 // Sync should be flagged as managed.
843 const Value* value = NULL; 843 const Value* value = NULL;
844 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 844 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
845 ASSERT_TRUE(value); 845 ASSERT_TRUE(value);
846 bool sync_managed = false; 846 bool sync_managed = false;
847 bool result = value->GetAsBoolean(&sync_managed); 847 bool result = value->GetAsBoolean(&sync_managed);
848 ASSERT_TRUE(result); 848 ASSERT_TRUE(result);
849 EXPECT_TRUE(sync_managed); 849 EXPECT_TRUE(sync_managed);
850 } 850 }
851 851
852 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 852 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
853 // influence the PromptForDownload preference. 853 // influence the PromptForDownload preference.
854 class ConfigurationPolicyPrefStorePromptDownloadTest 854 class ConfigurationPolicyPrefStorePromptDownloadTest
855 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 855 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
856 }; 856 };
857 857
858 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 858 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
859 EXPECT_EQ(PrefStore::READ_NO_VALUE, 859 EXPECT_EQ(PrefStore::READ_NO_VALUE,
860 store_->GetValue(prefs::kPromptForDownload, NULL)); 860 store_->GetValue(prefs::kPromptForDownload, NULL));
861 } 861 }
862 862
863 #if !defined(OS_CHROMEOS) 863 #if !defined(OS_CHROMEOS)
864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
865 EXPECT_EQ(PrefStore::READ_NO_VALUE, 865 EXPECT_EQ(PrefStore::READ_NO_VALUE,
866 store_->GetValue(prefs::kPromptForDownload, NULL)); 866 store_->GetValue(prefs::kPromptForDownload, NULL));
867 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); 867 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue(""));
868 store_->OnUpdatePolicy(); 868 store_->OnUpdatePolicy(&provider_);
869 869
870 // Setting a DownloadDirectory should disable the PromptForDownload pref. 870 // Setting a DownloadDirectory should disable the PromptForDownload pref.
871 const Value* value = NULL; 871 const Value* value = NULL;
872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
873 &value)); 873 &value));
874 ASSERT_TRUE(value); 874 ASSERT_TRUE(value);
875 bool prompt_for_download = true; 875 bool prompt_for_download = true;
876 bool result = value->GetAsBoolean(&prompt_for_download); 876 bool result = value->GetAsBoolean(&prompt_for_download);
877 ASSERT_TRUE(result); 877 ASSERT_TRUE(result);
878 EXPECT_FALSE(prompt_for_download); 878 EXPECT_FALSE(prompt_for_download);
879 } 879 }
880 #endif // !defined(OS_CHROMEOS) 880 #endif // !defined(OS_CHROMEOS)
881 881
882 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 882 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
883 EnableFileSelectionDialogs) { 883 EnableFileSelectionDialogs) {
884 EXPECT_EQ(PrefStore::READ_NO_VALUE, 884 EXPECT_EQ(PrefStore::READ_NO_VALUE,
885 store_->GetValue(prefs::kPromptForDownload, NULL)); 885 store_->GetValue(prefs::kPromptForDownload, NULL));
886 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 886 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs,
887 Value::CreateBooleanValue(true)); 887 Value::CreateBooleanValue(true));
888 store_->OnUpdatePolicy(); 888 store_->OnUpdatePolicy(&provider_);
889 889
890 // Allowing file-selection dialogs should not influence the PromptForDownload 890 // Allowing file-selection dialogs should not influence the PromptForDownload
891 // pref. 891 // pref.
892 EXPECT_EQ(PrefStore::READ_NO_VALUE, 892 EXPECT_EQ(PrefStore::READ_NO_VALUE,
893 store_->GetValue(prefs::kPromptForDownload, NULL)); 893 store_->GetValue(prefs::kPromptForDownload, NULL));
894 } 894 }
895 895
896 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 896 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
897 DisableFileSelectionDialogs) { 897 DisableFileSelectionDialogs) {
898 EXPECT_EQ(PrefStore::READ_NO_VALUE, 898 EXPECT_EQ(PrefStore::READ_NO_VALUE,
899 store_->GetValue(prefs::kPromptForDownload, NULL)); 899 store_->GetValue(prefs::kPromptForDownload, NULL));
900 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 900 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs,
901 Value::CreateBooleanValue(false)); 901 Value::CreateBooleanValue(false));
902 store_->OnUpdatePolicy(); 902 store_->OnUpdatePolicy(&provider_);
903 903
904 // Disabling file-selection dialogs should disable the PromptForDownload pref. 904 // Disabling file-selection dialogs should disable the PromptForDownload pref.
905 const Value* value = NULL; 905 const Value* value = NULL;
906 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 906 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
907 &value)); 907 &value));
908 ASSERT_TRUE(value); 908 ASSERT_TRUE(value);
909 bool prompt_for_download = true; 909 bool prompt_for_download = true;
910 bool result = value->GetAsBoolean(&prompt_for_download); 910 bool result = value->GetAsBoolean(&prompt_for_download);
911 ASSERT_TRUE(result); 911 ASSERT_TRUE(result);
912 EXPECT_FALSE(prompt_for_download); 912 EXPECT_FALSE(prompt_for_download);
913 } 913 }
914 914
915 // Test cases for the Autofill policy setting. 915 // Test cases for the Autofill policy setting.
916 class ConfigurationPolicyPrefStoreAutofillTest 916 class ConfigurationPolicyPrefStoreAutofillTest
917 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 917 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
918 }; 918 };
919 919
920 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 920 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, 921 EXPECT_EQ(PrefStore::READ_NO_VALUE,
922 store_->GetValue(prefs::kAutofillEnabled, NULL)); 922 store_->GetValue(prefs::kAutofillEnabled, NULL));
923 } 923 }
924 924
925 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 925 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
926 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); 926 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true));
927 store_->OnUpdatePolicy(); 927 store_->OnUpdatePolicy(&provider_);
928 // Enabling Autofill should not set the pref. 928 // Enabling Autofill should not set the pref.
929 EXPECT_EQ(PrefStore::READ_NO_VALUE, 929 EXPECT_EQ(PrefStore::READ_NO_VALUE,
930 store_->GetValue(prefs::kAutofillEnabled, NULL)); 930 store_->GetValue(prefs::kAutofillEnabled, NULL));
931 } 931 }
932 932
933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
934 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); 934 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
935 store_->OnUpdatePolicy(); 935 store_->OnUpdatePolicy(&provider_);
936 // Disabling Autofill should switch the pref to managed. 936 // Disabling Autofill should switch the pref to managed.
937 const Value* value = NULL; 937 const Value* value = NULL;
938 EXPECT_EQ(PrefStore::READ_OK, 938 EXPECT_EQ(PrefStore::READ_OK,
939 store_->GetValue(prefs::kAutofillEnabled, &value)); 939 store_->GetValue(prefs::kAutofillEnabled, &value));
940 ASSERT_TRUE(value); 940 ASSERT_TRUE(value);
941 bool autofill_enabled = true; 941 bool autofill_enabled = true;
942 bool result = value->GetAsBoolean(&autofill_enabled); 942 bool result = value->GetAsBoolean(&autofill_enabled);
943 ASSERT_TRUE(result); 943 ASSERT_TRUE(result);
944 EXPECT_FALSE(autofill_enabled); 944 EXPECT_FALSE(autofill_enabled);
945 } 945 }
(...skipping 14 matching lines...) Expand all
960 }; 960 };
961 961
962 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 962 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
963 const Value* value = NULL; 963 const Value* value = NULL;
964 EXPECT_EQ(PrefStore::READ_NO_VALUE, 964 EXPECT_EQ(PrefStore::READ_NO_VALUE,
965 store_->GetValue(prefs::kHomePage, NULL)); 965 store_->GetValue(prefs::kHomePage, NULL));
966 966
967 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 967 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
968 provider_.AddPolicy(kPolicyHomepageLocation, 968 provider_.AddPolicy(kPolicyHomepageLocation,
969 Value::CreateStringValue("http://www.chromium.org")); 969 Value::CreateStringValue("http://www.chromium.org"));
970 store_->OnUpdatePolicy(); 970 store_->OnUpdatePolicy(&provider_);
971 Mock::VerifyAndClearExpectations(&observer_); 971 Mock::VerifyAndClearExpectations(&observer_);
972 EXPECT_EQ(PrefStore::READ_OK, 972 EXPECT_EQ(PrefStore::READ_OK,
973 store_->GetValue(prefs::kHomePage, &value)); 973 store_->GetValue(prefs::kHomePage, &value));
974 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); 974 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value));
975 975
976 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 976 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
977 store_->OnUpdatePolicy(); 977 store_->OnUpdatePolicy(&provider_);
978 Mock::VerifyAndClearExpectations(&observer_); 978 Mock::VerifyAndClearExpectations(&observer_);
979 979
980 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 980 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
981 provider_.RemovePolicy(kPolicyHomepageLocation); 981 provider_.RemovePolicy(kPolicyHomepageLocation);
982 store_->OnUpdatePolicy(); 982 store_->OnUpdatePolicy(&provider_);
983 Mock::VerifyAndClearExpectations(&observer_); 983 Mock::VerifyAndClearExpectations(&observer_);
984 EXPECT_EQ(PrefStore::READ_NO_VALUE, 984 EXPECT_EQ(PrefStore::READ_NO_VALUE,
985 store_->GetValue(prefs::kHomePage, NULL)); 985 store_->GetValue(prefs::kHomePage, NULL));
986 } 986 }
987 987
988 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 988 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
989 EXPECT_FALSE(store_->IsInitializationComplete()); 989 EXPECT_FALSE(store_->IsInitializationComplete());
990 990
991 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 991 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
992 992
993 provider_.SetInitializationComplete(true); 993 provider_.SetInitializationComplete(true);
994 EXPECT_FALSE(store_->IsInitializationComplete()); 994 EXPECT_FALSE(store_->IsInitializationComplete());
995 995
996 store_->OnUpdatePolicy(); 996 store_->OnUpdatePolicy(&provider_);
997 Mock::VerifyAndClearExpectations(&observer_); 997 Mock::VerifyAndClearExpectations(&observer_);
998 EXPECT_TRUE(store_->IsInitializationComplete()); 998 EXPECT_TRUE(store_->IsInitializationComplete());
999 } 999 }
1000 1000
1001 // Tests for policies that don't quite fit the previous patterns. 1001 // Tests for policies that don't quite fit the previous patterns.
1002 class ConfigurationPolicyPrefStoreOthersTest 1002 class ConfigurationPolicyPrefStoreOthersTest
1003 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1003 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
1004 }; 1004 };
1005 1005
1006 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1006 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1007 // This is a boolean policy, but affects an integer preference. 1007 // This is a boolean policy, but affects an integer preference.
1008 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1008 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1009 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1009 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1010 provider_.AddPolicy(kPolicyJavascriptEnabled, 1010 provider_.AddPolicy(kPolicyJavascriptEnabled,
1011 Value::CreateBooleanValue(true)); 1011 Value::CreateBooleanValue(true));
1012 store_->OnUpdatePolicy(); 1012 store_->OnUpdatePolicy(&provider_);
1013 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1013 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1014 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1014 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1015 provider_.AddPolicy(kPolicyJavascriptEnabled, 1015 provider_.AddPolicy(kPolicyJavascriptEnabled,
1016 Value::CreateBooleanValue(false)); 1016 Value::CreateBooleanValue(false));
1017 store_->OnUpdatePolicy(); 1017 store_->OnUpdatePolicy(&provider_);
1018 const Value* value = NULL; 1018 const Value* value = NULL;
1019 EXPECT_EQ(PrefStore::READ_OK, 1019 EXPECT_EQ(PrefStore::READ_OK,
1020 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1020 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1021 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1021 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1022 } 1022 }
1023 1023
1024 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1024 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1025 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1025 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1026 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1026 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1027 provider_.AddPolicy(kPolicyJavascriptEnabled, 1027 provider_.AddPolicy(kPolicyJavascriptEnabled,
1028 Value::CreateBooleanValue(false)); 1028 Value::CreateBooleanValue(false));
1029 store_->OnUpdatePolicy(); 1029 store_->OnUpdatePolicy(&provider_);
1030 const Value* value = NULL; 1030 const Value* value = NULL;
1031 EXPECT_EQ(PrefStore::READ_OK, 1031 EXPECT_EQ(PrefStore::READ_OK,
1032 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1032 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1033 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1033 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1034 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1034 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1035 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, 1035 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting,
1036 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1036 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1037 store_->OnUpdatePolicy(); 1037 store_->OnUpdatePolicy(&provider_);
1038 EXPECT_EQ(PrefStore::READ_OK, 1038 EXPECT_EQ(PrefStore::READ_OK,
1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1040 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1040 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1041 } 1041 }
1042 1042
1043 } // namespace policy 1043 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_pref_store.cc ('k') | chrome/browser/policy/configuration_policy_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698