| 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 338c4f3080cb370e4ba32c54213e85f19af12ab5..f30883c9b4ed361dd7e1041582494156bd0edad3 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
|
| @@ -68,6 +68,8 @@ using TestNetworkDelegate = net::NetworkDelegateImpl;
|
|
|
| const char kOtherProxy[] = "testproxy:17";
|
|
|
| +const char kTestURL[] = "http://www.google.com/";
|
| +
|
| #if defined(OS_ANDROID)
|
| const Client kClient = Client::CHROME_ANDROID;
|
| #elif defined(OS_IOS)
|
| @@ -288,7 +290,7 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test {
|
| const std::string& response_headers,
|
| bool expect_cached,
|
| bool expect_brotli) {
|
| - GURL url("http://www.example.com/a.html");
|
| + GURL url(kTestURL);
|
| net::SSLSocketDataProvider ssl_socket_data_provider(net::ASYNC, net::OK);
|
|
|
| int response_body_size = 140;
|
| @@ -311,11 +313,17 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test {
|
| EXPECT_FALSE(
|
| io_data()->test_request_options()->GetHeaderValueForTesting().empty());
|
|
|
| - std::string prefix_headers(
|
| - "GET http://www.example.com/a.html HTTP/1.1\r\n"
|
| - "Host: www.example.com\r\n"
|
| - "Proxy-Connection: keep-alive\r\n"
|
| - "User-Agent:\r\n");
|
| + std::string host = GURL(kTestURL).host();
|
| + std::string prefix_headers = std::string("GET ")
|
| + .append(kTestURL)
|
| + .append(
|
| + " HTTP/1.1\r\n"
|
| + "Host: ")
|
| + .append(host)
|
| + .append(
|
| + "\r\n"
|
| + "Proxy-Connection: keep-alive\r\n"
|
| + "User-Agent:\r\n");
|
|
|
| std::string accept_language_header("Accept-Language: en-us,fr\r\n");
|
|
|
| @@ -442,8 +450,8 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test {
|
|
|
| TEST_F(DataReductionProxyNetworkDelegateTest, AuthenticationTest) {
|
| Init(false, false);
|
| - std::unique_ptr<net::URLRequest> fake_request(FetchURLRequest(
|
| - GURL("http://www.google.com/"), nullptr, std::string(), 0));
|
| + std::unique_ptr<net::URLRequest> fake_request(
|
| + FetchURLRequest(GURL(kTestURL), nullptr, std::string(), 0));
|
|
|
| net::ProxyInfo data_reduction_proxy_info;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| @@ -518,8 +526,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
|
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
| fake_request->SetLoadFlags(net::LOAD_MAIN_FRAME_DEPRECATED);
|
| lofi_decider()->SetIsUsingLoFiMode(
|
| config()->ShouldEnableLoFiMode(*fake_request.get()));
|
| @@ -538,8 +546,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
| lofi_decider()->SetIsUsingLoFiMode(false);
|
| NotifyNetworkDelegate(fake_request.get(), data_reduction_proxy_info,
|
| proxy_retry_info, &headers);
|
| @@ -556,8 +564,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
|
|
| lofi_decider()->SetIsUsingLoFiMode(true);
|
| NotifyNetworkDelegate(fake_request.get(), data_reduction_proxy_info,
|
| @@ -576,8 +584,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
| fake_request->SetLoadFlags(net::LOAD_MAIN_FRAME_DEPRECATED);
|
| lofi_decider()->SetIsUsingLoFiMode(false);
|
| NotifyNetworkDelegate(fake_request.get(), data_reduction_proxy_info,
|
| @@ -593,8 +601,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
| lofi_decider()->SetIsUsingLoFiMode(false);
|
| NotifyNetworkDelegate(fake_request.get(), data_reduction_proxy_info,
|
| proxy_retry_info, &headers);
|
| @@ -611,8 +619,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, LoFiTransitions) {
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| net::TestDelegate delegate;
|
| - std::unique_ptr<net::URLRequest> fake_request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::IDLE, &delegate);
|
| + std::unique_ptr<net::URLRequest> fake_request =
|
| + context()->CreateRequest(GURL(kTestURL), net::IDLE, &delegate);
|
| fake_request->SetLoadFlags(net::LOAD_MAIN_FRAME_DEPRECATED);
|
| lofi_decider()->SetIsUsingLoFiMode(
|
| config()->ShouldEnableLoFiMode(*fake_request.get()));
|
| @@ -672,7 +680,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest, RequestDataConfigurations) {
|
| context()->set_network_quality_estimator(&test_network_quality_estimator);
|
|
|
| std::unique_ptr<net::URLRequest> request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::RequestPriority::IDLE, nullptr);
|
| + GURL(kTestURL), net::RequestPriority::IDLE, nullptr);
|
| request->SetLoadFlags(test.main_frame ? net::LOAD_MAIN_FRAME_DEPRECATED
|
| : 0);
|
| lofi_decider()->SetIsUsingLoFiMode(test.lofi_on);
|
| @@ -689,7 +697,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest, RequestDataConfigurations) {
|
| : net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
|
| data->effective_connection_type());
|
| EXPECT_TRUE(data->used_data_reduction_proxy());
|
| - EXPECT_EQ(GURL("http://www.google.com/"), data->request_url());
|
| + EXPECT_EQ(GURL(kTestURL), data->request_url());
|
| EXPECT_EQ("fake-session", data->session_key());
|
| EXPECT_EQ(test.lofi_on, data->lofi_requested());
|
| }
|
| @@ -727,7 +735,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest,
|
| data_reduction_proxy_info.UseNamedProxy("some.other.proxy");
|
| config()->UpdateConfigForTesting(test.data_reduction_proxy_enabled, true);
|
| std::unique_ptr<net::URLRequest> request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::RequestPriority::IDLE, nullptr);
|
| + GURL(kTestURL), net::RequestPriority::IDLE, nullptr);
|
| request->set_method("GET");
|
| net::HttpRequestHeaders headers;
|
| net::ProxyRetryInfoMap proxy_retry_info;
|
| @@ -761,7 +769,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest, RedirectRequestDataCleared) {
|
| context()->set_network_quality_estimator(&test_network_quality_estimator);
|
|
|
| std::unique_ptr<net::URLRequest> request = context()->CreateRequest(
|
| - GURL("http://www.google.com/"), net::RequestPriority::IDLE, nullptr);
|
| + GURL(kTestURL), net::RequestPriority::IDLE, nullptr);
|
| request->SetLoadFlags(net::LOAD_MAIN_FRAME_DEPRECATED);
|
| lofi_decider()->SetIsUsingLoFiMode(true);
|
| io_data()->request_options()->SetSecureSession("fake-session");
|
| @@ -774,14 +782,20 @@ TEST_F(DataReductionProxyNetworkDelegateTest, RedirectRequestDataCleared) {
|
| EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE,
|
| data->effective_connection_type());
|
| EXPECT_TRUE(data->used_data_reduction_proxy());
|
| - EXPECT_EQ(GURL("http://www.google.com/"), data->request_url());
|
| + EXPECT_EQ(GURL(kTestURL), data->request_url());
|
| EXPECT_EQ("fake-session", data->session_key());
|
| EXPECT_TRUE(data->lofi_requested());
|
|
|
| data_reduction_proxy_info.UseNamedProxy("port.of.other.proxy");
|
|
|
| - // Simulate a redirect by calling NotifyBeforeSendHeaders again with different
|
| - // proxy info.
|
| + // Simulate a redirect even though the same URL is used. Should clear
|
| + // DataReductionProxyData.
|
| + network_delegate()->NotifyBeforeRedirect(request.get(), GURL(kTestURL));
|
| + data = DataReductionProxyData::GetData(*request.get());
|
| + EXPECT_FALSE(data);
|
| +
|
| + // Call NotifyBeforeSendHeaders again with different proxy info to check that
|
| + // new data isn't added.
|
| network_delegate()->NotifyBeforeSendHeaders(
|
| request.get(), data_reduction_proxy_info, proxy_retry_info, &headers);
|
| data = DataReductionProxyData::GetData(*request.get());
|
| @@ -829,9 +843,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, NetHistograms) {
|
| "x-original-content-length: " +
|
| base::Int64ToString(kOriginalContentLength) + "\r\n\r\n";
|
|
|
| - std::unique_ptr<net::URLRequest> fake_request(
|
| - FetchURLRequest(GURL("http://www.google.com/"), nullptr, response_headers,
|
| - kResponseContentLength));
|
| + std::unique_ptr<net::URLRequest> fake_request(FetchURLRequest(
|
| + GURL(kTestURL), nullptr, response_headers, kResponseContentLength));
|
| fake_request->SetLoadFlags(fake_request->load_flags() |
|
| net::LOAD_MAIN_FRAME_DEPRECATED);
|
|
|
| @@ -907,8 +920,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest, NetHistograms) {
|
| lofi_decider()->SetIsUsingLoFiMode(
|
| config()->ShouldEnableLoFiMode(*fake_request.get()));
|
|
|
| - fake_request = (FetchURLRequest(GURL("http://www.example.com/"), nullptr,
|
| - response_headers, kResponseContentLength));
|
| + fake_request = (FetchURLRequest(GURL(kTestURL), nullptr, response_headers,
|
| + kResponseContentLength));
|
| fake_request->SetLoadFlags(fake_request->load_flags() |
|
| net::LOAD_MAIN_FRAME_DEPRECATED);
|
|
|
| @@ -959,8 +972,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest, OnCompletedInternalLoFi) {
|
| response_headers += "Chrome-Proxy-Content-Transform: empty-image\r\n";
|
|
|
| response_headers += "\r\n";
|
| - FetchURLRequest(GURL("http://www.google.com/"), nullptr, response_headers,
|
| - 140);
|
| + FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140);
|
|
|
| VerifyDidNotifyLoFiResponse(tests[i].lofi_response);
|
| }
|
| @@ -976,8 +988,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest,
|
| net::HttpRequestHeaders request_headers;
|
| request_headers.SetHeader("chrome-proxy-accept-transform", "lite-page");
|
| lofi_decider()->ignore_is_using_data_reduction_proxy_check();
|
| - FetchURLRequest(GURL("http://www.google.com/"), &request_headers,
|
| - std::string(), 140);
|
| + FetchURLRequest(GURL(kTestURL), &request_headers, std::string(), 140);
|
| histogram_tester.ExpectBucketCount(kLoFiTransformationTypeHistogram,
|
| NO_TRANSFORMATION_LITE_PAGE_REQUESTED, 1);
|
|
|
| @@ -990,8 +1001,7 @@ TEST_F(DataReductionProxyNetworkDelegateTest,
|
| "x-original-content-length: 200\r\n";
|
|
|
| response_headers += "\r\n";
|
| - FetchURLRequest(GURL("http://www.google.com/"), nullptr, response_headers,
|
| - 140);
|
| + FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140);
|
|
|
| histogram_tester.ExpectBucketCount(kLoFiTransformationTypeHistogram,
|
| LITE_PAGE, 1);
|
| @@ -1033,8 +1043,8 @@ TEST_F(DataReductionProxyNetworkDelegateTest,
|
|
|
| // Use secure sockets when fetching the request since Brotli is only enabled
|
| // for secure connections.
|
| - std::unique_ptr<net::URLRequest> request(FetchURLRequest(
|
| - GURL("http://www.example.com/a.html"), nullptr, response_headers, 140));
|
| + std::unique_ptr<net::URLRequest> request(
|
| + FetchURLRequest(GURL(kTestURL), nullptr, response_headers, 140));
|
| EXPECT_EQ(140, request->received_response_content_length());
|
| EXPECT_NE(0, request->GetTotalSentBytes());
|
| EXPECT_NE(0, request->GetTotalReceivedBytes());
|
|
|