Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc |
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc |
index 7196d2f4a6e735dc0de595aa62cbccc38d610eab..a59eb2f83b707999d74400f4a9f219c3496260a3 100644 |
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc |
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.h" |
#include <string> |
+#include <vector> |
#include "base/command_line.h" |
#include "base/memory/scoped_ptr.h" |
@@ -18,6 +19,7 @@ |
#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" |
#include "components/data_reduction_proxy/proto/client_config.pb.h" |
+#include "net/proxy/proxy_server.h" |
#include "net/socket/socket_test_util.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -86,6 +88,8 @@ class DataReductionProxyConfigServiceClientTest : public testing::Test { |
context_.Init(); |
ResetBackoffEntryReleaseTime(); |
test_context_->test_config_client()->SetNow(base::Time::UnixEpoch()); |
+ enabled_proxies_for_http_ = |
+ test_context_->test_params()->proxies_for_http(false /* alternative */); |
} |
void SetDataReductionProxyEnabled(bool enabled) { |
@@ -112,10 +116,15 @@ class DataReductionProxyConfigServiceClientTest : public testing::Test { |
} |
void VerifyRemoteSuccess() { |
+ std::vector<net::ProxyServer> expected_http_proxies; |
+ expected_http_proxies.push_back(net::ProxyServer::FromURI( |
+ kSuccessOrigin, net::ProxyServer::SCHEME_HTTP)); |
+ expected_http_proxies.push_back(net::ProxyServer::FromURI( |
+ kSuccessFallback, net::ProxyServer::SCHEME_HTTP)); |
EXPECT_EQ(base::TimeDelta::FromMinutes(1), config_client()->GetDelay()); |
- EXPECT_EQ(kSuccessOrigin, configurator()->origin()); |
- EXPECT_EQ(kSuccessFallback, configurator()->fallback_origin()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_THAT(expected_http_proxies, |
+ testing::ContainerEq(configurator()->proxies_for_http())); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_EQ(kSuccessSessionKey, request_options()->GetSecureSession()); |
} |
@@ -135,6 +144,10 @@ class DataReductionProxyConfigServiceClientTest : public testing::Test { |
return test_context_->mock_request_options(); |
} |
+ const std::vector<net::ProxyServer>& enabled_proxies_for_http() const { |
+ return enabled_proxies_for_http_; |
+ } |
+ |
void RunUntilIdle() { |
test_context_->RunUntilIdle(); |
} |
@@ -150,6 +163,7 @@ class DataReductionProxyConfigServiceClientTest : public testing::Test { |
scoped_ptr<DataReductionProxyTestContext> test_context_; |
scoped_ptr<DataReductionProxyRequestOptions> request_options_; |
+ std::vector<net::ProxyServer> enabled_proxies_for_http_; |
}; |
TEST_F(DataReductionProxyConfigServiceClientTest, TestConstructStaticResponse) { |
@@ -167,9 +181,8 @@ TEST_F(DataReductionProxyConfigServiceClientTest, SuccessfulLoop) { |
base::Time::UnixEpoch() + base::TimeDelta::FromDays(1), |
base::TimeDelta::FromDays(1)); |
SetDataReductionProxyEnabled(true); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)) |
.Times(2) |
.WillRepeatedly( |
@@ -177,19 +190,17 @@ TEST_F(DataReductionProxyConfigServiceClientTest, SuccessfulLoop) { |
&RequestOptionsPopulator::PopulateResponse)); |
config_client()->RetrieveConfig(); |
EXPECT_EQ(base::TimeDelta::FromDays(1), config_client()->GetDelay()); |
- EXPECT_EQ(params()->origin().ToURI(), configurator()->origin()); |
- EXPECT_EQ(params()->fallback_origin().ToURI(), |
- configurator()->fallback_origin()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_THAT(enabled_proxies_for_http(), |
+ testing::ContainerEq(configurator()->proxies_for_http())); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
config_client()->SetNow(base::Time::UnixEpoch() + base::TimeDelta::FromDays(1) |
+ base::TimeDelta::FromSeconds(5)); |
config_client()->RetrieveConfig(); |
EXPECT_EQ(base::TimeDelta::FromDays(1) - base::TimeDelta::FromSeconds(5), |
config_client()->GetDelay()); |
- EXPECT_EQ(params()->origin().ToURI(), configurator()->origin()); |
- EXPECT_EQ(params()->fallback_origin().ToURI(), |
- configurator()->fallback_origin()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_THAT(enabled_proxies_for_http(), |
+ testing::ContainerEq(configurator()->proxies_for_http())); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
} |
TEST_F(DataReductionProxyConfigServiceClientTest, SuccessfulLoopShortDuration) { |
@@ -199,40 +210,35 @@ TEST_F(DataReductionProxyConfigServiceClientTest, SuccessfulLoopShortDuration) { |
base::Time::UnixEpoch() + base::TimeDelta::FromSeconds(1), |
base::TimeDelta::FromSeconds(1)); |
SetDataReductionProxyEnabled(true); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)) |
.Times(1) |
.WillOnce(testing::Invoke(&populator, |
&RequestOptionsPopulator::PopulateResponse)); |
config_client()->RetrieveConfig(); |
EXPECT_EQ(base::TimeDelta::FromSeconds(10), config_client()->GetDelay()); |
- EXPECT_EQ(params()->origin().ToURI(), configurator()->origin()); |
- EXPECT_EQ(params()->fallback_origin().ToURI(), |
- configurator()->fallback_origin()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_THAT(enabled_proxies_for_http(), |
+ testing::ContainerEq(configurator()->proxies_for_http())); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
} |
TEST_F(DataReductionProxyConfigServiceClientTest, EnsureBackoff) { |
// Use a local/static config. |
config_client()->SetConfigServiceURL(GURL()); |
SetDataReductionProxyEnabled(true); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)) |
.Times(2) |
.WillRepeatedly(testing::Invoke(&PopulateResponseFailure)); |
config_client()->RetrieveConfig(); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_EQ(base::TimeDelta::FromSeconds(20), config_client()->GetDelay()); |
config_client()->RetrieveConfig(); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_EQ(base::TimeDelta::FromSeconds(40), config_client()->GetDelay()); |
} |
@@ -243,17 +249,15 @@ TEST_F(DataReductionProxyConfigServiceClientTest, ConfigDisabled) { |
base::Time::UnixEpoch() + base::TimeDelta::FromDays(1), |
base::TimeDelta::FromDays(1)); |
SetDataReductionProxyEnabled(false); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)) |
.Times(1) |
.WillOnce(testing::Invoke(&populator, |
&RequestOptionsPopulator::PopulateResponse)); |
config_client()->RetrieveConfig(); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_EQ(base::TimeDelta::FromDays(1), config_client()->GetDelay()); |
} |
@@ -293,9 +297,8 @@ TEST_F(DataReductionProxyConfigServiceClientTest, RemoteConfigSuccess) { |
mock_socket_factory()->AddSocketDataProvider(&socket_data_provider); |
config_client()->SetConfigServiceURL(GURL("http://configservice.com")); |
SetDataReductionProxyEnabled(true); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)).Times(0); |
config_client()->RetrieveConfig(); |
RunUntilIdle(); |
@@ -328,16 +331,14 @@ TEST_F(DataReductionProxyConfigServiceClientTest, |
config_client()->SetConfigServiceURL(GURL("http://configservice.com")); |
SetDataReductionProxyEnabled(true); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_CALL(*request_options(), PopulateConfigResponse(testing::_)).Times(0); |
config_client()->RetrieveConfig(); |
RunUntilIdle(); |
EXPECT_EQ(base::TimeDelta::FromSeconds(20), config_client()->GetDelay()); |
- EXPECT_TRUE(configurator()->origin().empty()); |
- EXPECT_TRUE(configurator()->fallback_origin().empty()); |
- EXPECT_TRUE(configurator()->ssl_origin().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_http().empty()); |
+ EXPECT_TRUE(configurator()->proxies_for_https().empty()); |
EXPECT_TRUE(request_options()->GetSecureSession().empty()); |
config_client()->RetrieveConfig(); |
RunUntilIdle(); |