| 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
|
| index 8ec2958e3b260b77b179dafbf50ccf5b4803f91b..d688d76ae55d75b278c5306d94e3ec689dee8a81 100644
|
| --- 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
|
| @@ -51,77 +51,160 @@ TestDataReductionProxyIOData::~TestDataReductionProxyIOData() {
|
| shutdown_on_ui_ = true;
|
| }
|
|
|
| -DataReductionProxyTestContext::DataReductionProxyTestContext(
|
| - int params_flags,
|
| - unsigned int params_definitions,
|
| - unsigned int test_context_flags,
|
| - net::URLRequestContext* request_context)
|
| - : test_context_flags_(test_context_flags),
|
| - task_runner_(base::MessageLoopProxy::current()),
|
| - request_context_getter_(scoped_refptr<net::URLRequestContextGetter>(
|
| - new net::TrivialURLRequestContextGetter(request_context,
|
| - task_runner_))) {
|
| - Init(params_flags, params_definitions);
|
| +DataReductionProxyTestContext::Builder::Builder()
|
| + : params_flags_(0),
|
| + params_definitions_(0),
|
| + client_(Client::UNKNOWN),
|
| + request_context_(nullptr),
|
| + use_mock_config_(false),
|
| + use_test_configurator_(false),
|
| + use_mock_service_(false),
|
| + skip_settings_initialization_(false) {
|
| }
|
|
|
| -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_getter_(scoped_refptr<net::URLRequestContextGetter>(
|
| - new net::TestURLRequestContextGetter(task_runner_))) {
|
| - Init(params_flags, params_definitions);
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithParamsFlags(int params_flags) {
|
| + params_flags_ = params_flags;
|
| + return *this;
|
| }
|
|
|
| -DataReductionProxyTestContext::~DataReductionProxyTestContext() {
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithParamsDefinitions(
|
| + unsigned int params_definitions) {
|
| + params_definitions_ = params_definitions;
|
| + return *this;
|
| }
|
|
|
| -void DataReductionProxyTestContext::Init(int params_flags,
|
| - unsigned int params_definitions) {
|
| - scoped_ptr<DataReductionProxyEventStore> event_store =
|
| - make_scoped_ptr(new DataReductionProxyEventStore(task_runner_));
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithURLRequestContext(
|
| + net::URLRequestContext* request_context) {
|
| + request_context_ = request_context;
|
| + return *this;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithClient(Client client) {
|
| + client_ = client;
|
| + return *this;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithMockConfig() {
|
| + use_mock_config_ = true;
|
| + return *this;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithTestConfigurator() {
|
| + use_test_configurator_ = true;
|
| + return *this;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::WithMockDataReductionProxyService() {
|
| + use_mock_service_ = true;
|
| + return *this;
|
| +}
|
| +
|
| +DataReductionProxyTestContext::Builder&
|
| +DataReductionProxyTestContext::Builder::SkipSettingsInitialization() {
|
| + skip_settings_initialization_ = true;
|
| + return *this;
|
| +}
|
| +
|
| +scoped_ptr<DataReductionProxyTestContext>
|
| +DataReductionProxyTestContext::Builder::Build() {
|
| + scoped_ptr<base::MessageLoopForIO> loop(new base::MessageLoopForIO());
|
| +
|
| + unsigned int test_context_flags = 0;
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner =
|
| + base::MessageLoopProxy::current();
|
| + scoped_refptr<net::URLRequestContextGetter> request_context_getter;
|
| + scoped_ptr<TestingPrefServiceSimple> pref_service(
|
| + new TestingPrefServiceSimple());
|
| + scoped_ptr<net::CapturingNetLog> net_log(new net::CapturingNetLog());
|
| + if (request_context_) {
|
| + request_context_getter = new net::TrivialURLRequestContextGetter(
|
| + request_context_, task_runner);
|
| + } else {
|
| + request_context_getter = new net::TestURLRequestContextGetter(task_runner);
|
| + }
|
| +
|
| + scoped_ptr<DataReductionProxyEventStore> event_store(
|
| + 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()));
|
| + if (use_test_configurator_) {
|
| + test_context_flags |= USE_TEST_CONFIGURATOR;
|
| + configurator.reset(new TestDataReductionProxyConfigurator(
|
| + task_runner, net_log.get(), event_store.get()));
|
| } else {
|
| - configurator = make_scoped_ptr(new DataReductionProxyConfigurator(
|
| - task_runner_, &net_log_, event_store.get()));
|
| + configurator.reset(new DataReductionProxyConfigurator(
|
| + task_runner, net_log.get(), event_store.get()));
|
| }
|
|
|
| scoped_ptr<TestDataReductionProxyConfig> config;
|
| - if (test_context_flags_ & DataReductionProxyTestContext::USE_MOCK_CONFIG) {
|
| + if (use_mock_config_) {
|
| + test_context_flags |= USE_MOCK_CONFIG;
|
| config.reset(new MockDataReductionProxyConfig(
|
| - params_flags, params_definitions, task_runner_, &net_log_,
|
| + params_flags_, params_definitions_, task_runner, net_log.get(),
|
| configurator.get(), event_store.get()));
|
| } else {
|
| config.reset(new TestDataReductionProxyConfig(
|
| - params_flags, params_definitions, task_runner_, &net_log_,
|
| + params_flags_, params_definitions_, task_runner, net_log.get(),
|
| configurator.get(), event_store.get()));
|
| }
|
| - scoped_ptr<DataReductionProxyRequestOptions> request_options =
|
| - make_scoped_ptr(new DataReductionProxyRequestOptions(
|
| - Client::UNKNOWN, config.get(), task_runner_));
|
| - settings_.reset(new DataReductionProxySettings());
|
| -
|
| - RegisterSimpleProfilePrefs(simple_pref_service_.registry());
|
| -
|
| - io_data_.reset(new TestDataReductionProxyIOData(
|
| - task_runner_.get(), config.Pass(), event_store.Pass(),
|
| - request_options.Pass(), configurator.Pass()));
|
| - io_data_->InitOnUIThread(&simple_pref_service_);
|
| -
|
| - if (!(test_context_flags_ &
|
| - DataReductionProxyTestContext::SKIP_SETTINGS_INITIALIZATION)) {
|
| - settings_->InitDataReductionProxySettings(
|
| - &simple_pref_service_, io_data_.get(),
|
| - CreateDataReductionProxyServiceInternal());
|
| - io_data_->SetDataReductionProxyService(
|
| - settings_->data_reduction_proxy_service()->GetWeakPtr());
|
| - }
|
| +
|
| + scoped_ptr<DataReductionProxyRequestOptions> request_options(
|
| + new DataReductionProxyRequestOptions(client_, config.get(), task_runner));
|
| +
|
| + scoped_ptr<DataReductionProxySettings> settings(
|
| + new DataReductionProxySettings());
|
| + if (skip_settings_initialization_)
|
| + test_context_flags |= SKIP_SETTINGS_INITIALIZATION;
|
| +
|
| + if (use_mock_service_)
|
| + test_context_flags |= USE_MOCK_SERVICE;
|
| +
|
| + RegisterSimpleProfilePrefs(pref_service->registry());
|
| +
|
| + scoped_ptr<TestDataReductionProxyIOData> io_data(
|
| + new TestDataReductionProxyIOData(
|
| + task_runner, config.Pass(), event_store.Pass(),
|
| + request_options.Pass(), configurator.Pass()));
|
| + io_data->InitOnUIThread(pref_service.get());
|
| +
|
| + scoped_ptr<DataReductionProxyTestContext> test_context(
|
| + new DataReductionProxyTestContext(
|
| + loop.Pass(), task_runner, pref_service.Pass(), net_log.Pass(),
|
| + request_context_getter, io_data.Pass(), settings.Pass(),
|
| + test_context_flags));
|
| +
|
| + if (!skip_settings_initialization_)
|
| + test_context->InitSettingsWithoutCheck();
|
| +
|
| + return test_context.Pass();
|
| +}
|
| +
|
| +DataReductionProxyTestContext::DataReductionProxyTestContext(
|
| + scoped_ptr<base::MessageLoop> loop,
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
| + scoped_ptr<TestingPrefServiceSimple> simple_pref_service,
|
| + scoped_ptr<net::CapturingNetLog> net_log,
|
| + scoped_refptr<net::URLRequestContextGetter> request_context_getter,
|
| + scoped_ptr<TestDataReductionProxyIOData> io_data,
|
| + scoped_ptr<DataReductionProxySettings> settings,
|
| + unsigned int test_context_flags)
|
| + : test_context_flags_(test_context_flags),
|
| + loop_(loop.Pass()),
|
| + task_runner_(task_runner),
|
| + simple_pref_service_(simple_pref_service.Pass()),
|
| + net_log_(net_log.Pass()),
|
| + request_context_getter_(request_context_getter),
|
| + io_data_(io_data.Pass()),
|
| + settings_(settings.Pass()) {
|
| +}
|
| +
|
| +DataReductionProxyTestContext::~DataReductionProxyTestContext() {
|
| }
|
|
|
| void DataReductionProxyTestContext::RunUntilIdle() {
|
| @@ -131,8 +214,13 @@ void DataReductionProxyTestContext::RunUntilIdle() {
|
| void DataReductionProxyTestContext::InitSettings() {
|
| DCHECK(test_context_flags_ &
|
| DataReductionProxyTestContext::SKIP_SETTINGS_INITIALIZATION);
|
| + InitSettingsWithoutCheck();
|
| +}
|
| +
|
| +void DataReductionProxyTestContext::InitSettingsWithoutCheck() {
|
| settings_->InitDataReductionProxySettings(
|
| - &simple_pref_service_, io_data_.get(), CreateDataReductionProxyService());
|
| + simple_pref_service_.get(), io_data_.get(),
|
| + CreateDataReductionProxyServiceInternal());
|
| io_data_->SetDataReductionProxyService(
|
| settings_->data_reduction_proxy_service()->GetWeakPtr());
|
| }
|
| @@ -148,7 +236,7 @@ scoped_ptr<DataReductionProxyService>
|
| DataReductionProxyTestContext::CreateDataReductionProxyServiceInternal() {
|
| scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs =
|
| make_scoped_ptr(new DataReductionProxyStatisticsPrefs(
|
| - &simple_pref_service_, task_runner_, base::TimeDelta()));
|
| + simple_pref_service_.get(), task_runner_, base::TimeDelta()));
|
|
|
| if (test_context_flags_ & DataReductionProxyTestContext::USE_MOCK_SERVICE) {
|
| return make_scoped_ptr(new MockDataReductionProxyService(
|
|
|