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

Unified Diff: components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler_unittest.cc

Issue 465823002: Data reduction proxy sessions last no more than 24 hours (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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/browser/data_reduction_proxy_auth_request_handler_unittest.cc
diff --git a/components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler_unittest.cc b/components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler_unittest.cc
index 9a800b643e6c7b69f0d277ed6420911d0199d79d..17430d87cae36775b2e6588c75f3bd1d4d5b9bf3 100644
--- a/components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler_unittest.cc
+++ b/components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler_unittest.cc
@@ -43,14 +43,23 @@ const char kExpectedSession2[] = "0-1633771873-1633771873-1633771873";
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, v=0, c=android";
+const char kExpectedHeader3[] =
+ "ps=86401-1633771873-1633771873-1633771873, "
+ "sid=d7c1c34ef6b90303b01c48a6c1db6419, v=0, c=android";
#elif defined(OS_IOS)
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, v=0, c=ios";
+const char kExpectedHeader3[] =
+ "ps=86401-1633771873-1633771873-1633771873, "
+ "sid=d7c1c34ef6b90303b01c48a6c1db6419, v=0, c=ios";
#else
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, v=0";
+const char kExpectedHeader3[] =
+ "ps=86401-1633771873-1633771873-1633771873, "
+ "sid=d7c1c34ef6b90303b01c48a6c1db6419, v=0";
#endif
const char kDataReductionProxyKey[] = "12345";
@@ -75,7 +84,7 @@ class TestDataReductionProxyAuthRequestHandler
}
virtual base::Time Now() const OVERRIDE {
- return base::Time::UnixEpoch();
+ return base::Time::UnixEpoch() + now_offset_;
}
virtual void RandBytes(void* output, size_t length) OVERRIDE {
@@ -84,6 +93,14 @@ class TestDataReductionProxyAuthRequestHandler
c[i] = 'a';
}
}
+
+ // Time after the unix epoch that Now() reports.
+ void set_offset(const base::TimeDelta& now_offset) {
+ now_offset_ = now_offset;
+ }
+
+ private:
+ base::TimeDelta now_offset_;
};
} // namespace
@@ -134,22 +151,52 @@ TEST_F(DataReductionProxyAuthRequestHandlerTest, Authorization) {
// Don't write headers with a valid proxy, that's not a data reduction proxy.
auth_handler.MaybeAddRequestHeader(
- NULL,
- net::ProxyServer::FromURI(kOtherProxy, net::ProxyServer::SCHEME_HTTP),
- &headers);
+ NULL,
+ net::ProxyServer::FromURI(kOtherProxy, net::ProxyServer::SCHEME_HTTP),
+ &headers);
EXPECT_FALSE(headers.HasHeader(kChromeProxyHeader));
// Write headers with a valid data reduction proxy;
auth_handler.MaybeAddRequestHeader(
- NULL,
- net::ProxyServer::FromURI(
- net::HostPortPair::FromURL(GURL(params->DefaultOrigin())).ToString(),
- net::ProxyServer::SCHEME_HTTP),
- &headers);
+ NULL,
+ net::ProxyServer::FromURI(
+ net::HostPortPair::FromURL(GURL(params->DefaultOrigin())).ToString(),
+ net::ProxyServer::SCHEME_HTTP),
+ &headers);
EXPECT_TRUE(headers.HasHeader(kChromeProxyHeader));
std::string header_value;
headers.GetHeader(kChromeProxyHeader, &header_value);
EXPECT_EQ(kExpectedHeader2, header_value);
+
+ // Fast forward 24 hours. The header should be the same.
+ auth_handler.set_offset(base::TimeDelta::FromSeconds(24 * 60 * 60));
+ net::HttpRequestHeaders headers2;
+ // Write headers with a valid data reduction proxy;
+ auth_handler.MaybeAddRequestHeader(
+ NULL,
+ net::ProxyServer::FromURI(
+ net::HostPortPair::FromURL(GURL(params->DefaultOrigin())).ToString(),
+ net::ProxyServer::SCHEME_HTTP),
+ &headers2);
+ EXPECT_TRUE(headers2.HasHeader(kChromeProxyHeader));
+ std::string header_value2;
+ headers2.GetHeader(kChromeProxyHeader, &header_value2);
+ EXPECT_EQ(kExpectedHeader2, header_value2);
+
+ // Fast forward one more second. The header should be new.
+ auth_handler.set_offset(base::TimeDelta::FromSeconds(24 * 60 * 60 + 1));
+ net::HttpRequestHeaders headers3;
+ // Write headers with a valid data reduction proxy;
+ auth_handler.MaybeAddRequestHeader(
+ NULL,
+ net::ProxyServer::FromURI(
+ net::HostPortPair::FromURL(GURL(params->DefaultOrigin())).ToString(),
+ net::ProxyServer::SCHEME_HTTP),
+ &headers3);
+ EXPECT_TRUE(headers3.HasHeader(kChromeProxyHeader));
+ std::string header_value3;
+ headers3.GetHeader(kChromeProxyHeader, &header_value3);
+ EXPECT_EQ(kExpectedHeader3, header_value3);
}
TEST_F(DataReductionProxyAuthRequestHandlerTest, AuthHashForSalt) {

Powered by Google App Engine
This is Rietveld 408576698