Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(807)

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc

Issue 893003002: Data Reduction Proxy class ownership updates and Settings cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698