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

Unified Diff: chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc

Issue 18153007: Add policies to control power management on the Chrome OS login screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Correct example in policy_templates.json. Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc
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 5e1099046e64439cc9e3a6c3771922692682f7d3..761c82f230f11074c85f3369d8190c3fd8aaccdd 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

Powered by Google App Engine
This is Rietveld 408576698