diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-01 11:31:31 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-01 11:31:31 +0000 |
commit | edaf596da7f67917f53891fabbeffad00db5f843 (patch) | |
tree | 0b7fd8e3f8a100dfd5daa6a39f17840c589e21e5 /chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc | |
parent | d1d877d6ee940ddd2bd062a2126478a013161bba (diff) | |
download | chromium_src-edaf596da7f67917f53891fabbeffad00db5f843.zip chromium_src-edaf596da7f67917f53891fabbeffad00db5f843.tar.gz chromium_src-edaf596da7f67917f53891fabbeffad00db5f843.tar.bz2 |
Move Chrome OS device settings stuff to chrome/browser/chromeos/settings.
BUG=chromium:139126
TEST=Still compiles and passes tests, no functional changes.
TBR=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10824112
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149399 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc')
-rw-r--r-- | chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc b/chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc new file mode 100644 index 0000000..de8bbc5 --- /dev/null +++ b/chrome/browser/chromeos/settings/signed_settings_cache_unittest.cc @@ -0,0 +1,57 @@ +// Copyright (c) 2012 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 "chrome/browser/chromeos/settings/signed_settings_cache.h" + +#include "chrome/browser/policy/proto/chrome_device_policy.pb.h" +#include "chrome/browser/policy/proto/device_management_backend.pb.h" +#include "chrome/common/pref_names.h" +#include "chrome/test/base/testing_pref_service.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace em = enterprise_management; + +namespace chromeos { + +class SignedSettingsCacheTest : public testing::Test { + protected: + virtual void SetUp() { + // prepare some data. + policy_.set_policy_type("google/chromeos/device"); + em::ChromeDeviceSettingsProto pol; + pol.mutable_allow_new_users()->set_allow_new_users(false); + policy_.set_policy_value(pol.SerializeAsString()); + + signed_settings_cache::RegisterPrefs(&local_state_); + } + + TestingPrefService local_state_; + em::PolicyData policy_; +}; + +TEST_F(SignedSettingsCacheTest, Basic) { + EXPECT_TRUE(signed_settings_cache::Store(policy_, &local_state_)); + + em::PolicyData policy_out; + EXPECT_TRUE(signed_settings_cache::Retrieve(&policy_out, &local_state_)); + + EXPECT_TRUE(policy_out.has_policy_type()); + EXPECT_TRUE(policy_out.has_policy_value()); + + em::ChromeDeviceSettingsProto pol; + pol.ParseFromString(policy_out.policy_value()); + EXPECT_TRUE(pol.has_allow_new_users()); + EXPECT_FALSE(pol.allow_new_users().allow_new_users()); +} + +TEST_F(SignedSettingsCacheTest, CorruptData) { + EXPECT_TRUE(signed_settings_cache::Store(policy_, &local_state_)); + + local_state_.SetString(prefs::kSignedSettingsCache, "blaaa"); + + em::PolicyData policy_out; + EXPECT_FALSE(signed_settings_cache::Retrieve(&policy_out, &local_state_)); +} + +} // namespace chromeos |