Chromium Code Reviews| 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" |
|
bengr
2014/08/12 20:57:11
So block-once= and block-once=foo are both ignored
sclittle
2014/08/12 21:24:43
Acknowledged.
|
| + "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, |