diff options
Diffstat (limited to 'chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc')
-rw-r--r-- | chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc index 5e10990..761c82f 100644 --- a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc +++ b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc @@ -16,6 +16,32 @@ namespace policy { +namespace { + +const char kLoginScreenPowerManagementPolicy[] = + "{" + " \"AC\": {" + " \"Delays\": {" + " \"ScreenDim\": 5000," + " \"ScreenOff\": 7000," + " \"Idle\": 9000" + " }," + " \"IdleAction\": \"DoNothing\"" + " }," + " \"Battery\": {" + " \"Delays\": {" + " \"ScreenDim\": 1000," + " \"ScreenOff\": 3000," + " \"Idle\": 4000" + " }," + " \"IdleAction\": \"DoNothing\"" + " }," + " \"LidCloseAction\": \"DoNothing\"," + " \"UserActivityScreenDimDelayScale\": 300" + "}"; + +} // namespace + TEST(NetworkConfigurationPolicyHandlerTest, Empty) { PolicyMap policy_map; scoped_ptr<NetworkConfigurationPolicyHandler> handler( @@ -142,4 +168,54 @@ TEST(PinnedLauncherAppsPolicyHandler, PrefTranslation) { EXPECT_TRUE(base::Value::Equals(&expected_pinned_apps, value)); } +TEST(LoginScreenPowerManagementPolicyHandlerTest, Empty) { + PolicyMap policy_map; + LoginScreenPowerManagementPolicyHandler handler; + PolicyErrorMap errors; + EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); + EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); +} + +TEST(LoginScreenPowerManagementPolicyHandlerTest, ValidPolicy) { + PolicyMap policy_map; + policy_map.Set(key::kDeviceLoginScreenPowerManagement, + POLICY_LEVEL_MANDATORY, + POLICY_SCOPE_USER, + Value::CreateStringValue(kLoginScreenPowerManagementPolicy), + NULL); + LoginScreenPowerManagementPolicyHandler handler; + PolicyErrorMap errors; + EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); + EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); +} + +TEST(LoginScreenPowerManagementPolicyHandlerTest, WrongType) { + PolicyMap policy_map; + policy_map.Set(key::kDeviceLoginScreenPowerManagement, + POLICY_LEVEL_MANDATORY, + POLICY_SCOPE_USER, + Value::CreateBooleanValue(false), + NULL); + LoginScreenPowerManagementPolicyHandler handler; + PolicyErrorMap errors; + EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); + EXPECT_FALSE( + errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); +} + +TEST(LoginScreenPowerManagementPolicyHandlerTest, JSONParseError) { + const std::string policy("I'm not proper JSON!"); + PolicyMap policy_map; + policy_map.Set(key::kDeviceLoginScreenPowerManagement, + POLICY_LEVEL_MANDATORY, + POLICY_SCOPE_USER, + Value::CreateStringValue(policy), + NULL); + LoginScreenPowerManagementPolicyHandler handler; + PolicyErrorMap errors; + EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); + EXPECT_FALSE( + errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); +} + } // namespace policy |