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

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: Simpler AsyncLoader, fixed unit_tests, added connector::RefreshPolicies 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 527 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 819 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
820 }; 820 };
821 821
822 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 822 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
823 EXPECT_EQ(PrefStore::READ_NO_VALUE, 823 EXPECT_EQ(PrefStore::READ_NO_VALUE,
824 store_->GetValue(prefs::kSyncManaged, NULL)); 824 store_->GetValue(prefs::kSyncManaged, NULL));
825 } 825 }
826 826
827 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 827 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
828 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); 828 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false));
829 store_->OnUpdatePolicy(); 829 store_->OnUpdatePolicy(&provider_);
830 // Enabling Sync should not set the pref. 830 // Enabling Sync should not set the pref.
831 EXPECT_EQ(PrefStore::READ_NO_VALUE, 831 EXPECT_EQ(PrefStore::READ_NO_VALUE,
832 store_->GetValue(prefs::kSyncManaged, NULL)); 832 store_->GetValue(prefs::kSyncManaged, NULL));
833 } 833 }
834 834
835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
836 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); 836 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true));
837 store_->OnUpdatePolicy(); 837 store_->OnUpdatePolicy(&provider_);
838 // Sync should be flagged as managed. 838 // Sync should be flagged as managed.
839 const Value* value = NULL; 839 const Value* value = NULL;
840 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 840 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
841 ASSERT_TRUE(value); 841 ASSERT_TRUE(value);
842 bool sync_managed = false; 842 bool sync_managed = false;
843 bool result = value->GetAsBoolean(&sync_managed); 843 bool result = value->GetAsBoolean(&sync_managed);
844 ASSERT_TRUE(result); 844 ASSERT_TRUE(result);
845 EXPECT_TRUE(sync_managed); 845 EXPECT_TRUE(sync_managed);
846 } 846 }
847 847
848 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 848 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
849 // influence the PromptForDownload preference. 849 // influence the PromptForDownload preference.
850 class ConfigurationPolicyPrefStorePromptDownloadTest 850 class ConfigurationPolicyPrefStorePromptDownloadTest
851 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 851 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
852 }; 852 };
853 853
854 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 854 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
855 EXPECT_EQ(PrefStore::READ_NO_VALUE, 855 EXPECT_EQ(PrefStore::READ_NO_VALUE,
856 store_->GetValue(prefs::kPromptForDownload, NULL)); 856 store_->GetValue(prefs::kPromptForDownload, NULL));
857 } 857 }
858 858
859 #if !defined(OS_CHROMEOS) 859 #if !defined(OS_CHROMEOS)
860 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 860 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
861 EXPECT_EQ(PrefStore::READ_NO_VALUE, 861 EXPECT_EQ(PrefStore::READ_NO_VALUE,
862 store_->GetValue(prefs::kPromptForDownload, NULL)); 862 store_->GetValue(prefs::kPromptForDownload, NULL));
863 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); 863 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue(""));
864 store_->OnUpdatePolicy(); 864 store_->OnUpdatePolicy(&provider_);
865 865
866 // Setting a DownloadDirectory should disable the PromptForDownload pref. 866 // Setting a DownloadDirectory should disable the PromptForDownload pref.
867 const Value* value = NULL; 867 const Value* value = NULL;
868 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 868 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
869 &value)); 869 &value));
870 ASSERT_TRUE(value); 870 ASSERT_TRUE(value);
871 bool prompt_for_download = true; 871 bool prompt_for_download = true;
872 bool result = value->GetAsBoolean(&prompt_for_download); 872 bool result = value->GetAsBoolean(&prompt_for_download);
873 ASSERT_TRUE(result); 873 ASSERT_TRUE(result);
874 EXPECT_FALSE(prompt_for_download); 874 EXPECT_FALSE(prompt_for_download);
875 } 875 }
876 #endif // !defined(OS_CHROMEOS) 876 #endif // !defined(OS_CHROMEOS)
877 877
878 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 878 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
879 EnableFileSelectionDialogs) { 879 EnableFileSelectionDialogs) {
880 EXPECT_EQ(PrefStore::READ_NO_VALUE, 880 EXPECT_EQ(PrefStore::READ_NO_VALUE,
881 store_->GetValue(prefs::kPromptForDownload, NULL)); 881 store_->GetValue(prefs::kPromptForDownload, NULL));
882 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 882 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs,
883 Value::CreateBooleanValue(true)); 883 Value::CreateBooleanValue(true));
884 store_->OnUpdatePolicy(); 884 store_->OnUpdatePolicy(&provider_);
885 885
886 // Allowing file-selection dialogs should not influence the PromptForDownload 886 // Allowing file-selection dialogs should not influence the PromptForDownload
887 // pref. 887 // pref.
888 EXPECT_EQ(PrefStore::READ_NO_VALUE, 888 EXPECT_EQ(PrefStore::READ_NO_VALUE,
889 store_->GetValue(prefs::kPromptForDownload, NULL)); 889 store_->GetValue(prefs::kPromptForDownload, NULL));
890 } 890 }
891 891
892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
893 DisableFileSelectionDialogs) { 893 DisableFileSelectionDialogs) {
894 EXPECT_EQ(PrefStore::READ_NO_VALUE, 894 EXPECT_EQ(PrefStore::READ_NO_VALUE,
895 store_->GetValue(prefs::kPromptForDownload, NULL)); 895 store_->GetValue(prefs::kPromptForDownload, NULL));
896 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 896 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs,
897 Value::CreateBooleanValue(false)); 897 Value::CreateBooleanValue(false));
898 store_->OnUpdatePolicy(); 898 store_->OnUpdatePolicy(&provider_);
899 899
900 // Disabling file-selection dialogs should disable the PromptForDownload pref. 900 // Disabling file-selection dialogs should disable the PromptForDownload pref.
901 const Value* value = NULL; 901 const Value* value = NULL;
902 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 902 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
903 &value)); 903 &value));
904 ASSERT_TRUE(value); 904 ASSERT_TRUE(value);
905 bool prompt_for_download = true; 905 bool prompt_for_download = true;
906 bool result = value->GetAsBoolean(&prompt_for_download); 906 bool result = value->GetAsBoolean(&prompt_for_download);
907 ASSERT_TRUE(result); 907 ASSERT_TRUE(result);
908 EXPECT_FALSE(prompt_for_download); 908 EXPECT_FALSE(prompt_for_download);
909 } 909 }
910 910
911 // Test cases for the Autofill policy setting. 911 // Test cases for the Autofill policy setting.
912 class ConfigurationPolicyPrefStoreAutofillTest 912 class ConfigurationPolicyPrefStoreAutofillTest
913 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 913 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
914 }; 914 };
915 915
916 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 916 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
917 EXPECT_EQ(PrefStore::READ_NO_VALUE, 917 EXPECT_EQ(PrefStore::READ_NO_VALUE,
918 store_->GetValue(prefs::kAutofillEnabled, NULL)); 918 store_->GetValue(prefs::kAutofillEnabled, NULL));
919 } 919 }
920 920
921 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 921 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
922 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); 922 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true));
923 store_->OnUpdatePolicy(); 923 store_->OnUpdatePolicy(&provider_);
924 // Enabling Autofill should not set the pref. 924 // Enabling Autofill should not set the pref.
925 EXPECT_EQ(PrefStore::READ_NO_VALUE, 925 EXPECT_EQ(PrefStore::READ_NO_VALUE,
926 store_->GetValue(prefs::kAutofillEnabled, NULL)); 926 store_->GetValue(prefs::kAutofillEnabled, NULL));
927 } 927 }
928 928
929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
930 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); 930 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
931 store_->OnUpdatePolicy(); 931 store_->OnUpdatePolicy(&provider_);
932 // Disabling Autofill should switch the pref to managed. 932 // Disabling Autofill should switch the pref to managed.
933 const Value* value = NULL; 933 const Value* value = NULL;
934 EXPECT_EQ(PrefStore::READ_OK, 934 EXPECT_EQ(PrefStore::READ_OK,
935 store_->GetValue(prefs::kAutofillEnabled, &value)); 935 store_->GetValue(prefs::kAutofillEnabled, &value));
936 ASSERT_TRUE(value); 936 ASSERT_TRUE(value);
937 bool autofill_enabled = true; 937 bool autofill_enabled = true;
938 bool result = value->GetAsBoolean(&autofill_enabled); 938 bool result = value->GetAsBoolean(&autofill_enabled);
939 ASSERT_TRUE(result); 939 ASSERT_TRUE(result);
940 EXPECT_FALSE(autofill_enabled); 940 EXPECT_FALSE(autofill_enabled);
941 } 941 }
(...skipping 14 matching lines...) Expand all
956 }; 956 };
957 957
958 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 958 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
959 const Value* value = NULL; 959 const Value* value = NULL;
960 EXPECT_EQ(PrefStore::READ_NO_VALUE, 960 EXPECT_EQ(PrefStore::READ_NO_VALUE,
961 store_->GetValue(prefs::kHomePage, NULL)); 961 store_->GetValue(prefs::kHomePage, NULL));
962 962
963 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 963 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
964 provider_.AddPolicy(kPolicyHomepageLocation, 964 provider_.AddPolicy(kPolicyHomepageLocation,
965 Value::CreateStringValue("http://www.chromium.org")); 965 Value::CreateStringValue("http://www.chromium.org"));
966 store_->OnUpdatePolicy(); 966 store_->OnUpdatePolicy(&provider_);
967 Mock::VerifyAndClearExpectations(&observer_); 967 Mock::VerifyAndClearExpectations(&observer_);
968 EXPECT_EQ(PrefStore::READ_OK, 968 EXPECT_EQ(PrefStore::READ_OK,
969 store_->GetValue(prefs::kHomePage, &value)); 969 store_->GetValue(prefs::kHomePage, &value));
970 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); 970 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value));
971 971
972 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 972 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
973 store_->OnUpdatePolicy(); 973 store_->OnUpdatePolicy(&provider_);
974 Mock::VerifyAndClearExpectations(&observer_); 974 Mock::VerifyAndClearExpectations(&observer_);
975 975
976 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 976 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
977 provider_.RemovePolicy(kPolicyHomepageLocation); 977 provider_.RemovePolicy(kPolicyHomepageLocation);
978 store_->OnUpdatePolicy(); 978 store_->OnUpdatePolicy(&provider_);
979 Mock::VerifyAndClearExpectations(&observer_); 979 Mock::VerifyAndClearExpectations(&observer_);
980 EXPECT_EQ(PrefStore::READ_NO_VALUE, 980 EXPECT_EQ(PrefStore::READ_NO_VALUE,
981 store_->GetValue(prefs::kHomePage, NULL)); 981 store_->GetValue(prefs::kHomePage, NULL));
982 } 982 }
983 983
984 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 984 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
985 EXPECT_FALSE(store_->IsInitializationComplete()); 985 EXPECT_FALSE(store_->IsInitializationComplete());
986 986
987 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 987 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
988 988
989 provider_.SetInitializationComplete(true); 989 provider_.SetInitializationComplete(true);
990 EXPECT_FALSE(store_->IsInitializationComplete()); 990 EXPECT_FALSE(store_->IsInitializationComplete());
991 991
992 store_->OnUpdatePolicy(); 992 store_->OnUpdatePolicy(&provider_);
993 Mock::VerifyAndClearExpectations(&observer_); 993 Mock::VerifyAndClearExpectations(&observer_);
994 EXPECT_TRUE(store_->IsInitializationComplete()); 994 EXPECT_TRUE(store_->IsInitializationComplete());
995 } 995 }
996 996
997 // Tests for policies that don't quite fit the previous patterns. 997 // Tests for policies that don't quite fit the previous patterns.
998 class ConfigurationPolicyPrefStoreOthersTest 998 class ConfigurationPolicyPrefStoreOthersTest
999 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 999 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
1000 }; 1000 };
1001 1001
1002 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1002 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1003 // This is a boolean policy, but affects an integer preference. 1003 // This is a boolean policy, but affects an integer preference.
1004 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1004 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1005 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1005 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1006 provider_.AddPolicy(kPolicyJavascriptEnabled, 1006 provider_.AddPolicy(kPolicyJavascriptEnabled,
1007 Value::CreateBooleanValue(true)); 1007 Value::CreateBooleanValue(true));
1008 store_->OnUpdatePolicy(); 1008 store_->OnUpdatePolicy(&provider_);
1009 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1009 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1010 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1010 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1011 provider_.AddPolicy(kPolicyJavascriptEnabled, 1011 provider_.AddPolicy(kPolicyJavascriptEnabled,
1012 Value::CreateBooleanValue(false)); 1012 Value::CreateBooleanValue(false));
1013 store_->OnUpdatePolicy(); 1013 store_->OnUpdatePolicy(&provider_);
1014 const Value* value = NULL; 1014 const Value* value = NULL;
1015 EXPECT_EQ(PrefStore::READ_OK, 1015 EXPECT_EQ(PrefStore::READ_OK,
1016 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1016 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1017 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1017 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1018 } 1018 }
1019 1019
1020 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1020 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1021 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1021 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1023 provider_.AddPolicy(kPolicyJavascriptEnabled, 1023 provider_.AddPolicy(kPolicyJavascriptEnabled,
1024 Value::CreateBooleanValue(false)); 1024 Value::CreateBooleanValue(false));
1025 store_->OnUpdatePolicy(); 1025 store_->OnUpdatePolicy(&provider_);
1026 const Value* value = NULL; 1026 const Value* value = NULL;
1027 EXPECT_EQ(PrefStore::READ_OK, 1027 EXPECT_EQ(PrefStore::READ_OK,
1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1029 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1029 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1030 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1030 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1031 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, 1031 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting,
1032 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1032 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1033 store_->OnUpdatePolicy(); 1033 store_->OnUpdatePolicy(&provider_);
1034 EXPECT_EQ(PrefStore::READ_OK, 1034 EXPECT_EQ(PrefStore::READ_OK,
1035 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1035 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1036 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1036 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1037 } 1037 }
1038 1038
1039 } // namespace policy 1039 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698