| Index: net/reporting/reporting_test_util.cc
|
| diff --git a/net/reporting/reporting_test_util.cc b/net/reporting/reporting_test_util.cc
|
| index 946e1e0bd5e9044575872b59ab96ef497b2e60d8..07e67f98250956215a49308a4c76c5693e8a75fb 100644
|
| --- a/net/reporting/reporting_test_util.cc
|
| +++ b/net/reporting/reporting_test_util.cc
|
| @@ -13,10 +13,13 @@
|
| #include "base/memory/ptr_util.h"
|
| #include "base/test/simple_test_clock.h"
|
| #include "base/test/simple_test_tick_clock.h"
|
| +#include "base/timer/mock_timer.h"
|
| +#include "base/timer/timer.h"
|
| #include "net/reporting/reporting_cache.h"
|
| #include "net/reporting/reporting_client.h"
|
| #include "net/reporting/reporting_context.h"
|
| #include "net/reporting/reporting_delegate.h"
|
| +#include "net/reporting/reporting_persister.h"
|
| #include "net/reporting/reporting_policy.h"
|
| #include "net/reporting/reporting_uploader.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -119,21 +122,49 @@ TestReportingContext::TestReportingContext(const ReportingPolicy& policy)
|
| base::MakeUnique<TestReportingDelegate>(),
|
| base::MakeUnique<base::SimpleTestClock>(),
|
| base::MakeUnique<base::SimpleTestTickClock>(),
|
| - base::MakeUnique<TestReportingUploader>()) {}
|
| + base::MakeUnique<TestReportingUploader>()),
|
| + persistence_timer_(new base::MockTimer(/* retain_user_task= */ false,
|
| + /* is_repeating= */ false)) {
|
| + persister()->SetTimerForTesting(base::WrapUnique(persistence_timer_));
|
| +}
|
|
|
| -TestReportingContext::~TestReportingContext() {}
|
| +TestReportingContext::~TestReportingContext() {
|
| + persistence_timer_ = nullptr;
|
| +}
|
|
|
| ReportingTestBase::ReportingTestBase() {
|
| // For tests, disable jitter.
|
| ReportingPolicy policy;
|
| policy.endpoint_backoff_policy.jitter_factor = 0.0;
|
| - UsePolicy(policy);
|
| +
|
| + CreateAndInitializeContext(policy, std::unique_ptr<const base::Value>(),
|
| + base::Time::Now(), base::TimeTicks::Now());
|
| }
|
|
|
| ReportingTestBase::~ReportingTestBase() {}
|
|
|
| -void ReportingTestBase::UsePolicy(const ReportingPolicy& policy) {
|
| +void ReportingTestBase::UsePolicy(const ReportingPolicy& new_policy) {
|
| + CreateAndInitializeContext(new_policy, delegate()->GetPersistedData(),
|
| + clock()->Now(), tick_clock()->NowTicks());
|
| +}
|
| +
|
| +void ReportingTestBase::SimulateRestart(base::TimeDelta delta,
|
| + base::TimeDelta delta_ticks) {
|
| + CreateAndInitializeContext(policy(), delegate()->GetPersistedData(),
|
| + clock()->Now() + delta,
|
| + tick_clock()->NowTicks() + delta_ticks);
|
| +}
|
| +
|
| +void ReportingTestBase::CreateAndInitializeContext(
|
| + const ReportingPolicy& policy,
|
| + std::unique_ptr<const base::Value> persisted_data,
|
| + base::Time now,
|
| + base::TimeTicks now_ticks) {
|
| context_ = base::MakeUnique<TestReportingContext>(policy);
|
| + delegate()->PersistData(std::move(persisted_data));
|
| + clock()->SetNow(now);
|
| + tick_clock()->SetNowTicks(now_ticks);
|
| + context_->Initialize();
|
| }
|
|
|
| base::TimeTicks ReportingTestBase::yesterday() {
|
|
|