| OLD | NEW |
| 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 <algorithm> | 5 #include <algorithm> |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/json/json_value_serializer.h" | 8 #include "base/json/json_value_serializer.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/scoped_temp_dir.h" | 10 #include "base/scoped_temp_dir.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 loop_.RunAllPending(); | 179 loop_.RunAllPending(); |
| 180 } | 180 } |
| 181 | 181 |
| 182 private: | 182 private: |
| 183 MessageLoop loop_; | 183 MessageLoop loop_; |
| 184 BrowserThread ui_thread_; | 184 BrowserThread ui_thread_; |
| 185 BrowserThread file_thread_; | 185 BrowserThread file_thread_; |
| 186 }; | 186 }; |
| 187 | 187 |
| 188 TEST_P(ConfigDirPolicyProviderValueTest, Default) { | 188 TEST_P(ConfigDirPolicyProviderValueTest, Default) { |
| 189 ConfigDirPolicyProvider provider( | 189 ConfigDirPolicyProvider provider(GetChromePolicyDefinitionList(), test_dir()); |
| 190 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | |
| 191 test_dir()); | |
| 192 PolicyMap policy_map; | 190 PolicyMap policy_map; |
| 193 EXPECT_TRUE(provider.Provide(&policy_map)); | 191 EXPECT_TRUE(provider.Provide(&policy_map)); |
| 194 EXPECT_TRUE(policy_map.empty()); | 192 EXPECT_TRUE(policy_map.empty()); |
| 195 } | 193 } |
| 196 | 194 |
| 197 TEST_P(ConfigDirPolicyProviderValueTest, NullValue) { | 195 TEST_P(ConfigDirPolicyProviderValueTest, NullValue) { |
| 198 DictionaryValue dict; | 196 DictionaryValue dict; |
| 199 dict.Set(GetParam().policy_key(), Value::CreateNullValue()); | 197 dict.Set(GetParam().policy_key(), Value::CreateNullValue()); |
| 200 WriteConfigFile(dict, "empty"); | 198 WriteConfigFile(dict, "empty"); |
| 201 ConfigDirPolicyProvider provider( | 199 ConfigDirPolicyProvider provider(GetChromePolicyDefinitionList(), test_dir()); |
| 202 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | |
| 203 test_dir()); | |
| 204 PolicyMap policy_map; | 200 PolicyMap policy_map; |
| 205 EXPECT_TRUE(provider.Provide(&policy_map)); | 201 EXPECT_TRUE(provider.Provide(&policy_map)); |
| 206 EXPECT_TRUE(policy_map.empty()); | 202 EXPECT_TRUE(policy_map.empty()); |
| 207 } | 203 } |
| 208 | 204 |
| 209 TEST_P(ConfigDirPolicyProviderValueTest, TestValue) { | 205 TEST_P(ConfigDirPolicyProviderValueTest, TestValue) { |
| 210 DictionaryValue dict; | 206 DictionaryValue dict; |
| 211 dict.Set(GetParam().policy_key(), GetParam().test_value()->DeepCopy()); | 207 dict.Set(GetParam().policy_key(), GetParam().test_value()->DeepCopy()); |
| 212 WriteConfigFile(dict, "policy"); | 208 WriteConfigFile(dict, "policy"); |
| 213 ConfigDirPolicyProvider provider( | 209 ConfigDirPolicyProvider provider(GetChromePolicyDefinitionList(), test_dir()); |
| 214 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | |
| 215 test_dir()); | |
| 216 PolicyMap policy_map; | 210 PolicyMap policy_map; |
| 217 EXPECT_TRUE(provider.Provide(&policy_map)); | 211 EXPECT_TRUE(provider.Provide(&policy_map)); |
| 218 EXPECT_EQ(1U, policy_map.size()); | 212 EXPECT_EQ(1U, policy_map.size()); |
| 219 const Value* value = policy_map.Get(GetParam().type()); | 213 const Value* value = policy_map.Get(GetParam().type()); |
| 220 ASSERT_TRUE(value); | 214 ASSERT_TRUE(value); |
| 221 EXPECT_TRUE(GetParam().test_value()->Equals(value)); | 215 EXPECT_TRUE(GetParam().test_value()->Equals(value)); |
| 222 } | 216 } |
| 223 | 217 |
| 224 // Test parameters for all supported policies. | 218 // Test parameters for all supported policies. testing::Values() has a limit of |
| 219 // 50 parameters which is reached in this instantiation; new policies should go |
| 220 // in a new instantiation. |
| 225 INSTANTIATE_TEST_CASE_P( | 221 INSTANTIATE_TEST_CASE_P( |
| 226 ConfigDirPolicyProviderValueTestInstance, | 222 ConfigDirPolicyProviderValueTestInstance, |
| 227 ConfigDirPolicyProviderValueTest, | 223 ConfigDirPolicyProviderValueTest, |
| 228 testing::Values( | 224 testing::Values( |
| 229 ValueTestParams::ForStringPolicy( | 225 ValueTestParams::ForStringPolicy( |
| 230 kPolicyHomepageLocation, | 226 kPolicyHomepageLocation, |
| 231 key::kHomepageLocation), | 227 key::kHomepageLocation), |
| 232 ValueTestParams::ForBooleanPolicy( | 228 ValueTestParams::ForBooleanPolicy( |
| 233 kPolicyHomepageIsNewTabPage, | 229 kPolicyHomepageIsNewTabPage, |
| 234 key::kHomepageIsNewTabPage), | 230 key::kHomepageIsNewTabPage), |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 key::kExtensionInstallWhitelist), | 317 key::kExtensionInstallWhitelist), |
| 322 ValueTestParams::ForListPolicy( | 318 ValueTestParams::ForListPolicy( |
| 323 kPolicyExtensionInstallBlacklist, | 319 kPolicyExtensionInstallBlacklist, |
| 324 key::kExtensionInstallBlacklist), | 320 key::kExtensionInstallBlacklist), |
| 325 ValueTestParams::ForBooleanPolicy( | 321 ValueTestParams::ForBooleanPolicy( |
| 326 kPolicyShowHomeButton, | 322 kPolicyShowHomeButton, |
| 327 key::kShowHomeButton), | 323 key::kShowHomeButton), |
| 328 ValueTestParams::ForBooleanPolicy( | 324 ValueTestParams::ForBooleanPolicy( |
| 329 kPolicyPrintingEnabled, | 325 kPolicyPrintingEnabled, |
| 330 key::kPrintingEnabled), | 326 key::kPrintingEnabled), |
| 331 ValueTestParams::ForIntegerPolicy( | |
| 332 kPolicyDevicePolicyRefreshRate, | |
| 333 key::kDevicePolicyRefreshRate), | |
| 334 ValueTestParams::ForIntegerPolicy( | |
| 335 kPolicyPolicyRefreshRate, | |
| 336 key::kPolicyRefreshRate), | |
| 337 ValueTestParams::ForBooleanPolicy( | 327 ValueTestParams::ForBooleanPolicy( |
| 338 kPolicyInstantEnabled, | 328 kPolicyInstantEnabled, |
| 339 key::kInstantEnabled), | 329 key::kInstantEnabled), |
| 340 ValueTestParams::ForIntegerPolicy( | 330 ValueTestParams::ForIntegerPolicy( |
| 341 kPolicyIncognitoModeAvailability, | 331 kPolicyIncognitoModeAvailability, |
| 342 key::kIncognitoModeAvailability), | 332 key::kIncognitoModeAvailability), |
| 343 ValueTestParams::ForBooleanPolicy( | 333 ValueTestParams::ForBooleanPolicy( |
| 344 kPolicyDisablePluginFinder, | 334 kPolicyDisablePluginFinder, |
| 345 key::kDisablePluginFinder), | 335 key::kDisablePluginFinder), |
| 346 ValueTestParams::ForBooleanPolicy( | 336 ValueTestParams::ForBooleanPolicy( |
| (...skipping 21 matching lines...) Expand all Loading... |
| 368 kPolicyBookmarkBarEnabled, | 358 kPolicyBookmarkBarEnabled, |
| 369 key::kBookmarkBarEnabled), | 359 key::kBookmarkBarEnabled), |
| 370 ValueTestParams::ForBooleanPolicy( | 360 ValueTestParams::ForBooleanPolicy( |
| 371 kPolicyEditBookmarksEnabled, | 361 kPolicyEditBookmarksEnabled, |
| 372 key::kEditBookmarksEnabled), | 362 key::kEditBookmarksEnabled), |
| 373 ValueTestParams::ForListPolicy( | 363 ValueTestParams::ForListPolicy( |
| 374 kPolicyDisabledSchemes, | 364 kPolicyDisabledSchemes, |
| 375 key::kDisabledSchemes), | 365 key::kDisabledSchemes), |
| 376 ValueTestParams::ForStringPolicy( | 366 ValueTestParams::ForStringPolicy( |
| 377 kPolicyDiskCacheDir, | 367 kPolicyDiskCacheDir, |
| 378 key::kDiskCacheDir))); | 368 key::kDiskCacheDir), |
| 379 | |
| 380 // testing::Values has a limit of 50 test templates, which is reached by the | |
| 381 // instantiations above. Add tests for new policies here: | |
| 382 INSTANTIATE_TEST_CASE_P( | |
| 383 ConfigDirPolicyProviderValueTestInstance2, | |
| 384 ConfigDirPolicyProviderValueTest, | |
| 385 testing::Values( | |
| 386 ValueTestParams::ForListPolicy( | 369 ValueTestParams::ForListPolicy( |
| 387 kPolicyURLBlacklist, | 370 kPolicyURLBlacklist, |
| 388 key::kURLBlacklist), | 371 key::kURLBlacklist), |
| 389 ValueTestParams::ForListPolicy( | 372 ValueTestParams::ForListPolicy( |
| 390 kPolicyURLWhitelist, | 373 kPolicyURLWhitelist, |
| 391 key::kURLWhitelist))); | 374 key::kURLWhitelist))); |
| 392 | 375 |
| 376 // Test parameters for all policies that are supported on ChromeOS only. |
| 377 #if defined(OS_CHROMEOS) |
| 378 INSTANTIATE_TEST_CASE_P( |
| 379 ConfigDirPolicyProviderValueTestChromeOSInstance, |
| 380 ConfigDirPolicyProviderValueTest, |
| 381 testing::Values( |
| 382 ValueTestParams::ForIntegerPolicy( |
| 383 kPolicyPolicyRefreshRate, |
| 384 key::kPolicyRefreshRate))); |
| 385 #endif |
| 386 |
| 393 } // namespace policy | 387 } // namespace policy |
| OLD | NEW |