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()); |