Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc

Issue 1363673004: [DRP] Consistently use LoFi for an entire page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final comments Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc
index 8daef65327ae1aeaad63da0d1ac7fe10ae041d47..a1aa028ad30a46cb05398a1a1be71a66dc1ab4d2 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options_unittest.cc
@@ -10,6 +10,7 @@
#include "base/command_line.h"
#include "base/md5.h"
#include "base/memory/scoped_ptr.h"
+#include "base/metrics/field_trial.h"
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
@@ -154,13 +155,14 @@ class DataReductionProxyRequestOptionsTest : public testing::Test {
request_options_->Init();
}
- void CreateRequest(int load_flags) {
+ void CreateRequest() {
net::URLRequestContext* context =
test_context_->request_context_getter()->GetURLRequestContext();
request_ = context->CreateRequest(GURL(), net::DEFAULT_PRIORITY, nullptr);
- request_->SetLoadFlags(load_flags);
}
+ const net::URLRequest& request() { return *request_.get(); }
+
TestDataReductionProxyParams* params() {
return test_context_->config()->test_params();
}
@@ -170,7 +172,8 @@ class DataReductionProxyRequestOptionsTest : public testing::Test {
}
void VerifyExpectedHeader(const std::string& proxy_uri,
- const std::string& expected_header) {
+ const std::string& expected_header,
+ bool should_request_lofi_resource) {
test_context_->RunUntilIdle();
net::HttpRequestHeaders headers;
request_options_->MaybeAddRequestHeader(
@@ -178,7 +181,7 @@ class DataReductionProxyRequestOptionsTest : public testing::Test {
proxy_uri.empty() ? net::ProxyServer()
: net::ProxyServer::FromURI(
proxy_uri, net::ProxyServer::SCHEME_HTTP),
- &headers);
+ &headers, should_request_lofi_resource);
if (expected_header.empty()) {
EXPECT_FALSE(headers.HasHeader(kChromeProxyHeader));
return;
@@ -225,16 +228,16 @@ TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationOnIOThread) {
request_options()->SetKeyOnIO(kTestKey2);
// Don't write headers if the proxy is invalid.
- VerifyExpectedHeader(std::string(), std::string());
+ VerifyExpectedHeader(std::string(), std::string(), false);
// Don't write headers with a valid proxy, that's not a data reduction proxy.
- VerifyExpectedHeader(kOtherProxy, std::string());
+ VerifyExpectedHeader(kOtherProxy, std::string(), false);
// Don't write headers with a valid data reduction ssl proxy.
- VerifyExpectedHeader(params()->DefaultSSLOrigin(), std::string());
+ VerifyExpectedHeader(params()->DefaultSSLOrigin(), std::string(), false);
// Write headers with a valid data reduction proxy.
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
// Write headers with a valid data reduction ssl proxy when one is expected.
net::HttpRequestHeaders ssl_headers;
@@ -250,11 +253,11 @@ TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationOnIOThread) {
// Fast forward 24 hours. The header should be the same.
request_options()->set_offset(base::TimeDelta::FromSeconds(24 * 60 * 60));
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
// Fast forward one more second. The header should be new.
request_options()->set_offset(base::TimeDelta::FromSeconds(24 * 60 * 60 + 1));
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header2);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header2, false);
}
TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationIgnoresEmptyKey) {
@@ -264,12 +267,12 @@ TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationIgnoresEmptyKey) {
std::string(), std::vector<std::string>(),
&expected_header);
CreateRequestOptions(kVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
// Now set an empty key. The auth handler should ignore that, and the key
// remains |kTestKey|.
request_options()->SetKeyOnIO(std::string());
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
}
TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationBogusVersion) {
@@ -282,7 +285,7 @@ TEST_F(DataReductionProxyRequestOptionsTest, AuthorizationBogusVersion) {
// Now set a key.
request_options()->SetKeyOnIO(kTestKey2);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
}
TEST_F(DataReductionProxyRequestOptionsTest, LoFiOnThroughCommandLineSwitch) {
@@ -291,10 +294,11 @@ TEST_F(DataReductionProxyRequestOptionsTest, LoFiOnThroughCommandLineSwitch) {
SetHeaderExpectations(kExpectedSession, kExpectedCredentials, std::string(),
kClientStr, std::string(), std::string(), std::string(),
std::vector<std::string>(), &expected_header);
-
- test_context_->config()->UpdateLoFiStatusOnMainFrameRequest(false, nullptr);
+ CreateRequest();
CreateRequestOptions(kBogusVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(
+ params()->DefaultOrigin(), expected_header,
+ test_context_->config()->ShouldEnableLoFiMode(request()));
test_context_->config()->ResetLoFiStatusForTest();
// Add the LoFi command line switch.
@@ -306,9 +310,10 @@ TEST_F(DataReductionProxyRequestOptionsTest, LoFiOnThroughCommandLineSwitch) {
kClientStr, std::string(), std::string(), "low",
std::vector<std::string>(), &expected_header);
- test_context_->config()->UpdateLoFiStatusOnMainFrameRequest(false, nullptr);
CreateRequestOptions(kBogusVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(
+ params()->DefaultOrigin(), expected_header,
+ test_context_->config()->ShouldEnableLoFiMode(request()));
}
TEST_F(DataReductionProxyRequestOptionsTest, AutoLoFi) {
@@ -354,18 +359,27 @@ TEST_F(DataReductionProxyRequestOptionsTest, AutoLoFi) {
expected_header = expected_header.append(", exp=");
expected_header = expected_header.append(kLoFiExperimentID);
}
- test_context_->config()->SetIncludedInLoFiEnabledFieldTrial(
- tests[i].auto_lofi_enabled_group);
- test_context_->config()->SetIncludedInLoFiControlFieldTrial(
- tests[i].auto_lofi_control_group);
+
+ base::FieldTrialList field_trial_list(nullptr);
+ if (tests[i].auto_lofi_enabled_group) {
+ base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
+ "Enabled");
+ }
+
+ if (tests[i].auto_lofi_control_group) {
+ base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
+ "Control");
+ }
+
test_context_->config()->SetNetworkProhibitivelySlow(
tests[i].network_prohibitively_slow);
- // Force update Lo-Fi status.
- test_context_->config()->UpdateLoFiStatusOnMainFrameRequest(false, nullptr);
+ CreateRequest();
CreateRequestOptions(kBogusVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(
+ params()->DefaultOrigin(), expected_header,
+ test_context_->config()->ShouldEnableLoFiMode(request()));
}
}
@@ -433,17 +447,21 @@ TEST_F(DataReductionProxyRequestOptionsTest, SlowConnectionsFlag) {
switches::kDataReductionProxyLoFiValueSlowConnectionsOnly);
}
- test_context_->config()->SetIncludedInLoFiEnabledFieldTrial(
- tests[i].auto_lofi_enabled_group);
+ base::FieldTrialList field_trial_list(nullptr);
+ if (tests[i].auto_lofi_enabled_group) {
+ base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
+ "Enabled");
+ }
test_context_->config()->SetNetworkProhibitivelySlow(
tests[i].network_prohibitively_slow);
- // Force update Lo-Fi status.
- test_context_->config()->UpdateLoFiStatusOnMainFrameRequest(false, nullptr);
+ CreateRequest();
CreateRequestOptions(kBogusVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(
+ params()->DefaultOrigin(), expected_header,
+ test_context_->config()->ShouldEnableLoFiMode(request()));
}
}
@@ -455,7 +473,7 @@ TEST_F(DataReductionProxyRequestOptionsTest, SecureSession) {
CreateRequestOptions(kBogusVersion);
request_options()->SetSecureSession(kSecureSession);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
}
TEST_F(DataReductionProxyRequestOptionsTest, ParseExperiments) {
@@ -471,7 +489,7 @@ TEST_F(DataReductionProxyRequestOptionsTest, ParseExperiments) {
expected_experiments, &expected_header);
CreateRequestOptions(kBogusVersion);
- VerifyExpectedHeader(params()->DefaultOrigin(), expected_header);
+ VerifyExpectedHeader(params()->DefaultOrigin(), expected_header, false);
}
TEST_F(DataReductionProxyRequestOptionsTest, ParseLocalSessionKey) {

Powered by Google App Engine
This is Rietveld 408576698