summaryrefslogtreecommitdiffstats
path: root/components/sync_driver/sync_policy_handler_unittest.cc
diff options
context:
space:
mode:
authormaxbogue <maxbogue@chromium.org>2015-08-06 11:57:16 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-06 18:58:02 +0000
commitf987cca61f037bcbaa2cc68a8781ffdaa1138e20 (patch)
tree26a591c2f0a0c4dfbee2dcf9cfdc2ae5dc11d2b9 /components/sync_driver/sync_policy_handler_unittest.cc
parente791f20199dbc67f1908409b24102d0a3438b6d2 (diff)
downloadchromium_src-f987cca61f037bcbaa2cc68a8781ffdaa1138e20.zip
chromium_src-f987cca61f037bcbaa2cc68a8781ffdaa1138e20.tar.gz
chromium_src-f987cca61f037bcbaa2cc68a8781ffdaa1138e20.tar.bz2
[Sync] Componentize sync_policy_handler.
BUG=512484 TBR=bartfab@chromium.org Review URL: https://codereview.chromium.org/1265893002 Cr-Commit-Position: refs/heads/master@{#342165}
Diffstat (limited to 'components/sync_driver/sync_policy_handler_unittest.cc')
-rw-r--r--components/sync_driver/sync_policy_handler_unittest.cc62
1 files changed, 62 insertions, 0 deletions
diff --git a/components/sync_driver/sync_policy_handler_unittest.cc b/components/sync_driver/sync_policy_handler_unittest.cc
new file mode 100644
index 0000000..e0f2c0d
--- /dev/null
+++ b/components/sync_driver/sync_policy_handler_unittest.cc
@@ -0,0 +1,62 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/prefs/pref_value_map.h"
+#include "base/values.h"
+#include "components/policy/core/common/policy_map.h"
+#include "components/sync_driver/pref_names.h"
+#include "components/sync_driver/sync_policy_handler.h"
+#include "policy/policy_constants.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace sync_driver {
+
+// Test cases for the Sync policy setting.
+class SyncPolicyHandlerTest : public testing::Test {};
+
+TEST_F(SyncPolicyHandlerTest, Default) {
+ policy::PolicyMap policy;
+ SyncPolicyHandler handler;
+ PrefValueMap prefs;
+ handler.ApplyPolicySettings(policy, &prefs);
+ EXPECT_FALSE(prefs.GetValue(sync_driver::prefs::kSyncManaged, NULL));
+}
+
+TEST_F(SyncPolicyHandlerTest, Enabled) {
+ policy::PolicyMap policy;
+ policy.Set(policy::key::kSyncDisabled,
+ policy::POLICY_LEVEL_MANDATORY,
+ policy::POLICY_SCOPE_USER,
+ new base::FundamentalValue(false),
+ NULL);
+ SyncPolicyHandler handler;
+ PrefValueMap prefs;
+ handler.ApplyPolicySettings(policy, &prefs);
+
+ // Enabling Sync should not set the pref.
+ EXPECT_FALSE(prefs.GetValue(sync_driver::prefs::kSyncManaged, NULL));
+}
+
+TEST_F(SyncPolicyHandlerTest, Disabled) {
+ policy::PolicyMap policy;
+ policy.Set(policy::key::kSyncDisabled,
+ policy::POLICY_LEVEL_MANDATORY,
+ policy::POLICY_SCOPE_USER,
+ new base::FundamentalValue(true),
+ NULL);
+ SyncPolicyHandler handler;
+ PrefValueMap prefs;
+ handler.ApplyPolicySettings(policy, &prefs);
+
+ // Sync should be flagged as managed.
+ const base::Value* value = NULL;
+ EXPECT_TRUE(prefs.GetValue(sync_driver::prefs::kSyncManaged, &value));
+ ASSERT_TRUE(value);
+ bool sync_managed = false;
+ bool result = value->GetAsBoolean(&sync_managed);
+ ASSERT_TRUE(result);
+ EXPECT_TRUE(sync_managed);
+}
+
+} // namespace sync_driver