Chromium Code Reviews| Index: components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc |
| diff --git a/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc b/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc |
| index e522a95f40892f89b50f81391f6a18320a066225..6934ee25bc610500a9bd348f46192f6b5b2fe3c2 100644 |
| --- a/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc |
| +++ b/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/bind.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "net/base/host_port_pair.h" |
| #include "net/base/request_priority.h" |
| #include "net/url_request/url_request.h" |
| #include "net/url_request/url_request_status.h" |
| @@ -16,10 +17,14 @@ |
| using base::MessageLoop; |
| using base::MessageLoopProxy; |
| using data_reduction_proxy::DataReductionProxyParams; |
| +using data_reduction_proxy::DataReductionProxyTypeInfo; |
| +using net::HostPortPair; |
|
bengr
2014/09/16 18:48:57
If you have this line here, then you don't need to
Not at Google. Contact bengr
2014/09/16 19:34:49
Done.
|
| +using net::ProxyServer; |
| using net::TestDelegate; |
| using net::TestURLRequestContext; |
| using net::URLRequest; |
| using net::URLRequestStatus; |
| +using testing::_; |
| using testing::Return; |
| namespace { |
| @@ -29,11 +34,14 @@ class DataReductionProxyParamsMock : public DataReductionProxyParams { |
| DataReductionProxyParamsMock() : DataReductionProxyParams(0) {} |
| virtual ~DataReductionProxyParamsMock() {} |
| - MOCK_METHOD1(IsDataReductionProxyEligible, bool(const net::URLRequest*)); |
| + MOCK_CONST_METHOD2( |
| + IsDataReductionProxy, |
| + bool(const net::HostPortPair& host_port_pair, |
| + data_reduction_proxy::DataReductionProxyTypeInfo* proxy_info)); |
| MOCK_CONST_METHOD2( |
| WasDataReductionProxyUsed, |
| bool(const net::URLRequest*, |
| - data_reduction_proxy::DataReductionProxyTypeInfo* proxy_servers)); |
| + data_reduction_proxy::DataReductionProxyTypeInfo* proxy_info)); |
| private: |
| DISALLOW_COPY_AND_ASSIGN(DataReductionProxyParamsMock); |
| @@ -43,6 +51,7 @@ class DataReductionProxyParamsMock : public DataReductionProxyParams { |
| namespace data_reduction_proxy { |
| + |
| class DataReductionProxyUsageStatsTest : public testing::Test { |
| public: |
| DataReductionProxyUsageStatsTest() |
| @@ -71,8 +80,11 @@ class DataReductionProxyUsageStatsTest : public testing::Test { |
| }; |
| TEST_F(DataReductionProxyUsageStatsTest, IsDataReductionProxyUnreachable) { |
| + ProxyServer fallback_proxy_server = |
| + ProxyServer::FromURI("foo.com", ProxyServer::SCHEME_HTTP); |
| + DataReductionProxyTypeInfo proxy_info; |
| struct TestCase { |
| - bool is_proxy_eligible; |
| + bool fallback_proxy_server_is_data_reduction_proxy; |
| bool was_proxy_used; |
| bool is_unreachable; |
| }; |
| @@ -83,6 +95,11 @@ TEST_F(DataReductionProxyUsageStatsTest, IsDataReductionProxyUnreachable) { |
| false |
| }, |
| { |
| + false, |
| + true, |
| + false |
| + }, |
| + { |
| true, |
| true, |
| false |
| @@ -96,9 +113,9 @@ TEST_F(DataReductionProxyUsageStatsTest, IsDataReductionProxyUnreachable) { |
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { |
| TestCase test_case = test_cases[i]; |
| - EXPECT_CALL(mock_params_, |
| - IsDataReductionProxyEligible(mock_url_request_.get())) |
| - .WillRepeatedly(Return(test_case.is_proxy_eligible)); |
| + EXPECT_CALL(mock_params_, IsDataReductionProxy(_, _)) |
| + .WillRepeatedly( |
| + Return(test_case.fallback_proxy_server_is_data_reduction_proxy)); |
| EXPECT_CALL(mock_params_, |
| WasDataReductionProxyUsed(mock_url_request_.get(), NULL)) |
| .WillRepeatedly(Return(test_case.was_proxy_used)); |
| @@ -110,6 +127,8 @@ TEST_F(DataReductionProxyUsageStatsTest, IsDataReductionProxyUnreachable) { |
| base::Bind(&DataReductionProxyUsageStatsTest::NotifyUnavailable, |
| base::Unretained(this))); |
| + usage_stats->OnProxyFallback(fallback_proxy_server, |
| + net::ERR_PROXY_CONNECTION_FAILED); |
| usage_stats->OnUrlRequestCompleted(mock_url_request_.get(), false); |
| MessageLoop::current()->RunUntilIdle(); |