| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <cstring> | 5 #include <cstring> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 protected: | 55 protected: |
| 56 PolicyStatisticsCollectorTest() | 56 PolicyStatisticsCollectorTest() |
| 57 : update_delay_(base::TimeDelta::FromMilliseconds( | 57 : update_delay_(base::TimeDelta::FromMilliseconds( |
| 58 PolicyStatisticsCollector::kStatisticsUpdateRate)), | 58 PolicyStatisticsCollector::kStatisticsUpdateRate)), |
| 59 test_policy_id1_(-1), | 59 test_policy_id1_(-1), |
| 60 test_policy_id2_(-1), | 60 test_policy_id2_(-1), |
| 61 task_runner_(new base::TestSimpleTaskRunner()) { | 61 task_runner_(new base::TestSimpleTaskRunner()) { |
| 62 } | 62 } |
| 63 | 63 |
| 64 virtual void SetUp() OVERRIDE { | 64 virtual void SetUp() OVERRIDE { |
| 65 prefs_.registry()->RegisterInt64Pref(prefs::kLastPolicyStatisticsUpdate, 0); | 65 prefs_.registry()->RegisterInt64Pref( |
| 66 policy_prefs::kLastPolicyStatisticsUpdate, 0); |
| 66 | 67 |
| 67 // Find ids for kTestPolicy1 and kTestPolicy2. | 68 // Find ids for kTestPolicy1 and kTestPolicy2. |
| 68 const policy::PolicyDefinitionList* policy_list = | 69 const policy::PolicyDefinitionList* policy_list = |
| 69 policy::GetChromePolicyDefinitionList(); | 70 policy::GetChromePolicyDefinitionList(); |
| 70 for (const policy::PolicyDefinitionList::Entry* policy = policy_list->begin; | 71 for (const policy::PolicyDefinitionList::Entry* policy = policy_list->begin; |
| 71 policy != policy_list->end; ++policy) { | 72 policy != policy_list->end; ++policy) { |
| 72 if (strcmp(policy->name, kTestPolicy1) == 0) | 73 if (strcmp(policy->name, kTestPolicy1) == 0) |
| 73 test_policy_id1_ = policy->id; | 74 test_policy_id1_ = policy->id; |
| 74 else if (strcmp(policy->name, kTestPolicy2) == 0) | 75 else if (strcmp(policy->name, kTestPolicy2) == 0) |
| 75 test_policy_id2_ = policy->id; | 76 test_policy_id2_ = policy->id; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 MockPolicyService policy_service_; | 117 MockPolicyService policy_service_; |
| 117 PolicyMap policy_map_; | 118 PolicyMap policy_map_; |
| 118 | 119 |
| 119 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; | 120 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 120 scoped_ptr<TestPolicyStatisticsCollector> policy_statistics_collector_; | 121 scoped_ptr<TestPolicyStatisticsCollector> policy_statistics_collector_; |
| 121 }; | 122 }; |
| 122 | 123 |
| 123 TEST_F(PolicyStatisticsCollectorTest, CollectPending) { | 124 TEST_F(PolicyStatisticsCollectorTest, CollectPending) { |
| 124 SetPolicy(kTestPolicy1); | 125 SetPolicy(kTestPolicy1); |
| 125 | 126 |
| 126 prefs_.SetInt64(prefs::kLastPolicyStatisticsUpdate, | 127 prefs_.SetInt64(policy_prefs::kLastPolicyStatisticsUpdate, |
| 127 (base::Time::Now() - update_delay_).ToInternalValue()); | 128 (base::Time::Now() - update_delay_).ToInternalValue()); |
| 128 | 129 |
| 129 EXPECT_CALL(*policy_statistics_collector_.get(), | 130 EXPECT_CALL(*policy_statistics_collector_.get(), |
| 130 RecordPolicyUse(test_policy_id1_)); | 131 RecordPolicyUse(test_policy_id1_)); |
| 131 | 132 |
| 132 policy_statistics_collector_->Initialize(); | 133 policy_statistics_collector_->Initialize(); |
| 133 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); | 134 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); |
| 134 EXPECT_EQ(update_delay_, GetFirstDelay()); | 135 EXPECT_EQ(update_delay_, GetFirstDelay()); |
| 135 } | 136 } |
| 136 | 137 |
| 137 TEST_F(PolicyStatisticsCollectorTest, CollectPendingVeryOld) { | 138 TEST_F(PolicyStatisticsCollectorTest, CollectPendingVeryOld) { |
| 138 SetPolicy(kTestPolicy1); | 139 SetPolicy(kTestPolicy1); |
| 139 | 140 |
| 140 // Must not be 0.0 (read comment for Time::FromDoubleT). | 141 // Must not be 0.0 (read comment for Time::FromDoubleT). |
| 141 prefs_.SetInt64(prefs::kLastPolicyStatisticsUpdate, | 142 prefs_.SetInt64(policy_prefs::kLastPolicyStatisticsUpdate, |
| 142 base::Time::FromDoubleT(1.0).ToInternalValue()); | 143 base::Time::FromDoubleT(1.0).ToInternalValue()); |
| 143 | 144 |
| 144 EXPECT_CALL(*policy_statistics_collector_.get(), | 145 EXPECT_CALL(*policy_statistics_collector_.get(), |
| 145 RecordPolicyUse(test_policy_id1_)); | 146 RecordPolicyUse(test_policy_id1_)); |
| 146 | 147 |
| 147 policy_statistics_collector_->Initialize(); | 148 policy_statistics_collector_->Initialize(); |
| 148 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); | 149 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); |
| 149 EXPECT_EQ(update_delay_, GetFirstDelay()); | 150 EXPECT_EQ(update_delay_, GetFirstDelay()); |
| 150 } | 151 } |
| 151 | 152 |
| 152 TEST_F(PolicyStatisticsCollectorTest, CollectLater) { | 153 TEST_F(PolicyStatisticsCollectorTest, CollectLater) { |
| 153 SetPolicy(kTestPolicy1); | 154 SetPolicy(kTestPolicy1); |
| 154 | 155 |
| 155 prefs_.SetInt64(prefs::kLastPolicyStatisticsUpdate, | 156 prefs_.SetInt64(policy_prefs::kLastPolicyStatisticsUpdate, |
| 156 (base::Time::Now() - update_delay_ / 2).ToInternalValue()); | 157 (base::Time::Now() - update_delay_ / 2).ToInternalValue()); |
| 157 | 158 |
| 158 policy_statistics_collector_->Initialize(); | 159 policy_statistics_collector_->Initialize(); |
| 159 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); | 160 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); |
| 160 EXPECT_LT(GetFirstDelay(), update_delay_); | 161 EXPECT_LT(GetFirstDelay(), update_delay_); |
| 161 } | 162 } |
| 162 | 163 |
| 163 TEST_F(PolicyStatisticsCollectorTest, MultiplePolicies) { | 164 TEST_F(PolicyStatisticsCollectorTest, MultiplePolicies) { |
| 164 SetPolicy(kTestPolicy1); | 165 SetPolicy(kTestPolicy1); |
| 165 SetPolicy(kTestPolicy2); | 166 SetPolicy(kTestPolicy2); |
| 166 | 167 |
| 167 prefs_.SetInt64(prefs::kLastPolicyStatisticsUpdate, | 168 prefs_.SetInt64(policy_prefs::kLastPolicyStatisticsUpdate, |
| 168 (base::Time::Now() - update_delay_).ToInternalValue()); | 169 (base::Time::Now() - update_delay_).ToInternalValue()); |
| 169 | 170 |
| 170 EXPECT_CALL(*policy_statistics_collector_.get(), | 171 EXPECT_CALL(*policy_statistics_collector_.get(), |
| 171 RecordPolicyUse(test_policy_id1_)); | 172 RecordPolicyUse(test_policy_id1_)); |
| 172 EXPECT_CALL(*policy_statistics_collector_.get(), | 173 EXPECT_CALL(*policy_statistics_collector_.get(), |
| 173 RecordPolicyUse(test_policy_id2_)); | 174 RecordPolicyUse(test_policy_id2_)); |
| 174 | 175 |
| 175 policy_statistics_collector_->Initialize(); | 176 policy_statistics_collector_->Initialize(); |
| 176 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); | 177 EXPECT_EQ(1u, task_runner_->GetPendingTasks().size()); |
| 177 } | 178 } |
| 178 | 179 |
| 179 } // namespace policy | 180 } // namespace policy |
| OLD | NEW |