| Index: components/data_reduction_proxy/common/data_reduction_proxy_headers_unittest.cc
|
| diff --git a/components/data_reduction_proxy/common/data_reduction_proxy_headers_unittest.cc b/components/data_reduction_proxy/common/data_reduction_proxy_headers_unittest.cc
|
| index 931716854352e998402804a314238c45d6d7ea8b..38a13e4f43f92585edd339f1886d0bdce4d06264 100644
|
| --- a/components/data_reduction_proxy/common/data_reduction_proxy_headers_unittest.cc
|
| +++ b/components/data_reduction_proxy/common/data_reduction_proxy_headers_unittest.cc
|
| @@ -95,6 +95,14 @@ TEST_F(DataReductionProxyHeadersTest, GetDataReductionProxyActionValue) {
|
| true,
|
| "123",
|
| },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: proxy-bypass\n"
|
| + "Chrome-Proxy: block-once\n"
|
| + "Content-Length: 999\n",
|
| + "block-once",
|
| + false,
|
| + "",
|
| + },
|
| };
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| std::string headers(tests[i].headers);
|
| @@ -118,12 +126,14 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| bool expected_result;
|
| int64 expected_retry_delay;
|
| bool expected_bypass_all;
|
| + bool expected_mark_proxies_as_bad;
|
| } tests[] = {
|
| { "HTTP/1.1 200 OK\n"
|
| "Content-Length: 999\n",
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -131,6 +141,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -139,6 +150,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -147,6 +159,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -155,6 +168,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -163,6 +177,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -171,6 +186,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -179,6 +195,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -188,6 +205,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 3600,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -196,6 +214,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 3600,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -204,6 +223,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -213,6 +233,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -221,6 +242,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 3600,
|
| true,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: keep-alive\n"
|
| @@ -229,6 +251,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 3600,
|
| true,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: proxy-bypass\n"
|
| @@ -237,6 +260,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| true,
|
| 86400,
|
| false,
|
| + true,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: proxy-bypass\n"
|
| @@ -245,6 +269,7 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| },
|
| { "HTTP/1.1 200 OK\n"
|
| "connection: proxy-bypass\n"
|
| @@ -253,6 +278,80 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| false,
|
| 0,
|
| false,
|
| + false,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 0,
|
| + true,
|
| + false,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once=\n"
|
| + "Content-Length: 999\n",
|
| + false,
|
| + 0,
|
| + false,
|
| + false,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once=10\n"
|
| + "Content-Length: 999\n",
|
| + false,
|
| + 0,
|
| + false,
|
| + false,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once, bypass=86400, block=3600\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 3600,
|
| + true,
|
| + true,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once\n"
|
| + "Chrome-Proxy: bypass=86400, block=3600\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 3600,
|
| + true,
|
| + true,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once, bypass=86400\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 86400,
|
| + false,
|
| + true,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: block-once, block=3600\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 3600,
|
| + true,
|
| + true,
|
| + },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "connection: keep-alive\n"
|
| + "Chrome-Proxy: bypass=, block=, block-once\n"
|
| + "Content-Length: 999\n",
|
| + true,
|
| + 0,
|
| + true,
|
| + false,
|
| },
|
| };
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| @@ -268,6 +367,8 @@ TEST_F(DataReductionProxyHeadersTest, GetProxyBypassInfo) {
|
| data_reduction_proxy_info.bypass_duration.InSeconds());
|
| EXPECT_EQ(tests[i].expected_bypass_all,
|
| data_reduction_proxy_info.bypass_all);
|
| + EXPECT_EQ(tests[i].expected_mark_proxies_as_bad,
|
| + data_reduction_proxy_info.mark_proxies_as_bad);
|
| }
|
| }
|
|
|
| @@ -460,6 +561,11 @@ TEST_F(DataReductionProxyHeadersTest, GetDataReductionProxyBypassEventType) {
|
| "Via: 1.1 Chrome-Compression-Proxy\n",
|
| BYPASS_EVENT_TYPE_LONG,
|
| },
|
| + { "HTTP/1.1 200 OK\n"
|
| + "Chrome-Proxy: block-once\n"
|
| + "Via: 1.1 Chrome-Compression-Proxy\n",
|
| + BYPASS_EVENT_TYPE_CURRENT,
|
| + },
|
| { "HTTP/1.1 500 Internal Server Error\n"
|
| "Via: 1.1 Chrome-Compression-Proxy\n",
|
| BYPASS_EVENT_TYPE_STATUS_500_HTTP_INTERNAL_SERVER_ERROR,
|
|
|