| Index: chrome/browser/policy/policy_statistics_collector_unittest.cc
|
| diff --git a/chrome/browser/policy/policy_statistics_collector_unittest.cc b/chrome/browser/policy/policy_statistics_collector_unittest.cc
|
| index e55d67a224a23751d7b761b174c4cb12513cf525..68b72231ebf6e27cde3fd5d64387350fd1fbffb1 100644
|
| --- a/chrome/browser/policy/policy_statistics_collector_unittest.cc
|
| +++ b/chrome/browser/policy/policy_statistics_collector_unittest.cc
|
| @@ -7,20 +7,18 @@
|
|
|
| #include "base/callback.h"
|
| #include "base/compiler_specific.h"
|
| -#include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/prefs/pref_registry_simple.h"
|
| #include "base/prefs/testing_pref_service.h"
|
| #include "base/test/test_simple_task_runner.h"
|
| -#include "base/time/time.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/policy/external_data_fetcher.h"
|
| #include "chrome/browser/policy/mock_policy_service.h"
|
| #include "chrome/browser/policy/policy_map.h"
|
| #include "chrome/browser/policy/policy_statistics_collector.h"
|
| #include "chrome/browser/policy/policy_types.h"
|
| +#include "chrome/browser/policy/test/policy_test_utils.h"
|
| #include "components/policy/core/common/policy_pref_names.h"
|
| -#include "policy/policy_constants.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -28,23 +26,43 @@ namespace policy {
|
|
|
| namespace {
|
|
|
| -using testing::_;
|
| -using testing::Lt;
|
| -using testing::Return;
|
| using testing::ReturnRef;
|
|
|
| // Arbitrary policy names used for testing.
|
| -const char* const kTestPolicy1 = key::kAlternateErrorPagesEnabled;
|
| -const char* const kTestPolicy2 = key::kSearchSuggestEnabled;
|
| +const char kTestPolicy1[] = "Test Policy 1";
|
| +const char kTestPolicy2[] = "Test Policy 2";
|
| +
|
| +const int kTestPolicy1Id = 42;
|
| +const int kTestPolicy2Id = 123;
|
| +
|
| +const char kTestChromeSchema[] =
|
| + "{"
|
| + " \"type\": \"object\","
|
| + " \"properties\": {"
|
| + " \"Test Policy 1\": { \"type\": \"string\" },"
|
| + " \"Test Policy 2\": { \"type\": \"string\" }"
|
| + " }"
|
| + "}";
|
| +
|
| +const PolicyDetails kTestPolicyDetails[] = {
|
| + // is_deprecated is_device_policy id max_external_data_size
|
| + { false, false, kTestPolicy1Id, 0 },
|
| + { false, false, kTestPolicy2Id, 0 },
|
| +};
|
|
|
| class TestPolicyStatisticsCollector : public PolicyStatisticsCollector {
|
| public:
|
| TestPolicyStatisticsCollector(
|
| + const GetChromePolicyDetailsCallback& get_details,
|
| + const Schema& chrome_schema,
|
| PolicyService* policy_service,
|
| PrefService* prefs,
|
| const scoped_refptr<base::TaskRunner>& task_runner)
|
| - : PolicyStatisticsCollector(policy_service, prefs, task_runner) {
|
| - }
|
| + : PolicyStatisticsCollector(get_details,
|
| + chrome_schema,
|
| + policy_service,
|
| + prefs,
|
| + task_runner) {}
|
|
|
| MOCK_METHOD1(RecordPolicyUse, void(int));
|
| };
|
| @@ -56,28 +74,20 @@ class PolicyStatisticsCollectorTest : public testing::Test {
|
| PolicyStatisticsCollectorTest()
|
| : update_delay_(base::TimeDelta::FromMilliseconds(
|
| PolicyStatisticsCollector::kStatisticsUpdateRate)),
|
| - test_policy_id1_(-1),
|
| - test_policy_id2_(-1),
|
| task_runner_(new base::TestSimpleTaskRunner()) {
|
| }
|
|
|
| virtual void SetUp() OVERRIDE {
|
| + std::string error;
|
| + chrome_schema_ = Schema::Parse(kTestChromeSchema, &error);
|
| + ASSERT_TRUE(chrome_schema_.valid()) << error;
|
| +
|
| + policy_details_.SetDetails(kTestPolicy1, &kTestPolicyDetails[0]);
|
| + policy_details_.SetDetails(kTestPolicy2, &kTestPolicyDetails[1]);
|
| +
|
| prefs_.registry()->RegisterInt64Pref(
|
| policy_prefs::kLastPolicyStatisticsUpdate, 0);
|
|
|
| - // Find ids for kTestPolicy1 and kTestPolicy2.
|
| - const policy::PolicyDefinitionList* policy_list =
|
| - policy::GetChromePolicyDefinitionList();
|
| - for (const policy::PolicyDefinitionList::Entry* policy = policy_list->begin;
|
| - policy != policy_list->end; ++policy) {
|
| - if (strcmp(policy->name, kTestPolicy1) == 0)
|
| - test_policy_id1_ = policy->id;
|
| - else if (strcmp(policy->name, kTestPolicy2) == 0)
|
| - test_policy_id2_ = policy->id;
|
| - }
|
| - ASSERT_TRUE(test_policy_id1_ != -1);
|
| - ASSERT_TRUE(test_policy_id2_ != -1);
|
| -
|
| // Set up default function behaviour.
|
| EXPECT_CALL(policy_service_,
|
| GetPolicies(PolicyNamespace(POLICY_DOMAIN_CHROME,
|
| @@ -88,6 +98,8 @@ class PolicyStatisticsCollectorTest : public testing::Test {
|
| last_delay_ = base::TimeDelta::FromDays(-1);
|
| policy_map_.Clear();
|
| policy_statistics_collector_.reset(new TestPolicyStatisticsCollector(
|
| + policy_details_.GetCallback(),
|
| + chrome_schema_,
|
| &policy_service_,
|
| &prefs_,
|
| task_runner_));
|
| @@ -108,11 +120,10 @@ class PolicyStatisticsCollectorTest : public testing::Test {
|
|
|
| const base::TimeDelta update_delay_;
|
|
|
| - int test_policy_id1_;
|
| - int test_policy_id2_;
|
| -
|
| base::TimeDelta last_delay_;
|
|
|
| + PolicyDetailsMap policy_details_;
|
| + Schema chrome_schema_;
|
| TestingPrefServiceSimple prefs_;
|
| MockPolicyService policy_service_;
|
| PolicyMap policy_map_;
|
| @@ -128,7 +139,7 @@ TEST_F(PolicyStatisticsCollectorTest, CollectPending) {
|
| (base::Time::Now() - update_delay_).ToInternalValue());
|
|
|
| EXPECT_CALL(*policy_statistics_collector_.get(),
|
| - RecordPolicyUse(test_policy_id1_));
|
| + RecordPolicyUse(kTestPolicy1Id));
|
|
|
| policy_statistics_collector_->Initialize();
|
| EXPECT_EQ(1u, task_runner_->GetPendingTasks().size());
|
| @@ -143,7 +154,7 @@ TEST_F(PolicyStatisticsCollectorTest, CollectPendingVeryOld) {
|
| base::Time::FromDoubleT(1.0).ToInternalValue());
|
|
|
| EXPECT_CALL(*policy_statistics_collector_.get(),
|
| - RecordPolicyUse(test_policy_id1_));
|
| + RecordPolicyUse(kTestPolicy1Id));
|
|
|
| policy_statistics_collector_->Initialize();
|
| EXPECT_EQ(1u, task_runner_->GetPendingTasks().size());
|
| @@ -169,9 +180,9 @@ TEST_F(PolicyStatisticsCollectorTest, MultiplePolicies) {
|
| (base::Time::Now() - update_delay_).ToInternalValue());
|
|
|
| EXPECT_CALL(*policy_statistics_collector_.get(),
|
| - RecordPolicyUse(test_policy_id1_));
|
| + RecordPolicyUse(kTestPolicy1Id));
|
| EXPECT_CALL(*policy_statistics_collector_.get(),
|
| - RecordPolicyUse(test_policy_id2_));
|
| + RecordPolicyUse(kTestPolicy2Id));
|
|
|
| policy_statistics_collector_->Initialize();
|
| EXPECT_EQ(1u, task_runner_->GetPendingTasks().size());
|
|
|