146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include <map> 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/command_line.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/logging.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/data_reduction_proxy/browser/data_reduction_proxy_params_test_utils.h" 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/data_reduction_proxy/common/data_reduction_proxy_switches.h" 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "net/proxy/proxy_retry_info.h" 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "net/proxy/proxy_server.h" 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace data_reduction_proxy { 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class DataReductionProxyParamsTest : public testing::Test { 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) void CheckParams(const TestDataReductionProxyParams& params, 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_init_result, 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_allowed, 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_fallback_allowed, 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_alternative_allowed, 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_promo_allowed) { 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(expected_init_result, params.init_result()); 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(expected_allowed, params.allowed()); 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(expected_fallback_allowed, params.fallback_allowed()); 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(expected_alternative_allowed, params.alternative_allowed()); 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(expected_promo_allowed, params.promo_allowed()); 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) } 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) void CheckValues(const TestDataReductionProxyParams& params, 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_origin, 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_fallback_origin, 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_ssl_origin, 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_alt_origin, 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_alt_fallback_origin, 3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& expected_probe_url) { 3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_origin), params.origin()); 4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_fallback_origin), params.fallback_origin()); 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_ssl_origin), params.ssl_origin()); 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_alt_origin), params.alt_origin()); 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_alt_fallback_origin), params.alt_fallback_origin()); 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) EXPECT_EQ(GURL(expected_probe_url), params.probe_url()); 4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) } 4646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 4746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 4846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)TEST_F(DataReductionProxyParamsTest, EverythingDefined) { 4946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestDataReductionProxyParams params( 5046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kAllowed | 5146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kFallbackAllowed | 52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DataReductionProxyParams::kPromoAllowed, 53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_EVERYTHING); 5446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckParams(params, true, true, true, false, true); 5546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckValues(params, 56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultDevOrigin(), 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::DefaultDevFallbackOrigin(), 58116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultSSLOrigin(), 59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin(), 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltFallbackOrigin(), 61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultProbeURL()); 6246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 6346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 6446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)TEST_F(DataReductionProxyParamsTest, NoDevOrigin) { 6546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestDataReductionProxyParams params( 6646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kAllowed | 6746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kFallbackAllowed | 6846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kPromoAllowed, 69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_EVERYTHING & 701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ~TestDataReductionProxyParams::HAS_DEV_ORIGIN & 711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ~TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN); 7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckParams(params, true, true, true, false, true); 7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckValues(params, 74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin(), 75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultFallbackOrigin(), 76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultSSLOrigin(), 77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin(), 78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltFallbackOrigin(), 79116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultProbeURL()); 8046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 8146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 8246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)TEST_F(DataReductionProxyParamsTest, Flags) { 8346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 84116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionProxy, 85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagOrigin()); 8646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 87116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionProxyFallback, 88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagFallbackOrigin()); 8946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 90116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionSSLProxy, 91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagSSLOrigin()); 9246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionProxyAlt, 94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagAltOrigin()); 9546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionProxyAltFallback, 97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagAltFallbackOrigin()); 9846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CommandLine::ForCurrentProcess()->AppendSwitchASCII( 99116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switches::kDataReductionProxyProbeURL, 100116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagProbeURL()); 10146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestDataReductionProxyParams params( 10246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kAllowed | 10346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kFallbackAllowed | 10446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DataReductionProxyParams::kAlternativeAllowed | 105116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DataReductionProxyParams::kPromoAllowed, 106116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_EVERYTHING); 10746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckParams(params, true, true, true, true, true); 10846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) CheckValues(params, 109116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagOrigin(), 110116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagFallbackOrigin(), 111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagSSLOrigin(), 112116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagAltOrigin(), 113116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagAltFallbackOrigin(), 114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::FlagProbeURL()); 11546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 11646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 11746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)TEST_F(DataReductionProxyParamsTest, InvalidConfigurations) { 11846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const struct { 11946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool allowed; 12046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool fallback_allowed; 12146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool alternative_allowed; 1221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci bool alternative_fallback_allowed; 12346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool promo_allowed; 12446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) unsigned int missing_definitions; 12546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool expected_result; 12646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) } tests[] = { 127116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 128116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 129116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 130116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 132116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 133116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_NOTHING, 134116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 135116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 136116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 137116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 138116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 139116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 141116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 1431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 144116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 145116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 146116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 147116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 149116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 151116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 152116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN, 153116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 155116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 156116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 157116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 158116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 160116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 161116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN | 1621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 1631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 164116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 165116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 1661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 167116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 168116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 169116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 1711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 1721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN | 1731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 174116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 175116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 1761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 177116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 179116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 1811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 182116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_SSL_ORIGIN, 183116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 184116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 1851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 186116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 187116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 188116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 1891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 1901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 191116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_ORIGIN, 192116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 193116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 1941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 1951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 1961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 1971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 1981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 1991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 2001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 2011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true 2021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 2031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 2041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 2051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 206116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 207116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 208116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 209116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 210116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 211116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 2121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 213116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 214116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 215116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 2171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 218116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_PROBE_URL, 219116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 220116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 221116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 222116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 223116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 224116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 226116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 227116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_NOTHING, 228116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 229116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 230116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 231116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 232116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 233116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 235116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 236116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN | 2371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 2381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 239116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 240116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 241116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 242116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 243116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 244116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 246116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 247116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN, 248116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 249116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 250116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 251116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 252116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 253116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 255116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 256116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_SSL_ORIGIN, 257116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 258116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 259116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 260116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 261116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 262116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 264116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 265116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_ORIGIN, 266116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 267116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 268116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 269116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 270116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 271116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 273116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 274116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 275116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 276116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 277116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 278116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 279116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 280116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 281116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 2821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 2831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 2841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false 2851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 2861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 2871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 2881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 2891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 2901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 2911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 292116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_PROBE_URL, 293116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 294116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 295116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 296116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 297116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 298116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 2991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 300116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 301116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_NOTHING, 302116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 303116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 304116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 305116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 306116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 307116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 309116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 310116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN | 3111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 3121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 313116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 314116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 315116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 316116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 317116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 318116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 320116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 3211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN | 3221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 323116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 324116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 325116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 326116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 327116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 328116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 330116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 331116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_SSL_ORIGIN, 332116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 333116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 334116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 335116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 336116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 337116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 339116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 340116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_ORIGIN, 341116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 342116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 343116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 344116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 345116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 346116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 348116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 349116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 350116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 351116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 352116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 353116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 354116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 355116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 356116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 3571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 3581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 3591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false 3601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 3611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 3621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 3631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 3641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 3651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 3661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 367116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_PROBE_URL, 368116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 369116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 370116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 371116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 372116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 373116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 375116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 376116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN | 3771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 3781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 379116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 380116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 381116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 382116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 383116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 384116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 386116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 387116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN, 388116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 389116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 390116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 391116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 392116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 393116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 3941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 395116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 396116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_SSL_ORIGIN, 397116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 398116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 399116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 400116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 401116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 402116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 4031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 404116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 405116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_ORIGIN, 406116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 407116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 408116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 409116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 410116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 411116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 4121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 413116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 414116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 415116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true 416116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 417116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 418116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 419116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 420116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 421116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 4231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 4241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false 4251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 4261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 4271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 4281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 4291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 4301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 4311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 432116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_PROBE_URL, 433116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 434116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 435116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 436116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 437116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 438116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 440116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 441116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_NOTHING, 442116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 443116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 444116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 445116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 446116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 447116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 449116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 450116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ORIGIN | 4511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_ORIGIN | 4521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN, 453116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 454116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 455116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 456116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 457116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 458116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 460116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 461116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN, 462116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 463116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 464116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 465116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 466116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 467116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 469116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 470116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_SSL_ORIGIN, 471116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 472116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 473116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 474116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 475116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 476116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 478116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 479116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_ORIGIN, 480116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 481116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 482116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 483116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 484116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 485116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 4861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 4871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 4881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 4891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false 4901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 4911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 4921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 4931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 4941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 4951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 496116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 497116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN, 498116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 499116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 500116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 501116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 502116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 503116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 5041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 505116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 506116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_PROBE_URL, 507116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false 508116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 50946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) }; 51046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 51146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 51246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) int flags = 0; 51346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) if (tests[i].allowed) 51446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) flags |= DataReductionProxyParams::kAllowed; 51546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) if (tests[i].fallback_allowed) 51646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) flags |= DataReductionProxyParams::kFallbackAllowed; 51746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) if (tests[i].alternative_allowed) 51846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) flags |= DataReductionProxyParams::kAlternativeAllowed; 5191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (tests[i].alternative_fallback_allowed) 5201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci flags |= DataReductionProxyParams::kAlternativeFallbackAllowed; 52146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) if (tests[i].promo_allowed) 52246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) flags |= DataReductionProxyParams::kPromoAllowed; 52346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestDataReductionProxyParams params( 52446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) flags, 525116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::HAS_EVERYTHING & 526116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~(tests[i].missing_definitions)); 5271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci EXPECT_EQ(tests[i].expected_result, params.init_result()) << i; 52846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) } 52946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 53046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 531f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST_F(DataReductionProxyParamsTest, IsDataReductionProxy) { 532f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const struct { 533f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) net::HostPortPair host_port_pair; 534f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool fallback_allowed; 5351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci bool alt_fallback_allowed; 536116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bool set_dev_origin; 537f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool expected_result; 538f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) net::HostPortPair expected_first; 539f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) net::HostPortPair expected_second; 5406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool expected_is_fallback; 5416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool expected_is_alternative; 5426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool expected_is_ssl; 543f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) } tests[] = { 5441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 5451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 546116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin())), 547f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 5481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 549116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 550f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 551116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 552116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin())), 553116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 5546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) TestDataReductionProxyParams::DefaultFallbackOrigin())), 5556e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5566e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5576e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 558f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 5591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 5601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 561116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin())), 562116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 563f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 5641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 565f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 566116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 567116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin())), 5686e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 5696e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5706e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5716e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 572f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 5731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 5741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 575116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultFallbackOrigin())), 576f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 5771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 578116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 579f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 580116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 581116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultFallbackOrigin())), 5826e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 5836e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true, 5846e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5856e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 586f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 5871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 5881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 589116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultFallbackOrigin())), 590116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 591f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 592f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 5931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 594f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 5956e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 5966e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5976e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 5986e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 599f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 602116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin())), 603f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 6041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 605116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 606f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 607116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 608116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin())), 609116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 6106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) TestDataReductionProxyParams::DefaultAltFallbackOrigin())), 6116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true, 6136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 614f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 617116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin())), 618116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 619f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 6201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 621f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 622116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 623116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltOrigin())), 6246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 6256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true, 6276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 628f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL( 631116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GURL(TestDataReductionProxyParams::DefaultAltFallbackOrigin())), 632f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 6331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 634116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 635f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 636116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 637116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltFallbackOrigin())), 6386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 6396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true, 6406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true, 6416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 642f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 645116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultAltFallbackOrigin())), 646116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 647f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 648f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) false, 6491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 650f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 6516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 6526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 655f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 658116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultSSLOrigin())), 659f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 6601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 661116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch false, 662f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) true, 663116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 664116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultSSLOrigin())), 6656e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) net::HostPortPair::FromURL(GURL()), 6666e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6676e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6686e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) true 669f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }, 6701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 672116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultDevOrigin())), 673116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 674116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 675116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 6761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 677116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 678116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultDevOrigin())), 679116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch net::HostPortPair::FromURL(GURL( 6801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TestDataReductionProxyParams::DefaultDevFallbackOrigin())), 6816e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6826e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6836e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 684116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 6851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { 6861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL( 687116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams::DefaultOrigin())), 688116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 689116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 690116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch true, 6911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 6921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL()), 6931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(GURL()), 6946e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6956e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false, 6966e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) false 697116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch }, 698f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) }; 699f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 700f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) int flags = DataReductionProxyParams::kAllowed | 701f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) DataReductionProxyParams::kAlternativeAllowed; 702f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) if (tests[i].fallback_allowed) 703f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) flags |= DataReductionProxyParams::kFallbackAllowed; 7041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (tests[i].alt_fallback_allowed) 7051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci flags |= DataReductionProxyParams::kAlternativeFallbackAllowed; 706116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch unsigned int has_definitions = TestDataReductionProxyParams::HAS_EVERYTHING; 707116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (!tests[i].set_dev_origin) { 708116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch has_definitions &= ~TestDataReductionProxyParams::HAS_DEV_ORIGIN; 7091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci has_definitions &= ~TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN; 710116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } 711116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestDataReductionProxyParams params(flags, has_definitions); 7126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DataReductionProxyTypeInfo proxy_type_info; 713f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_EQ(tests[i].expected_result, 714f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) params.IsDataReductionProxy( 7151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci tests[i].host_port_pair, &proxy_type_info)) << i; 716f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_TRUE(tests[i].expected_first.Equals( 7171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(proxy_type_info.proxy_servers.first))) << i; 718f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_TRUE(tests[i].expected_second.Equals( 7191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci net::HostPortPair::FromURL(proxy_type_info.proxy_servers.second))) << i; 7201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci EXPECT_EQ(tests[i].expected_is_fallback, proxy_type_info.is_fallback) << i; 7211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci EXPECT_EQ(tests[i].expected_is_alternative, proxy_type_info.is_alternative) 7221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci << i; 7231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci EXPECT_EQ(tests[i].expected_is_ssl, proxy_type_info.is_ssl) << i; 724f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) } 725f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 7265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 7275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)std::string GetRetryMapKeyFromOrigin(std::string origin) { 7285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // The retry map has the scheme prefix for https but not for http 7295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return net::ProxyServer(GURL(origin).SchemeIs(url::kHttpsScheme) ? 7305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ProxyServer::SCHEME_HTTPS : net::ProxyServer::SCHEME_HTTP, 7315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::HostPortPair::FromURL(GURL(origin))).ToURI(); 7325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 7335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 7345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)TEST_F(DataReductionProxyParamsTest, AreProxiesBypassed) { 7355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const struct { 7365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxy flags 7375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool allowed; 7385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool fallback_allowed; 7395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool alt_allowed; 7405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 7415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool is_https; 7425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 7435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool origin; 7445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool fallback_origin; 7455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool alt_origin; 7465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool alt_fallback_origin; 7475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool ssl_origin; 7485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 7495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool expected_result; 7505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) } tests[] = { 7515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 7525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 7565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 7585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 7645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 7665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 7675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 7685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 7715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 7735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 7795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 7815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 7825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 7835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 7845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 7865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 7885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 7945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 7955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 7965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 7975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 7985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 7995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 8115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 8125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 8265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 8275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 8415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 8421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 8565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 8575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 8715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 8725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 8765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 8781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 8805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // expected result 8841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci }, 8861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci { // proxy flags 8871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // is https request 8911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // proxies in retry map 8931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci false, 8961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci true, 8975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 8985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 8995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 9895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 9915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 9925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 9945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 9965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 9985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 9995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 10045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 10065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 10075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 10115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 10135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 10195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 10215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 10225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 10265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 10285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 10345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 10365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 10375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 10415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 10435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 10495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 10515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) { // proxy flags 10525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // is https request 10565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // proxies in retry map 10585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) true, 10625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // expected result 10645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) false, 10655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }, 10665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 10675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 10685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // The retry map has the scheme prefix for https but not for http. 10695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::string origin = GetRetryMapKeyFromOrigin( 10705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::DefaultOrigin()); 10715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::string fallback_origin =GetRetryMapKeyFromOrigin( 10725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::DefaultFallbackOrigin()); 10735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::string alt_origin = GetRetryMapKeyFromOrigin( 10745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::DefaultAltOrigin()); 10755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::string alt_fallback_origin = GetRetryMapKeyFromOrigin( 10765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::DefaultAltFallbackOrigin()); 10775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::string ssl_origin = GetRetryMapKeyFromOrigin( 10785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::DefaultSSLOrigin()); 10795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 10805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 10815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) int flags = 0; 10825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].allowed) 10835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) flags |= DataReductionProxyParams::kAllowed; 10845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].alt_allowed) 10855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) flags |= DataReductionProxyParams::kAlternativeAllowed; 10865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].fallback_allowed) 10875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) flags |= DataReductionProxyParams::kFallbackAllowed; 10885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) unsigned int has_definitions = 10895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams::HAS_EVERYTHING & 10901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ~TestDataReductionProxyParams::HAS_DEV_ORIGIN & 10911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ~TestDataReductionProxyParams::HAS_DEV_FALLBACK_ORIGIN; 10925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) TestDataReductionProxyParams params(flags, has_definitions); 10935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 10945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ProxyRetryInfoMap retry_map; 10955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ProxyRetryInfo retry_info; 10965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 10975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].origin) 10985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) retry_map[origin] = retry_info; 10995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].fallback_origin) 11005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) retry_map[fallback_origin] = retry_info; 11015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].alt_origin) 11025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) retry_map[alt_origin] = retry_info; 11035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].alt_fallback_origin) 11045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) retry_map[alt_fallback_origin] = retry_info; 11055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (tests[i].ssl_origin) 11065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) retry_map[ssl_origin] = retry_info; 11075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 11085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool was_bypassed = params.AreProxiesBypassed(retry_map, 11095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) tests[i].is_https, 11105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) NULL); 11115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 11125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) EXPECT_EQ(tests[i].expected_result, was_bypassed); 11135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) } 11145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 111546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace data_reduction_proxy 1116