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

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

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.h
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h b/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h
new file mode 100644
index 0000000000000000000000000000000000000000..15f3fc91e73ae557ffefb673115a24e0460f47c7
--- /dev/null
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h
@@ -0,0 +1,146 @@
+// 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.
+
+#ifndef COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_TEST_UTILS_H_
bengr 2015/02/17 18:10:24 What do you think about landing this as a separate
jeremyim 2015/02/19 21:03:44 Done.
+#define COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_TEST_UTILS_H_
+
+#include "base/macros.h"
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h"
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.h"
+#include "components/data_reduction_proxy/core/browser/data_saver_service.h"
+#include "net/base/capturing_net_log.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+class TestingPrefServiceSimple;
+
+namespace base {
+class MessageLoopForUI;
+class SingleThreadTaskRunner;
+}
+
+namespace net {
+class NetLog;
+class URLRequestContextGetter;
+}
+
+namespace data_reduction_proxy {
+
+class DataReductionProxyConfigurator;
+class DataReductionProxyEventStore;
+class DataReductionProxyRequestOptions;
+class DataReductionProxySettings;
+class DataReductionProxyStatisticsPrefs;
+class MockDataReductionProxyConfig;
+class TestDataReductionProxyConfig;
+class TestDataReductionProxyConfigurator;
+
+class MockDataSaverService : public DataSaverService {
+ public:
+ MockDataSaverService(
+ scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs,
+ DataReductionProxySettings* settings,
+ net::URLRequestContextGetter* request_context);
+ ~MockDataSaverService() override;
+
+ MOCK_METHOD2(CheckProbeURL,
+ void(const GURL& probe_url, FetcherResponseCallback fetcher_callback));
+};
+
+class TestDataReductionProxyIOData : public DataReductionProxyIOData {
+ public:
+ 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);
+ ~TestDataReductionProxyIOData() override;
+
+ DataReductionProxyConfigurator* configurator() const {
+ return configurator_.get();
+ }
+};
+
+class DataReductionProxyTestContext {
bengr 2015/02/17 18:10:24 Add comments to every class, enum, non-trivial met
jeremyim 2015/02/19 21:03:44 Done.
+ public:
+ enum TestContextOptions {
bengr 2015/02/17 18:10:24 In particular, I have no idea how to use these opt
jeremyim 2015/02/19 21:03:44 Done.
+ USE_MOCK_CONFIG = 0x1,
+ USE_TEST_CONFIGURATOR = 0x2,
+ DONT_SET_DATASAVER_ON_SETTINGS = 0x4,
+ };
+
+ explicit DataReductionProxyTestContext(int params_flags,
+ unsigned int params_definitions,
+ unsigned int test_context_flags);
+ DataReductionProxyTestContext();
+ virtual ~DataReductionProxyTestContext();
+
+ void RunUntilIdle();
+
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner() const {
+ return task_runner_;
+ }
+
+ TestingPrefServiceSimple* pref_service() {
+ return &simple_pref_service_;
+ }
+
+ net::NetLog* net_log() {
+ return &net_log_;
+ }
+
+ net::URLRequestContextGetter* request_context() const {
+ return request_context_.get();
+ }
+
+ DataReductionProxyEventStore* event_store() const {
+ return io_data_->event_store();
+ }
+
+ DataReductionProxyConfigurator* configurator() const {
+ return io_data_->configurator();
+ }
+
+ TestDataReductionProxyConfig* config() const {
+ return reinterpret_cast<TestDataReductionProxyConfig*>(io_data_->config());
+ }
+
+ TestDataReductionProxyIOData* io_data() const {
+ return io_data_.get();
+ }
+
+ DataReductionProxySettings* settings() const {
+ return settings_.get();
+ }
+
+ TestDataReductionProxyConfigurator* test_configurator() const;
+
+ MockDataReductionProxyConfig* mock_config() const;
+
+ MockDataSaverService* data_saver_service() const;
+
+ scoped_ptr<MockDataSaverService> CreateDataSaverService();
+
+ void InitSettings();
+
+ private:
+ unsigned int test_context_flags_;
+
+ base::MessageLoopForIO loop_;
+
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
+ TestingPrefServiceSimple simple_pref_service_;
+ net::CapturingNetLog net_log_;
+ scoped_refptr<net::URLRequestContextGetter> request_context_;
+
+ scoped_ptr<TestDataReductionProxyIOData> io_data_;
+ scoped_ptr<DataReductionProxySettings> settings_;
+
+ MockDataSaverService* data_saver_service_pointer_;
+
+ DISALLOW_COPY_AND_ASSIGN(DataReductionProxyTestContext);
+};
+
+} // namespace data_reduction_proxy
bengr 2015/02/17 18:10:24 Add a blank line below
jeremyim 2015/02/19 21:03:44 Done.
+#endif // COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_TEST_UTILS_H_

Powered by Google App Engine
This is Rietveld 408576698