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 d34ebf2d415c58f9ea49e141b55a8b90f567261e..70ea1f46df1eeb1eeb2c2ea978921d923f7cc24b 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 |
@@ -28,6 +28,7 @@ |
const char kExpectedBuild[] = "2"; |
const char kExpectedPatch[] = "3"; |
const char kBogusVersion[] = "0.0"; |
+const char kTestKey[] = "test-key"; |
const char kExpectedCredentials[] = "96bd72ec4a050ba60981743d41787768"; |
const char kExpectedSession[] = "0-1633771873-1633771873-1633771873"; |
@@ -76,6 +77,41 @@ |
const char kClientStr[] = ""; |
#endif |
+class TestDataReductionProxyRequestOptions |
+ : public DataReductionProxyRequestOptions { |
+ public: |
+ TestDataReductionProxyRequestOptions( |
+ Client client, |
+ const std::string& version, |
+ DataReductionProxyConfig* config, |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner) |
+ : DataReductionProxyRequestOptions( |
+ client, version, config, task_runner) {} |
+ |
+ std::string GetDefaultKey() const override { |
+ return kTestKey; |
+ } |
+ |
+ base::Time Now() const override { |
+ return base::Time::UnixEpoch() + now_offset_; |
+ } |
+ |
+ void RandBytes(void* output, size_t length) override { |
+ char* c = static_cast<char*>(output); |
+ for (size_t i = 0; i < length; ++i) { |
+ 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_; |
+}; |
+ |
void SetHeaderExpectations(const std::string& session, |
const std::string& credentials, |
const std::string& client, |
@@ -303,64 +339,4 @@ |
VerifyExpectedHeader(params()->DefaultOrigin(), expected_header); |
} |
-TEST_F(DataReductionProxyRequestOptionsTest, ParseLocalSessionKey) { |
- const struct { |
- bool should_succeed; |
- std::string session_key; |
- std::string expected_session; |
- std::string expected_credentials; |
- } tests[] = { |
- { |
- true, |
- "foobar|1234", |
- "foobar", |
- "1234", |
- }, |
- { |
- false, |
- "foobar|1234|foobaz", |
- std::string(), |
- std::string(), |
- }, |
- { |
- false, |
- "foobar", |
- std::string(), |
- std::string(), |
- }, |
- { |
- false, |
- std::string(), |
- std::string(), |
- std::string(), |
- }, |
- }; |
- |
- std::string session; |
- std::string credentials; |
- for (size_t i = 0; i < arraysize(tests); ++i) { |
- EXPECT_EQ(tests[i].should_succeed, |
- DataReductionProxyRequestOptions::ParseLocalSessionKey( |
- tests[i].session_key, &session, &credentials)); |
- if (tests[i].should_succeed) { |
- EXPECT_EQ(tests[i].expected_session, session); |
- EXPECT_EQ(tests[i].expected_credentials, credentials); |
- } |
- } |
-} |
- |
-TEST_F(DataReductionProxyRequestOptionsTest, PopulateConfigResponse) { |
- CreateRequestOptions(kBogusVersion); |
- scoped_ptr<base::DictionaryValue> values(new base::DictionaryValue()); |
- request_options()->PopulateConfigResponse(values.get()); |
- std::string session; |
- std::string expire_time; |
- EXPECT_TRUE(values->GetString("sessionKey", &session)); |
- EXPECT_TRUE(values->GetString("expireTime", &expire_time)); |
- EXPECT_EQ( |
- "0-1633771873-1633771873-1633771873|96bd72ec4a050ba60981743d41787768", |
- session); |
- EXPECT_EQ("1970-01-02T00:00:00.000Z", expire_time); |
-} |
- |
} // namespace data_reduction_proxy |