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..855c64683f9669c438543d2a78d8ffcf891f92dd 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,57 @@ 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("{\"application\": \"com.android.chrome\"}"), |
+ nullptr); |
+ policy_bridge()->GetPolicies(PolicyStringCallback( |
+ "{\"ArcApplicationPolicy\":" |
+ "\"{\\\"application\\\": \\\"com.android.chrome\\\"}\"}")); |
+} |
+ |
+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("{\"VideoCaptureAllowed\":false}")); |
+} |
+ |
+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\"}"), |
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( |
+ "{" |
+ "\"ArcApplicationPolicy\":" |
+ "\"{\\\"application\\\": \\\"com.android.chrome\\\"}\"," |
+ "\"VideoCaptureAllowed\":false" |
+ "}")); |
} |
} // namespace arc |