Index: chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc |
diff --git a/chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc b/chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc |
index ae0ead1da91c4bef64ee6c2eff39c2595fc46d83..1574666db1aeaa9096f06fd710629b1c4cc9509e 100644 |
--- a/chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc |
+++ b/chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc |
@@ -3,6 +3,7 @@ |
// found in the LICENSE file. |
#include <memory> |
+#include <string> |
#include "base/macros.h" |
#include "base/values.h" |
@@ -68,22 +69,81 @@ class ArcPolicyBridgeTest : public testing::Test { |
DISALLOW_COPY_AND_ASSIGN(ArcPolicyBridgeTest); |
}; |
-TEST_F(ArcPolicyBridgeTest, GetPoliciesTest) { |
- PolicyStringCallback empty_callback("{}"); |
- policy_bridge()->GetPolicies(empty_callback); |
+TEST_F(ArcPolicyBridgeTest, EmptyPolicyTest) { |
+ // No policy is set, result should be empty. |
+ policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
+} |
+ |
+TEST_F(ArcPolicyBridgeTest, ArcApplicationPolicyTest) { |
+ policy_map().Set( |
+ "ArcApplicationPolicy", policy::POLICY_LEVEL_MANDATORY, |
+ policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
+ new base::StringValue( |
+ "{\"applications\":" |
+ "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," |
+ "\"installType\":\"REQUIRED\"," |
+ "\"lockTaskAllowed\":false," |
+ "\"permissionGrants\":[]" |
+ "}]," |
+ "\"defaultPermissionPolicy\":\"GRANT\"" |
+ "}"), |
+ nullptr); |
+ policy_bridge()->GetPolicies(PolicyStringCallback( |
+ "{\"applications\":" |
+ "[{\"installType\":\"REQUIRED\"," |
+ "\"lockTaskAllowed\":false," |
+ "\"packageName\":\"com.google.android.apps.youtube.kids\"," |
+ "\"permissionGrants\":[]" |
+ "}]," |
+ "\"defaultPermissionPolicy\":\"GRANT\"" |
+ "}")); |
+} |
+ |
+TEST_F(ArcPolicyBridgeTest, HompageLocationTest) { |
+ // This policy will not be passed on, result should be empty. |
policy_map().Set("HomepageLocation", policy::POLICY_LEVEL_MANDATORY, |
policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
new base::StringValue("http://chromium.org"), nullptr); |
- policy_bridge()->GetPolicies(empty_callback); |
+ policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
+} |
+ |
+TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { |
+ policy_map().Set("VideoCaptureAllowed", policy::POLICY_LEVEL_MANDATORY, |
+ policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
+ new base::FundamentalValue(false), nullptr); |
+ policy_bridge()->GetPolicies( |
+ PolicyStringCallback("{\"cameraDisabled\":true}")); |
+} |
+ |
+TEST_F(ArcPolicyBridgeTest, AllPoliciesTest) { |
+ // Keep them in alphabetical order. |
policy_map().Set( |
"ArcApplicationPolicy", policy::POLICY_LEVEL_MANDATORY, |
policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
- new base::StringValue("{\"application\": \"com.android.chrome\"}"), |
+ new base::StringValue("{\"applications\":" |
+ "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," |
+ "\"installType\":\"REQUIRED\"," |
+ "\"lockTaskAllowed\":false," |
+ "\"permissionGrants\":[]" |
+ "}]," |
+ "\"defaultPermissionPolicy\":\"GRANT\"}"), |
nullptr); |
- PolicyStringCallback chrome_callback( |
- "{\"ArcApplicationPolicy\":" |
- "\"{\\\"application\\\": \\\"com.android.chrome\\\"}\"}"); |
- policy_bridge()->GetPolicies(chrome_callback); |
+ policy_map().Set("HomepageLocation", policy::POLICY_LEVEL_MANDATORY, |
+ policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
+ new base::StringValue("http://chromium.org"), nullptr); |
+ policy_map().Set("VideoCaptureAllowed", policy::POLICY_LEVEL_MANDATORY, |
+ policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
+ new base::FundamentalValue(false), nullptr); |
+ policy_bridge()->GetPolicies(PolicyStringCallback( |
+ "{\"applications\":" |
+ "[{\"installType\":\"REQUIRED\"," |
+ "\"lockTaskAllowed\":false," |
+ "\"packageName\":\"com.google.android.apps.youtube.kids\"," |
+ "\"permissionGrants\":[]" |
+ "}]," |
+ "\"cameraDisabled\":true," |
+ "\"defaultPermissionPolicy\":\"GRANT\"" |
+ "}")); |
} |
} // namespace arc |