| Index: chrome/browser/policy/device_management_policy_cache_unittest.cc
|
| diff --git a/chrome/browser/policy/device_management_policy_cache_unittest.cc b/chrome/browser/policy/device_management_policy_cache_unittest.cc
|
| index 1fe98c8e88abd1b60f73c6cf3180abaf7b0b3735..d888389bdca68e931b38c408ac187554879d1553 100644
|
| --- a/chrome/browser/policy/device_management_policy_cache_unittest.cc
|
| +++ b/chrome/browser/policy/device_management_policy_cache_unittest.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/browser/policy/device_management_policy_cache.h"
|
| +#include "chrome/browser/policy/cloud_policy_cache.h"
|
|
|
| #include <limits>
|
| #include <string>
|
| @@ -16,6 +16,13 @@
|
| #include "chrome/browser/policy/proto/device_management_local.pb.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +// This test used to test DeviceManagementPolicyCache. The new CloudPolicyCache
|
| +// supports the old DMPC's interface for now (until it is phased out), so for
|
| +// this transitional period, we keep these old test cases but apply them to the
|
| +// new implementation (CPC).
|
| +// This file can be removed when support for the old policy protocol is removed
|
| +// from CPC. The new interface is tested in cloud_policy_cache_unittest.cc.
|
| +
|
| namespace policy {
|
|
|
| // Wraps base functionaly for the test cases.
|
| @@ -56,9 +63,9 @@ class DeviceManagementPolicyCacheTest
|
| void WritePolicy(const em::DevicePolicyResponse& policy,
|
| const base::Time& timestamp) {
|
| std::string data;
|
| - em::CachedDevicePolicyResponse cached_policy;
|
| - cached_policy.mutable_policy()->CopyFrom(policy);
|
| - cached_policy.set_timestamp(timestamp.ToInternalValue());
|
| + em::CachedCloudPolicyResponse cached_policy;
|
| + cached_policy.mutable_device_policy()->CopyFrom(policy);
|
| + cached_policy.set_timestamp(timestamp.ToTimeT());
|
| EXPECT_TRUE(cached_policy.SerializeToString(&data));
|
| int size = static_cast<int>(data.size());
|
| EXPECT_EQ(size, file_util::WriteFile(test_file(), data.c_str(), size));
|
| @@ -78,18 +85,18 @@ class DeviceManagementPolicyCacheTest
|
| };
|
|
|
| TEST_F(DeviceManagementPolicyCacheTest, Empty) {
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| DictionaryValue empty;
|
| - scoped_ptr<Value> policy(cache.GetPolicy());
|
| + scoped_ptr<Value> policy(cache.GetDevicePolicy());
|
| EXPECT_TRUE(empty.Equals(policy.get()));
|
| EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
|
| }
|
|
|
| TEST_F(DeviceManagementPolicyCacheTest, LoadNoFile) {
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue empty;
|
| - scoped_ptr<Value> policy(cache.GetPolicy());
|
| + scoped_ptr<Value> policy(cache.GetDevicePolicy());
|
| EXPECT_TRUE(empty.Equals(policy.get()));
|
| EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
|
| }
|
| @@ -98,10 +105,10 @@ TEST_F(DeviceManagementPolicyCacheTest, RejectFuture) {
|
| em::DevicePolicyResponse policy_response;
|
| WritePolicy(policy_response, base::Time::NowFromSystemTime() +
|
| base::TimeDelta::FromMinutes(5));
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue empty;
|
| - scoped_ptr<Value> policy(cache.GetPolicy());
|
| + scoped_ptr<Value> policy(cache.GetDevicePolicy());
|
| EXPECT_TRUE(empty.Equals(policy.get()));
|
| EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
|
| }
|
| @@ -109,10 +116,10 @@ TEST_F(DeviceManagementPolicyCacheTest, RejectFuture) {
|
| TEST_F(DeviceManagementPolicyCacheTest, LoadWithFile) {
|
| em::DevicePolicyResponse policy_response;
|
| WritePolicy(policy_response, base::Time::NowFromSystemTime());
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue empty;
|
| - scoped_ptr<Value> policy(cache.GetPolicy());
|
| + scoped_ptr<Value> policy(cache.GetDevicePolicy());
|
| EXPECT_TRUE(empty.Equals(policy.get()));
|
| EXPECT_NE(base::Time(), cache.last_policy_refresh_time());
|
| EXPECT_GE(base::Time::Now(), cache.last_policy_refresh_time());
|
| @@ -122,65 +129,65 @@ TEST_F(DeviceManagementPolicyCacheTest, LoadWithData) {
|
| em::DevicePolicyResponse policy;
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| WritePolicy(policy, base::Time::NowFromSystemTime());
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.example.com"));
|
| - scoped_ptr<Value> policy_value(cache.GetPolicy());
|
| + scoped_ptr<Value> policy_value(cache.GetDevicePolicy());
|
| EXPECT_TRUE(expected.Equals(policy_value.get()));
|
| }
|
|
|
| -TEST_F(DeviceManagementPolicyCacheTest, SetPolicy) {
|
| - DeviceManagementPolicyCache cache(test_file());
|
| +TEST_F(DeviceManagementPolicyCacheTest, SetDevicePolicy) {
|
| + CloudPolicyCache cache(test_file());
|
| em::DevicePolicyResponse policy;
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| - EXPECT_TRUE(cache.SetPolicy(policy));
|
| + EXPECT_TRUE(cache.SetDevicePolicy(policy));
|
| em::DevicePolicyResponse policy2;
|
| AddStringPolicy(&policy2, "HomepageLocation", "http://www.example.com");
|
| - EXPECT_FALSE(cache.SetPolicy(policy2));
|
| + EXPECT_FALSE(cache.SetDevicePolicy(policy2));
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.example.com"));
|
| - scoped_ptr<Value> policy_value(cache.GetPolicy());
|
| + scoped_ptr<Value> policy_value(cache.GetDevicePolicy());
|
| EXPECT_TRUE(expected.Equals(policy_value.get()));
|
| }
|
|
|
| TEST_F(DeviceManagementPolicyCacheTest, ResetPolicy) {
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
|
|
| em::DevicePolicyResponse policy;
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| - EXPECT_TRUE(cache.SetPolicy(policy));
|
| + EXPECT_TRUE(cache.SetDevicePolicy(policy));
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.example.com"));
|
| - scoped_ptr<Value> policy_value(cache.GetPolicy());
|
| + scoped_ptr<Value> policy_value(cache.GetDevicePolicy());
|
| EXPECT_TRUE(expected.Equals(policy_value.get()));
|
|
|
| - EXPECT_TRUE(cache.SetPolicy(em::DevicePolicyResponse()));
|
| - policy_value.reset(cache.GetPolicy());
|
| + EXPECT_TRUE(cache.SetDevicePolicy(em::DevicePolicyResponse()));
|
| + policy_value.reset(cache.GetDevicePolicy());
|
| DictionaryValue empty;
|
| EXPECT_TRUE(empty.Equals(policy_value.get()));
|
| }
|
|
|
| TEST_F(DeviceManagementPolicyCacheTest, PersistPolicy) {
|
| {
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| em::DevicePolicyResponse policy;
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| - cache.SetPolicy(policy);
|
| + cache.SetDevicePolicy(policy);
|
| }
|
|
|
| loop_.RunAllPending();
|
|
|
| EXPECT_TRUE(file_util::PathExists(test_file()));
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.example.com"));
|
| - scoped_ptr<Value> policy_value(cache.GetPolicy());
|
| + scoped_ptr<Value> policy_value(cache.GetDevicePolicy());
|
| EXPECT_TRUE(expected.Equals(policy_value.get()));
|
| }
|
|
|
| @@ -189,17 +196,17 @@ TEST_F(DeviceManagementPolicyCacheTest, FreshPolicyOverride) {
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| WritePolicy(policy, base::Time::NowFromSystemTime());
|
|
|
| - DeviceManagementPolicyCache cache(test_file());
|
| + CloudPolicyCache cache(test_file());
|
| em::DevicePolicyResponse updated_policy;
|
| AddStringPolicy(&updated_policy, "HomepageLocation",
|
| "http://www.chromium.org");
|
| - EXPECT_TRUE(cache.SetPolicy(updated_policy));
|
| + EXPECT_TRUE(cache.SetDevicePolicy(updated_policy));
|
|
|
| cache.LoadPolicyFromFile();
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.chromium.org"));
|
| - scoped_ptr<Value> policy_value(cache.GetPolicy());
|
| + scoped_ptr<Value> policy_value(cache.GetDevicePolicy());
|
| EXPECT_TRUE(expected.Equals(policy_value.get()));
|
| }
|
|
|
| @@ -210,7 +217,7 @@ class DeviceManagementPolicyCacheDecodeTest
|
| void DecodeAndCheck(Value* expected_value_ptr) {
|
| scoped_ptr<Value> expected_value(expected_value_ptr);
|
| scoped_ptr<Value> decoded_value(
|
| - DeviceManagementPolicyCache::DecodeValue(value_));
|
| + CloudPolicyCache::DecodeValue(value_));
|
| if (expected_value_ptr) {
|
| ASSERT_TRUE(decoded_value.get());
|
| EXPECT_TRUE(decoded_value->Equals(expected_value.get()));
|
| @@ -219,6 +226,10 @@ class DeviceManagementPolicyCacheDecodeTest
|
| }
|
| }
|
|
|
| + DictionaryValue* DecodeDevicePolicy(const em::DevicePolicyResponse policy) {
|
| + return CloudPolicyCache::DecodeDevicePolicy(policy);
|
| + }
|
| +
|
| em::GenericValue value_;
|
| };
|
|
|
| @@ -311,7 +322,7 @@ TEST_F(DeviceManagementPolicyCacheDecodeTest, DoubleArray) {
|
| TEST_F(DeviceManagementPolicyCacheDecodeTest, DecodePolicy) {
|
| em::DevicePolicyResponse policy;
|
| AddStringPolicy(&policy, "HomepageLocation", "http://www.example.com");
|
| - scoped_ptr<Value> decoded(DeviceManagementPolicyCache::DecodePolicy(policy));
|
| + scoped_ptr<Value> decoded(DecodeDevicePolicy(policy));
|
| DictionaryValue expected;
|
| expected.Set("HomepageLocation",
|
| Value::CreateStringValue("http://www.example.com"));
|
|
|