| 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
|
|
|