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 70ea1f46df1eeb1eeb2c2ea978921d923f7cc24b..d34ebf2d415c58f9ea49e141b55a8b90f567261e 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,7 +28,6 @@ const char kVersion[] = "0.1.2.3"; |
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"; |
@@ -77,41 +76,6 @@ const Client kClient = Client::UNKNOWN; |
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, |
@@ -339,4 +303,64 @@ TEST_F(DataReductionProxyRequestOptionsTest, ParseExperiments) { |
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 |