| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc
|
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7e910868a1f44b6c040f6254dfb08ac1d5a89091
|
| --- /dev/null
|
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc
|
| @@ -0,0 +1,164 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h"
|
| +
|
| +#include "base/message_loop/message_loop.h"
|
| +#include "base/prefs/testing_pref_service.h"
|
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h"
|
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.h"
|
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_statistics_prefs.h"
|
| +#include "components/data_reduction_proxy/core/common/data_reduction_proxy_event_store.h"
|
| +#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
|
| +#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h"
|
| +#include "net/url_request/url_request_test_util.h"
|
| +
|
| +namespace data_reduction_proxy {
|
| +
|
| +MockDataSaverService::MockDataSaverService(
|
| + scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs,
|
| + DataReductionProxySettings* settings,
|
| + net::URLRequestContextGetter* request_context)
|
| + : DataSaverService(statistics_prefs.Pass(), settings, request_context) {
|
| +}
|
| +
|
| +MockDataSaverService::~MockDataSaverService() {
|
| +}
|
| +
|
| +TestDataReductionProxyIOData::TestDataReductionProxyIOData(
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
| + scoped_ptr<TestDataReductionProxyConfig> config,
|
| + scoped_ptr<DataReductionProxyEventStore> event_store,
|
| + scoped_ptr<DataReductionProxyRequestOptions> request_options,
|
| + scoped_ptr<DataReductionProxyConfigurator> configurator)
|
| + : DataReductionProxyIOData() {
|
| + config_ = config.Pass();
|
| + event_store_ = event_store.Pass();
|
| + request_options_ = request_options.Pass();
|
| + configurator_ = configurator.Pass();
|
| + io_task_runner_ = task_runner;
|
| + ui_task_runner_ = task_runner;
|
| +}
|
| +
|
| +TestDataReductionProxyIOData::~TestDataReductionProxyIOData() {
|
| + shutdown_on_ui_ = true;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::DataReductionProxyTestContext()
|
| + : DataReductionProxyTestContext(
|
| + DataReductionProxyParams::kAllowed |
|
| + DataReductionProxyParams::kFallbackAllowed |
|
| + DataReductionProxyParams::kPromoAllowed,
|
| + TestDataReductionProxyParams::HAS_EVERYTHING &
|
| + ~TestDataReductionProxyParams::HAS_DEV_ORIGIN &
|
| + ~TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN,
|
| + 0) {
|
| +}
|
| +
|
| +DataReductionProxyTestContext::DataReductionProxyTestContext(
|
| + int params_flags,
|
| + unsigned int params_definitions,
|
| + unsigned int test_context_flags)
|
| + : test_context_flags_(test_context_flags),
|
| + task_runner_(base::MessageLoopProxy::current()),
|
| + request_context_(scoped_refptr<net::URLRequestContextGetter>(
|
| + new net::TestURLRequestContextGetter(task_runner_))) {
|
| + scoped_ptr<DataReductionProxyEventStore> event_store =
|
| + make_scoped_ptr(new DataReductionProxyEventStore(task_runner_));
|
| + scoped_ptr<DataReductionProxyConfigurator> configurator;
|
| + if (test_context_flags_ &
|
| + DataReductionProxyTestContext::USE_TEST_CONFIGURATOR) {
|
| + configurator = make_scoped_ptr(new TestDataReductionProxyConfigurator(
|
| + task_runner_, &net_log_, event_store.get()));
|
| + } else {
|
| + configurator = make_scoped_ptr(new DataReductionProxyConfigurator(
|
| + task_runner_, &net_log_, event_store.get()));
|
| + }
|
| +
|
| + scoped_ptr<TestDataReductionProxyConfig> config;
|
| + if (test_context_flags_ & DataReductionProxyTestContext::USE_MOCK_CONFIG) {
|
| + config.reset(new MockDataReductionProxyConfig(
|
| + params_flags, params_definitions, task_runner_, &net_log_,
|
| + configurator.get(), event_store.get()));
|
| + } else {
|
| + config.reset(new TestDataReductionProxyConfig(
|
| + params_flags, params_definitions, task_runner_, &net_log_,
|
| + configurator.get(), event_store.get()));
|
| + }
|
| + scoped_ptr<DataReductionProxyRequestOptions> request_options =
|
| + make_scoped_ptr(new DataReductionProxyRequestOptions(
|
| + Client::UNKNOWN, config->params(), task_runner_));
|
| + settings_.reset(new DataReductionProxySettings());
|
| +
|
| + io_data_.reset(new TestDataReductionProxyIOData(
|
| + task_runner_.get(), config.Pass(), event_store.Pass(),
|
| + request_options.Pass(), configurator.Pass()));
|
| + if (!(test_context_flags_ &
|
| + DataReductionProxyTestContext::DONT_SET_DATASAVER_ON_SETTINGS)) {
|
| + scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs =
|
| + make_scoped_ptr(new DataReductionProxyStatisticsPrefs(
|
| + &simple_pref_service_, task_runner_, base::TimeDelta()));
|
| + scoped_ptr<MockDataSaverService> data_saver_service =
|
| + make_scoped_ptr(new MockDataSaverService(
|
| + statistics_prefs.Pass(), settings_.get(), request_context_.get()));
|
| + data_saver_service_pointer_ = data_saver_service.get();
|
| + settings_->data_saver_service_.reset(data_saver_service.release());
|
| + io_data_->SetDataSaverService(data_saver_service_pointer_->GetWeakPtr());
|
| + } else {
|
| + data_saver_service_pointer_ = nullptr;
|
| + }
|
| +
|
| + settings_->config_ = io_data_->config();
|
| +}
|
| +
|
| +DataReductionProxyTestContext::~DataReductionProxyTestContext() {
|
| +}
|
| +
|
| +void DataReductionProxyTestContext::RunUntilIdle() {
|
| + base::MessageLoop::current()->RunUntilIdle();
|
| +}
|
| +
|
| +TestDataReductionProxyConfigurator*
|
| +DataReductionProxyTestContext::test_configurator() const {
|
| + DCHECK(test_context_flags_ &
|
| + DataReductionProxyTestContext::USE_TEST_CONFIGURATOR);
|
| + return reinterpret_cast<TestDataReductionProxyConfigurator*>(
|
| + io_data_->configurator());
|
| +}
|
| +
|
| +MockDataReductionProxyConfig* DataReductionProxyTestContext::mock_config()
|
| + const {
|
| + DCHECK(test_context_flags_ & DataReductionProxyTestContext::USE_MOCK_CONFIG);
|
| + return reinterpret_cast<MockDataReductionProxyConfig*>(io_data_->config());
|
| +}
|
| +
|
| +MockDataSaverService* DataReductionProxyTestContext::data_saver_service()
|
| + const {
|
| + DCHECK(!(test_context_flags_ &
|
| + DataReductionProxyTestContext::DONT_SET_DATASAVER_ON_SETTINGS));
|
| + return data_saver_service_pointer_;
|
| +}
|
| +
|
| +scoped_ptr<MockDataSaverService>
|
| +DataReductionProxyTestContext::CreateDataSaverService() {
|
| + DCHECK(test_context_flags_ &
|
| + DataReductionProxyTestContext::DONT_SET_DATASAVER_ON_SETTINGS);
|
| + scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs =
|
| + make_scoped_ptr(new DataReductionProxyStatisticsPrefs(
|
| + &simple_pref_service_, task_runner_, base::TimeDelta()));
|
| + scoped_ptr<MockDataSaverService> data_saver_service =
|
| + make_scoped_ptr(new MockDataSaverService(
|
| + statistics_prefs.Pass(), settings_.get(), request_context_.get()));
|
| + return data_saver_service.Pass();
|
| +}
|
| +
|
| +void DataReductionProxyTestContext::InitSettings() {
|
| + DCHECK(test_context_flags_ &
|
| + DataReductionProxyTestContext::DONT_SET_DATASAVER_ON_SETTINGS);
|
| + settings_->InitDataReductionProxySettings(
|
| + &simple_pref_service_, io_data_.get(), CreateDataSaverService());
|
| + io_data_->SetDataSaverService(settings_->SaverService()->GetWeakPtr());
|
| +}
|
| +
|
| +} // namespace data_reduction_proxy
|
|
|