Chromium Code Reviews| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc |
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc |
| index db7e028e99f864c66be81f4bf3dff57784c686d6..9e5dd7fae8b76b1b4aea2b7892ba6447f9487cd9 100644 |
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc |
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc |
| @@ -242,7 +242,8 @@ class TestLoFiDecider : public LoFiDecider { |
| std::string header_value; |
| if (headers.GetHeader(chrome_proxy_accept_transform_header(), |
| &header_value)) { |
| - return header_value == empty_image_directive(); |
| + return header_value == empty_image_directive() || |
| + header_value == lite_page_directive(); |
| } |
| return false; |
| } |
| @@ -2164,6 +2165,89 @@ TEST_F(DataReductionProxyNetworkDelegateClientLoFiTest, DataSavingsThroughDRP) { |
| GetSavings()); |
| } |
| +TEST_F(DataReductionProxyNetworkDelegateTest, TestAcceptTransformHistogram) { |
| + Init(USE_INSECURE_PROXY, false); |
| + base::HistogramTester histogram_tester; |
| + |
| + // Verify lite page request. |
| + net::HttpRequestHeaders request_headers; |
| + request_headers.SetHeader("chrome-proxy-accept-transform", "lite-page"); |
| + FetchURLRequest(GURL(kTestURL), &request_headers, std::string(), 140, 0); |
| + histogram_tester.ExpectTotalCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", 1); |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", |
| + 0 /* ACCEPT_LITE_PAGE_SENT */, 1); |
|
bengr
2017/06/28 16:45:51
Why are you not using the enum?
dougarnett
2017/06/28 22:12:38
1. not exposed; and 2. because we mean to be testi
|
| + // Check legacy histogram too: |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.LoFi.TransformationType", |
| + NO_TRANSFORMATION_LITE_PAGE_REQUESTED, 1); |
| + |
| + // Verify empty image request. |
| + request_headers.SetHeader("chrome-proxy-accept-transform", "empty-image"); |
| + FetchURLRequest(GURL(kTestURL), &request_headers, std::string(), 140, 0); |
| + histogram_tester.ExpectTotalCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", 2); |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", |
| + 3 /* ACCEPT_EMPTY_IMAGE_SENT */, 1); |
| + |
| + // Verify lite page response. |
| + std::string response_headers = |
| + "HTTP/1.1 200 OK\r\n" |
| + "Chrome-Proxy-Content-Transform: lite-page\r\n" |
| + "Date: Wed, 28 Nov 2007 09:40:09 GMT\r\n" |
| + "Expires: Mon, 24 Nov 2014 12:45:26 GMT\r\n" |
| + "Via: 1.1 Chrome-Compression-Proxy\r\n" |
| + "x-original-content-length: 200\r\n" |
| + "\r\n"; |
| + auto request = |
| + FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140, 0); |
| + EXPECT_TRUE(DataReductionProxyData::GetData(*request)->lite_page_received()); |
| + histogram_tester.ExpectTotalCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", 3); |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", |
| + 1 /* TRANSFORM_LITE_PAGE_RECEIVED */, 1); |
| + // Check legacy histogram too: |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.LoFi.TransformationType", LITE_PAGE, 1); |
| + |
| + // Verify page policy response. |
| + response_headers = |
| + "HTTP/1.1 200 OK\r\n" |
| + "Chrome-Proxy: page-policies=empty-image\r\n" |
| + "Date: Wed, 28 Nov 2007 09:40:09 GMT\r\n" |
| + "Expires: Mon, 24 Nov 2014 12:45:26 GMT\r\n" |
| + "Via: 1.1 Chrome-Compression-Proxy\r\n" |
| + "x-original-content-length: 200\r\n" |
| + "\r\n"; |
| + request = FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140, 0); |
| + EXPECT_FALSE(DataReductionProxyData::GetData(*request)->lite_page_received()); |
| + histogram_tester.ExpectTotalCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", 4); |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", |
| + 2 /* POLICY_EMPTY_IMAGE_RECEIVED */, 1); |
| + |
| + // Verify empty image response. |
| + response_headers = |
| + "HTTP/1.1 200 OK\r\n" |
| + "Chrome-Proxy-Content-Transform: empty-image\r\n" |
| + "Date: Wed, 28 Nov 2007 09:40:09 GMT\r\n" |
| + "Expires: Mon, 24 Nov 2014 12:45:26 GMT\r\n" |
| + "Via: 1.1 Chrome-Compression-Proxy\r\n" |
| + "x-original-content-length: 200\r\n" |
| + "\r\n"; |
| + request = FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140, 0); |
| + EXPECT_TRUE(DataReductionProxyData::GetData(*request)->lofi_received()); |
| + histogram_tester.ExpectTotalCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", 5); |
| + histogram_tester.ExpectBucketCount( |
| + "DataReductionProxy.Protocol.AcceptTransform", |
| + 4 /* TRANSFORM_EMPTY_IMAGE_RECEIVED */, 1); |
| +} |
| + |
| } // namespace |
| } // namespace data_reduction_proxy |