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 038119ca098ea5956d90195da17dedc21d610a78..a02808ce755d11eb4abb0291c9a9ecaca7e6a4e6 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 |
@@ -228,79 +228,6 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test { |
test_context_->EnableDataReductionProxyWithSecureProxyCheckSuccess(); |
} |
- // Build the sockets by adding appropriate mock data for |
- // |effective_connection_types.size()| number of requests. Data for |
- // chrome-Proxy-ect header is added to the mock data if |expect_ect_header| |
- // is true. |reads_list|, |mock_writes| and |writes_list| should be empty, and |
- // are owned by the caller. |
- void BuildSocket(const std::string& response_headers, |
- const std::string& response_body, |
- bool expect_ect_header, |
- const std::vector<net::EffectiveConnectionType>& |
- effective_connection_types, |
- std::vector<net::MockRead>* reads_list, |
- std::vector<std::string>* mock_writes, |
- std::vector<net::MockWrite>* writes_list) { |
- EXPECT_LT(0u, effective_connection_types.size()); |
- EXPECT_TRUE(reads_list->empty()); |
- EXPECT_TRUE(mock_writes->empty()); |
- EXPECT_TRUE(writes_list->empty()); |
- |
- for (size_t i = 0; i < effective_connection_types.size(); ++i) { |
- reads_list->push_back(net::MockRead(response_headers.c_str())); |
- reads_list->push_back(net::MockRead(response_body.c_str())); |
- } |
- reads_list->push_back(net::MockRead(net::SYNCHRONOUS, net::OK)); |
- |
- std::string prefix = std::string("GET ") |
- .append(kTestURL) |
- .append(" HTTP/1.1\r\n") |
- .append("Host: ") |
- .append(GURL(kTestURL).host()) |
- .append( |
- "\r\n" |
- "Proxy-Connection: keep-alive\r\n" |
- "User-Agent:\r\n" |
- "Accept-Encoding: gzip, deflate\r\n" |
- "Accept-Language: en-us,fr\r\n"); |
- |
- if (io_data()->test_request_options()->GetHeaderValueForTesting().empty()) { |
- // Force regeneration of Chrome-Proxy header. |
- io_data()->test_request_options()->SetSecureSession("123"); |
- } |
- |
- EXPECT_FALSE( |
- io_data()->test_request_options()->GetHeaderValueForTesting().empty()); |
- |
- std::string suffix = |
- std::string("Chrome-Proxy: ") + |
- io_data()->test_request_options()->GetHeaderValueForTesting() + |
- std::string("\r\n\r\n"); |
- |
- mock_socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider_); |
- |
- for (net::EffectiveConnectionType effective_connection_type : |
- effective_connection_types) { |
- std::string ect_header; |
- if (expect_ect_header) { |
- ect_header = "chrome-proxy-ect: " + |
- std::string(net::GetNameForEffectiveConnectionType( |
- effective_connection_type)) + |
- "\r\n"; |
- } |
- |
- std::string mock_write = prefix + ect_header + suffix; |
- mock_writes->push_back(mock_write); |
- writes_list->push_back(net::MockWrite(mock_writes->back().c_str())); |
- } |
- |
- EXPECT_FALSE(socket_); |
- socket_ = base::MakeUnique<net::StaticSocketDataProvider>( |
- reads_list->data(), reads_list->size(), writes_list->data(), |
- writes_list->size()); |
- mock_socket_factory_.AddSocketDataProvider(socket_.get()); |
- } |
- |
static void VerifyHeaders(bool expected_data_reduction_proxy_used, |
bool expected_lofi_used, |
const net::HttpRequestHeaders& headers) { |
@@ -425,10 +352,6 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test { |
"User-Agent:\r\n"); |
std::string accept_language_header("Accept-Language: en-us,fr\r\n"); |
- std::string ect_header = "chrome-proxy-ect: " + |
- std::string(net::GetNameForEffectiveConnectionType( |
- net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN)) + |
- "\r\n"; |
// Brotli is included in accept-encoding header only if the request went |
// to the network (i.e., it was not a cached response), and if data |
@@ -444,14 +367,13 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test { |
std::string("\r\n\r\n"); |
std::string mock_write = prefix_headers + accept_language_header + |
- ect_header + accept_encoding_header + |
- suffix_headers; |
+ accept_encoding_header + suffix_headers; |
if (expect_cached || !expect_brotli) { |
// Order of headers is different if the headers were modified by data |
// reduction proxy network delegate. |
mock_write = prefix_headers + accept_encoding_header + |
- accept_language_header + ect_header + suffix_headers; |
+ accept_language_header + suffix_headers; |
} |
net::MockWrite writes[] = {net::MockWrite(mock_write.c_str())}; |
@@ -508,51 +430,6 @@ class DataReductionProxyNetworkDelegateTest : public testing::Test { |
} |
} |
- // Fetches a request while the effective connection type is set to |
- // |effective_connection_type|. Verifies that the request headers include the |
- // chrome-proxy-ect header only if |expect_ect_header| is true. The response |
- // must be served from the cache if |expect_cached| is true. |
- void FetchURLRequestAndVerifyECTHeader( |
- net::EffectiveConnectionType effective_connection_type, |
- bool expect_ect_header, |
- bool expect_cached) { |
- test_network_quality_estimator()->set_effective_connection_type( |
- effective_connection_type); |
- |
- net::TestDelegate delegate; |
- std::unique_ptr<net::URLRequest> request = |
- context_.CreateRequest(GURL(kTestURL), net::IDLE, &delegate); |
- |
- request->Start(); |
- base::RunLoop().RunUntilIdle(); |
- |
- EXPECT_EQ(140, request->received_response_content_length()); |
- EXPECT_EQ(expect_cached, request->was_cached()); |
- EXPECT_EQ(expect_cached, request->GetTotalSentBytes() == 0); |
- EXPECT_EQ(expect_cached, request->GetTotalReceivedBytes() == 0); |
- |
- net::HttpRequestHeaders sent_request_headers; |
- EXPECT_NE(expect_cached, |
- request->GetFullRequestHeaders(&sent_request_headers)); |
- |
- if (expect_cached) { |
- // Request headers are missing. Return since there is nothing left to |
- // check. |
- return; |
- } |
- |
- // Verify that chrome-proxy-ect header is present in the request headers |
- // only if |expect_ect_header| is true. |
- std::string ect_value; |
- EXPECT_EQ(expect_ect_header, sent_request_headers.GetHeader( |
- chrome_proxy_ect_header(), &ect_value)); |
- |
- if (!expect_ect_header) |
- return; |
- EXPECT_EQ(net::GetNameForEffectiveConnectionType(effective_connection_type), |
- ect_value); |
- } |
- |
void DelegateStageDone(int result) {} |
void NotifyNetworkDelegate(net::URLRequest* request, |
@@ -1286,89 +1163,6 @@ TEST_F(DataReductionProxyNetworkDelegateTest, BrotliAdvertisement) { |
FetchURLRequestAndVerifyBrotli(nullptr, response_headers, true, true); |
} |
-// Test that effective connection type is correctly added to the request |
-// headers when it is enabled using field trial. The server is varying on the |
-// effective connection type (ECT). |
-TEST_F(DataReductionProxyNetworkDelegateTest, ECTHeaderEnabledWithVary) { |
- Init(true /* use_secure_proxy */, false /* enable_brotli_globally */); |
- |
- std::string response_headers = |
- "HTTP/1.1 200 OK\r\n" |
- "Content-Length: 140\r\n" |
- "Via: 1.1 Chrome-Compression-Proxy\r\n" |
- "Cache-Control: max-age=1200\r\n" |
- "Vary: chrome-proxy-ect\r\n" |
- "x-original-content-length: 200\r\n\r\n"; |
- |
- int response_body_size = 140; |
- std::string response_body(base::checked_cast<size_t>(response_body_size), |
- ' '); |
- |
- std::vector<net::MockRead> reads_list; |
- std::vector<std::string> mock_writes; |
- std::vector<net::MockWrite> writes_list; |
- |
- std::vector<net::EffectiveConnectionType> effective_connection_types; |
- effective_connection_types.push_back(net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G); |
- effective_connection_types.push_back(net::EFFECTIVE_CONNECTION_TYPE_2G); |
- |
- BuildSocket(response_headers, response_body, true, effective_connection_types, |
- &reads_list, &mock_writes, &writes_list); |
- |
- // Add 2 socket providers since 2 requests in this test are fetched from the |
- // network. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[0], true, false); |
- |
- // When the ECT is set to the same value, fetching the same resource should |
- // result in a cache hit. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[0], true, true); |
- |
- // When the ECT is set to a different value, the response should not be |
- // served from the cache. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[1], true, false); |
-} |
- |
-// Test that effective connection type is correctly added to the request |
-// headers when it is enabled using field trial. The server is not varying on |
-// the effective connection type (ECT). |
-TEST_F(DataReductionProxyNetworkDelegateTest, ECTHeaderEnabledWithoutVary) { |
- Init(true /* use_secure_proxy */, false /* enable_brotli_globally */); |
- |
- std::string response_headers = |
- "HTTP/1.1 200 OK\r\n" |
- "Content-Length: 140\r\n" |
- "Via: 1.1 Chrome-Compression-Proxy\r\n" |
- "Cache-Control: max-age=1200\r\n" |
- "x-original-content-length: 200\r\n\r\n"; |
- |
- int response_body_size = 140; |
- std::string response_body(base::checked_cast<size_t>(response_body_size), |
- ' '); |
- |
- std::vector<net::MockRead> reads_list; |
- std::vector<std::string> mock_writes; |
- std::vector<net::MockWrite> writes_list; |
- |
- std::vector<net::EffectiveConnectionType> effective_connection_types; |
- effective_connection_types.push_back(net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G); |
- effective_connection_types.push_back(net::EFFECTIVE_CONNECTION_TYPE_2G); |
- |
- BuildSocket(response_headers, response_body, true, effective_connection_types, |
- &reads_list, &mock_writes, &writes_list); |
- |
- // Add 1 socket provider since 1 request in this test is fetched from the |
- // network. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[0], true, false); |
- |
- // When the ECT is set to the same value, fetching the same resource should |
- // result in a cache hit. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[0], true, true); |
- |
- // When the ECT is set to a different value, the response should still be |
- // served from the cache. |
- FetchURLRequestAndVerifyECTHeader(effective_connection_types[1], true, true); |
-} |
- |
} // namespace |
} // namespace data_reduction_proxy |