diff options
author | maxbogue <maxbogue@chromium.org> | 2015-08-06 11:57:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-06 18:58:02 +0000 |
commit | f987cca61f037bcbaa2cc68a8781ffdaa1138e20 (patch) | |
tree | 26a591c2f0a0c4dfbee2dcf9cfdc2ae5dc11d2b9 /components/sync_driver/sync_policy_handler_unittest.cc | |
parent | e791f20199dbc67f1908409b24102d0a3438b6d2 (diff) | |
download | chromium_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.cc | 62 |
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 |