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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.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_config_unittest.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
index 61e2616ae5aea66c33aca8dc2fa85ca0400d0d8f..8cda73a968b82a66df1cc14cd67ba13a42a4f6e1 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
@@ -5,10 +5,10 @@
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
#include "base/command_line.h"
-#include "base/message_loop/message_loop.h"
-#include "base/test/test_simple_task_runner.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_test_utils.h"
+#include "components/data_reduction_proxy/core/browser/data_saver_service.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_test_utils.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
@@ -38,11 +38,15 @@ class DataReductionProxyConfigTest : public testing::Test {
~DataReductionProxyConfigTest() override {}
void SetUp() override {
- task_runner_ = new base::TestSimpleTaskRunner();
- request_context_ = new net::TestURLRequestContextGetter(task_runner_.get());
- event_store_.reset(new DataReductionProxyEventStore(task_runner_.get()));
- configurator_.reset(new TestDataReductionProxyConfigurator(
- task_runner_.get(), &net_log_, event_store_.get()));
+ test_context_.reset(new DataReductionProxyTestContext(
+ DataReductionProxyParams::kAllowed |
+ DataReductionProxyParams::kFallbackAllowed |
+ DataReductionProxyParams::kPromoAllowed,
+ TestDataReductionProxyParams::HAS_EVERYTHING &
+ ~TestDataReductionProxyParams::HAS_DEV_ORIGIN &
+ ~TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN,
+ DataReductionProxyTestContext::USE_MOCK_CONFIG |
+ DataReductionProxyTestContext::USE_TEST_CONFIGURATOR));
ResetSettings(true, true, false, true, false);
@@ -71,14 +75,8 @@ class DataReductionProxyConfigTest : public testing::Test {
flags |= DataReductionProxyParams::kPromoAllowed;
if (holdback)
flags |= DataReductionProxyParams::kHoldback;
- config_.reset(new MockDataReductionProxyConfig(flags));
- MockDataReductionProxyConfig* config =
- static_cast<MockDataReductionProxyConfig*>(config_.get());
- EXPECT_CALL(*config, GetURLFetcherForProbe()).Times(0);
- EXPECT_CALL(*config, LogProxyState(_, _, _)).Times(0);
- config_->InitDataReductionProxyConfig(
- task_runner_.get(), &net_log_, request_context_.get(),
- configurator_.get(), event_store_.get());
+ config()->ResetParamFlagsForTest(flags);
+ EXPECT_CALL(*config(), LogProxyState(_, _, _)).Times(0);
}
void SetProbeResult(const std::string& test_url,
@@ -87,17 +85,9 @@ class DataReductionProxyConfigTest : public testing::Test {
bool success,
int expected_calls) {
if (0 == expected_calls) {
- EXPECT_CALL(*config(), GetURLFetcherForProbe()).Times(0);
EXPECT_CALL(*config(), RecordProbeURLFetchResult(_)).Times(0);
} else {
EXPECT_CALL(*config(), RecordProbeURLFetchResult(result)).Times(1);
- EXPECT_CALL(*config(), GetURLFetcherForProbe())
- .Times(expected_calls)
- .WillRepeatedly(Return(new net::FakeURLFetcher(
- GURL(test_url), config(), response,
- success ? net::HTTP_OK : net::HTTP_INTERNAL_SERVER_ERROR,
- success ? net::URLRequestStatus::SUCCESS
- : net::URLRequestStatus::FAILED)));
}
}
@@ -110,17 +100,36 @@ class DataReductionProxyConfigTest : public testing::Test {
ASSERT_EQ(expected_enabled, configurator()->enabled());
}
+ class TestResponder {
+ public:
+ void ExecuteCallback(FetcherResponseCallback callback) {
+ callback.Run(response, status);
+ }
+
+ std::string response;
+ net::URLRequestStatus status;
+ };
+
void CheckProbeOnIPChange(const std::string& probe_url,
const std::string& response,
bool request_succeeded,
bool expected_restricted,
bool expected_fallback_restricted) {
SetProbeResult(probe_url, response,
- FetchResult(!config_->restricted_by_carrier_,
+ FetchResult(!config()->restricted_by_carrier_,
request_succeeded && (response == "OK")),
request_succeeded, 1);
- config_->OnIPAddressChanged();
- base::MessageLoop::current()->RunUntilIdle();
+ MockDataSaverService* service = test_context_->data_saver_service();
+ TestResponder responder;
+ responder.response = response;
+ responder.status =
+ net::URLRequestStatus(net::URLRequestStatus::SUCCESS, net::OK);
+ EXPECT_CALL(*service, CheckProbeURL(_, _))
+ .Times(1)
+ .WillRepeatedly(testing::WithArgs<1>(
+ testing::Invoke(&responder, &TestResponder::ExecuteCallback)));
+ config()->OnIPAddressChanged();
+ test_context_->RunUntilIdle();
CheckProxyConfigs(true, expected_restricted, expected_fallback_restricted);
}
@@ -135,31 +144,23 @@ class DataReductionProxyConfigTest : public testing::Test {
return FAILED_PROXY_ALREADY_DISABLED;
}
- void CheckInitDataReductionProxy(bool enabled_at_startup) {
- config_->InitDataReductionProxyConfig(
- task_runner_.get(), &net_log_, request_context_.get(),
- configurator_.get(), event_store_.get());
-
- base::MessageLoop::current()->RunUntilIdle();
+ void RunUntilIdle() {
+ test_context_->RunUntilIdle();
}
- MockDataReductionProxyConfig* config() { return config_.get(); }
+ MockDataReductionProxyConfig* config() {
+ return test_context_->mock_config();
+ }
TestDataReductionProxyConfigurator* configurator() {
- return configurator_.get();
+ return test_context_->test_configurator();
}
TestDataReductionProxyParams* params() { return expected_params_.get(); }
private:
- scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
- scoped_refptr<net::TestURLRequestContextGetter> request_context_;
- scoped_ptr<TestDataReductionProxyConfigurator> configurator_;
- scoped_ptr<MockDataReductionProxyConfig> config_;
+ scoped_ptr<DataReductionProxyTestContext> test_context_;
scoped_ptr<TestDataReductionProxyParams> expected_params_;
- base::Time last_update_time_;
- net::CapturingNetLog net_log_;
- scoped_ptr<DataReductionProxyEventStore> event_store_;
};
TEST_F(DataReductionProxyConfigTest, TestGetDataReductionProxyOrigin) {
@@ -251,7 +252,6 @@ TEST_F(DataReductionProxyConfigTest, TestSetProxyConfigsHoldback) {
}
TEST_F(DataReductionProxyConfigTest, TestOnIPAddressChanged) {
- base::MessageLoopForUI loop;
// The proxy is enabled initially.
config()->enabled_by_user_ = true;
config()->restricted_by_carrier_ = false;
@@ -277,7 +277,7 @@ TEST_F(DataReductionProxyConfigTest, TestOnIPAddressChanged) {
net::IP_ADDRESS_ATTRIBUTE_NONE /* ip address attribute */
));
config()->OnIPAddressChanged();
- base::MessageLoop::current()->RunUntilIdle();
+ RunUntilIdle();
CheckProxyConfigs(false, false, false);
// Check that the proxy is re-enabled if a non-VPN connection is later used.

Powered by Google App Engine
This is Rietveld 408576698