Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_params_unittest.cc

Issue 333113002: Move data reduction proxy to Chrome-Proxy header for authentication (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@flywheel-refactor-net-fake-a-redirect-response-headers-chrome-proxy-auth
Patch Set: errata Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params_te st_utils.h"
9 #include "components/data_reduction_proxy/common/data_reduction_proxy_switches.h " 10 #include "components/data_reduction_proxy/common/data_reduction_proxy_switches.h "
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 namespace {
13 // Test values to replacethe values specified in preprocessor defines.
14 static const char kDefaultKey[] = "test-key";
15 static const char kDefaultDevOrigin[] = "https://dev.net:443/";
16 static const char kDefaultOrigin[] = "https://origin.net:443/";
17 static const char kDefaultFallbackOrigin[] = "http://fallback.net:80/";
18 static const char kDefaultSSLOrigin[] = "http://ssl.net:1080/";
19 static const char kDefaultAltOrigin[] = "https://alt.net:443/";
20 static const char kDefaultAltFallbackOrigin[] = "http://altfallback.net:80/";
21 static const char kDefaultProbeURL[] = "http://probe.net/";
22
23 static const char kFlagKey[] = "test-flag-key";
24 static const char kFlagOrigin[] = "https://origin.org:443/";
25 static const char kFlagFallbackOrigin[] = "http://fallback.org:80/";
26 static const char kFlagSSLOrigin[] = "http://ssl.org:1080/";
27 static const char kFlagAltOrigin[] = "https://alt.org:443/";
28 static const char kFlagAltFallbackOrigin[] = "http://altfallback.org:80/";
29 static const char kFlagProbeURL[] = "http://probe.org/";
30
31 // Used to emulate having constants defined by the preprocessor.
32 static const unsigned int HAS_NOTHING = 0x0;
33 static const unsigned int HAS_KEY = 0x1;
34 static const unsigned int HAS_DEV_ORIGIN = 0x2;
35 static const unsigned int HAS_ORIGIN = 0x4;
36 static const unsigned int HAS_FALLBACK_ORIGIN = 0x8;
37 static const unsigned int HAS_SSL_ORIGIN = 0x10;
38 static const unsigned int HAS_ALT_ORIGIN = 0x20;
39 static const unsigned int HAS_ALT_FALLBACK_ORIGIN = 0x40;
40 static const unsigned int HAS_PROBE_URL = 0x80;
41 static const unsigned int HAS_EVERYTHING = 0xff;
42 } // namespace
43
44 namespace data_reduction_proxy { 13 namespace data_reduction_proxy {
45 namespace {
46 class TestDataReductionProxyParams : public DataReductionProxyParams {
47 public:
48
49 TestDataReductionProxyParams(int flags,
50 unsigned int has_definitions)
51 : DataReductionProxyParams(flags,
52 false),
53 has_definitions_(has_definitions) {
54 init_result_ = Init(flags & DataReductionProxyParams::kAllowed,
55 flags & DataReductionProxyParams::kFallbackAllowed,
56 flags & DataReductionProxyParams::kAlternativeAllowed);
57 }
58
59 bool init_result() const {
60 return init_result_;
61 }
62
63 protected:
64 virtual std::string GetDefaultKey() const OVERRIDE {
65 return GetDefinition(HAS_KEY, kDefaultKey);
66 }
67
68 virtual std::string GetDefaultDevOrigin() const OVERRIDE {
69 return GetDefinition(HAS_DEV_ORIGIN, kDefaultDevOrigin);
70 }
71
72 virtual std::string GetDefaultOrigin() const OVERRIDE {
73 return GetDefinition(HAS_ORIGIN, kDefaultOrigin);
74 }
75
76 virtual std::string GetDefaultFallbackOrigin() const OVERRIDE {
77 return GetDefinition(HAS_FALLBACK_ORIGIN, kDefaultFallbackOrigin);
78 }
79
80 virtual std::string GetDefaultSSLOrigin() const OVERRIDE {
81 return GetDefinition(HAS_SSL_ORIGIN, kDefaultSSLOrigin);
82 }
83
84 virtual std::string GetDefaultAltOrigin() const OVERRIDE {
85 return GetDefinition(HAS_ALT_ORIGIN, kDefaultAltOrigin);
86 }
87
88 virtual std::string GetDefaultAltFallbackOrigin() const OVERRIDE {
89 return GetDefinition(HAS_ALT_FALLBACK_ORIGIN, kDefaultAltFallbackOrigin);
90 }
91
92 virtual std::string GetDefaultProbeURL() const OVERRIDE {
93 return GetDefinition(HAS_PROBE_URL, kDefaultProbeURL);
94 }
95
96 private:
97 std::string GetDefinition(unsigned int has_def,
98 const std::string& definition) const {
99 return ((has_definitions_ & has_def) ? definition : std::string());
100 }
101
102 unsigned int has_definitions_;
103 bool init_result_;
104 };
105 } // namespace
106
107 class DataReductionProxyParamsTest : public testing::Test { 14 class DataReductionProxyParamsTest : public testing::Test {
108 public: 15 public:
109 void CheckParams(const TestDataReductionProxyParams& params, 16 void CheckParams(const TestDataReductionProxyParams& params,
110 bool expected_init_result, 17 bool expected_init_result,
111 bool expected_allowed, 18 bool expected_allowed,
112 bool expected_fallback_allowed, 19 bool expected_fallback_allowed,
113 bool expected_alternative_allowed, 20 bool expected_alternative_allowed,
114 bool expected_promo_allowed) { 21 bool expected_promo_allowed) {
115 EXPECT_EQ(expected_init_result, params.init_result()); 22 EXPECT_EQ(expected_init_result, params.init_result());
116 EXPECT_EQ(expected_allowed, params.allowed()); 23 EXPECT_EQ(expected_allowed, params.allowed());
117 EXPECT_EQ(expected_fallback_allowed, params.fallback_allowed()); 24 EXPECT_EQ(expected_fallback_allowed, params.fallback_allowed());
118 EXPECT_EQ(expected_alternative_allowed, params.alternative_allowed()); 25 EXPECT_EQ(expected_alternative_allowed, params.alternative_allowed());
119 EXPECT_EQ(expected_promo_allowed, params.promo_allowed()); 26 EXPECT_EQ(expected_promo_allowed, params.promo_allowed());
120 } 27 }
121 void CheckValues(const TestDataReductionProxyParams& params, 28 void CheckValues(const TestDataReductionProxyParams& params,
122 const std::string expected_key,
123 const std::string& expected_origin, 29 const std::string& expected_origin,
124 const std::string& expected_fallback_origin, 30 const std::string& expected_fallback_origin,
125 const std::string& expected_ssl_origin, 31 const std::string& expected_ssl_origin,
126 const std::string& expected_alt_origin, 32 const std::string& expected_alt_origin,
127 const std::string& expected_alt_fallback_origin, 33 const std::string& expected_alt_fallback_origin,
128 const std::string& expected_probe_url) { 34 const std::string& expected_probe_url) {
129 EXPECT_EQ(expected_key, params.key());
130 EXPECT_EQ(GURL(expected_origin), params.origin()); 35 EXPECT_EQ(GURL(expected_origin), params.origin());
131 EXPECT_EQ(GURL(expected_fallback_origin), params.fallback_origin()); 36 EXPECT_EQ(GURL(expected_fallback_origin), params.fallback_origin());
132 EXPECT_EQ(GURL(expected_ssl_origin), params.ssl_origin()); 37 EXPECT_EQ(GURL(expected_ssl_origin), params.ssl_origin());
133 EXPECT_EQ(GURL(expected_alt_origin), params.alt_origin()); 38 EXPECT_EQ(GURL(expected_alt_origin), params.alt_origin());
134 EXPECT_EQ(GURL(expected_alt_fallback_origin), params.alt_fallback_origin()); 39 EXPECT_EQ(GURL(expected_alt_fallback_origin), params.alt_fallback_origin());
135 EXPECT_EQ(GURL(expected_probe_url), params.probe_url()); 40 EXPECT_EQ(GURL(expected_probe_url), params.probe_url());
136 } 41 }
137 }; 42 };
138 43
139 TEST_F(DataReductionProxyParamsTest, EverythingDefined) { 44 TEST_F(DataReductionProxyParamsTest, EverythingDefined) {
140 TestDataReductionProxyParams params( 45 TestDataReductionProxyParams params(
141 DataReductionProxyParams::kAllowed | 46 DataReductionProxyParams::kAllowed |
142 DataReductionProxyParams::kFallbackAllowed | 47 DataReductionProxyParams::kFallbackAllowed |
143 DataReductionProxyParams::kPromoAllowed, HAS_EVERYTHING); 48 DataReductionProxyParams::kPromoAllowed,
49 TestDataReductionProxyParams::HAS_EVERYTHING);
144 CheckParams(params, true, true, true, false, true); 50 CheckParams(params, true, true, true, false, true);
145 CheckValues(params, 51 CheckValues(params,
146 kDefaultKey, 52 TestDataReductionProxyParams::DefaultDevOrigin(),
147 kDefaultDevOrigin, 53 TestDataReductionProxyParams::DefaultFallbackOrigin(),
148 kDefaultFallbackOrigin, 54 TestDataReductionProxyParams::DefaultSSLOrigin(),
149 kDefaultSSLOrigin, 55 TestDataReductionProxyParams::DefaultAltOrigin(),
150 kDefaultAltOrigin, 56 TestDataReductionProxyParams::DefaultAltFallbackOrigin(),
151 kDefaultAltFallbackOrigin, 57 TestDataReductionProxyParams::DefaultProbeURL());
152 kDefaultProbeURL);
153 } 58 }
154 59
155 TEST_F(DataReductionProxyParamsTest, NoDevOrigin) { 60 TEST_F(DataReductionProxyParamsTest, NoDevOrigin) {
156 TestDataReductionProxyParams params( 61 TestDataReductionProxyParams params(
157 DataReductionProxyParams::kAllowed | 62 DataReductionProxyParams::kAllowed |
158 DataReductionProxyParams::kFallbackAllowed | 63 DataReductionProxyParams::kFallbackAllowed |
159 DataReductionProxyParams::kPromoAllowed, 64 DataReductionProxyParams::kPromoAllowed,
160 HAS_EVERYTHING & ~HAS_DEV_ORIGIN); 65 TestDataReductionProxyParams::HAS_EVERYTHING &
66 ~TestDataReductionProxyParams::HAS_DEV_ORIGIN);
161 CheckParams(params, true, true, true, false, true); 67 CheckParams(params, true, true, true, false, true);
162 CheckValues(params, 68 CheckValues(params,
163 kDefaultKey, 69 TestDataReductionProxyParams::DefaultOrigin(),
164 kDefaultOrigin, 70 TestDataReductionProxyParams::DefaultFallbackOrigin(),
165 kDefaultFallbackOrigin, 71 TestDataReductionProxyParams::DefaultSSLOrigin(),
166 kDefaultSSLOrigin, 72 TestDataReductionProxyParams::DefaultAltOrigin(),
167 kDefaultAltOrigin, 73 TestDataReductionProxyParams::DefaultAltFallbackOrigin(),
168 kDefaultAltFallbackOrigin, 74 TestDataReductionProxyParams::DefaultProbeURL());
169 kDefaultProbeURL);
170 } 75 }
171 76
172 TEST_F(DataReductionProxyParamsTest, Flags) { 77 TEST_F(DataReductionProxyParamsTest, Flags) {
173 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 78 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
174 switches::kDataReductionProxyKey, kFlagKey); 79 switches::kDataReductionProxy,
80 TestDataReductionProxyParams::FlagOrigin());
175 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 81 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
176 switches::kDataReductionProxy, kFlagOrigin); 82 switches::kDataReductionProxyFallback,
83 TestDataReductionProxyParams::FlagFallbackOrigin());
177 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 84 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
178 switches::kDataReductionProxyFallback, kFlagFallbackOrigin); 85 switches::kDataReductionSSLProxy,
86 TestDataReductionProxyParams::FlagSSLOrigin());
179 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 87 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
180 switches::kDataReductionSSLProxy, kFlagSSLOrigin); 88 switches::kDataReductionProxyAlt,
89 TestDataReductionProxyParams::FlagAltOrigin());
181 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 90 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
182 switches::kDataReductionProxyAlt, kFlagAltOrigin); 91 switches::kDataReductionProxyAltFallback,
92 TestDataReductionProxyParams::FlagAltFallbackOrigin());
183 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 93 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
184 switches::kDataReductionProxyAltFallback, kFlagAltFallbackOrigin); 94 switches::kDataReductionProxyProbeURL,
185 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 95 TestDataReductionProxyParams::FlagProbeURL());
186 switches::kDataReductionProxyProbeURL, kFlagProbeURL);
187 TestDataReductionProxyParams params( 96 TestDataReductionProxyParams params(
188 DataReductionProxyParams::kAllowed | 97 DataReductionProxyParams::kAllowed |
189 DataReductionProxyParams::kFallbackAllowed | 98 DataReductionProxyParams::kFallbackAllowed |
190 DataReductionProxyParams::kAlternativeAllowed | 99 DataReductionProxyParams::kAlternativeAllowed |
191 DataReductionProxyParams::kPromoAllowed, HAS_EVERYTHING); 100 DataReductionProxyParams::kPromoAllowed,
101 TestDataReductionProxyParams::HAS_EVERYTHING);
192 CheckParams(params, true, true, true, true, true); 102 CheckParams(params, true, true, true, true, true);
193 CheckValues(params, 103 CheckValues(params,
194 kFlagKey, 104 TestDataReductionProxyParams::FlagOrigin(),
195 kFlagOrigin, 105 TestDataReductionProxyParams::FlagFallbackOrigin(),
196 kFlagFallbackOrigin, 106 TestDataReductionProxyParams::FlagSSLOrigin(),
197 kFlagSSLOrigin, 107 TestDataReductionProxyParams::FlagAltOrigin(),
198 kFlagAltOrigin, 108 TestDataReductionProxyParams::FlagAltFallbackOrigin(),
199 kFlagAltFallbackOrigin, 109 TestDataReductionProxyParams::FlagProbeURL());
200 kFlagProbeURL);
201 } 110 }
202 111
203 TEST_F(DataReductionProxyParamsTest, InvalidConfigurations) { 112 TEST_F(DataReductionProxyParamsTest, InvalidConfigurations) {
204 const struct { 113 const struct {
205 bool allowed; 114 bool allowed;
206 bool fallback_allowed; 115 bool fallback_allowed;
207 bool alternative_allowed; 116 bool alternative_allowed;
208 bool promo_allowed; 117 bool promo_allowed;
209 unsigned int missing_definitions; 118 unsigned int missing_definitions;
210 bool expected_result; 119 bool expected_result;
211 } tests[] = { 120 } tests[] = {
212 { true, true, true, true, HAS_NOTHING, true }, 121 {
213 { true, true, true, true, HAS_KEY, true }, 122 true,
214 { true, true, true, true, HAS_DEV_ORIGIN, true }, 123 true,
215 { true, true, true, true, HAS_ORIGIN, true }, 124 true,
216 { true, true, true, true, HAS_ORIGIN | HAS_DEV_ORIGIN, false }, 125 true,
217 { true, true, true, true, HAS_FALLBACK_ORIGIN, false }, 126 TestDataReductionProxyParams::HAS_NOTHING,
218 { true, true, true, true, HAS_SSL_ORIGIN, false }, 127 true
219 { true, true, true, true, HAS_ALT_ORIGIN, false }, 128 },
220 { true, true, true, true, HAS_ALT_FALLBACK_ORIGIN, false }, 129 {
221 { true, true, true, true, HAS_PROBE_URL, false }, 130 true,
131 true,
132 true,
133 true,
134 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
135 true
136 },
137 {
138 true,
139 true,
140 true,
141 true,
142 TestDataReductionProxyParams::HAS_ORIGIN,
143 true
144 },
145 {
146 true,
147 true,
148 true,
149 true,
150 TestDataReductionProxyParams::HAS_ORIGIN |
151 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
152 false
153 },
154 { true,
155 true,
156 true,
157 true,
158 TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN,
159 false
160 },
161 { true,
162 true,
163 true,
164 true,
165 TestDataReductionProxyParams::HAS_SSL_ORIGIN,
166 false
167 },
168 { true,
169 true,
170 true,
171 true,
172 TestDataReductionProxyParams::HAS_ALT_ORIGIN,
173 false
174 },
175 { true,
176 true,
177 true,
178 true,
179 TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN,
180 false
181 },
182 { true,
183 true,
184 true,
185 true,
186 TestDataReductionProxyParams::HAS_PROBE_URL,
187 false
188 },
189 {
190 true,
191 false,
192 true,
193 true,
194 TestDataReductionProxyParams::HAS_NOTHING,
195 true
196 },
197 {
198 true,
199 false,
200 true,
201 true,
202 TestDataReductionProxyParams::HAS_ORIGIN |
203 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
204 false
205 },
206 {
207 true,
208 false,
209 true,
210 true,
211 TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN,
212 true
213 },
214 {
215 true,
216 false,
217 true,
218 true,
219 TestDataReductionProxyParams::HAS_SSL_ORIGIN,
220 false
221 },
222 {
223 true,
224 false,
225 true,
226 true,
227 TestDataReductionProxyParams::HAS_ALT_ORIGIN,
228 false
229 },
230 {
231 true,
232 false,
233 true,
234 true,
235 TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN,
236 true
237 },
238 {
239 true,
240 false,
241 true,
242 true,
243 TestDataReductionProxyParams::HAS_PROBE_URL,
244 false
245 },
222 246
223 { true, false, true, true, HAS_NOTHING, true }, 247 {
224 { true, false, true, true, HAS_KEY, true }, 248 true,
225 { true, false, true, true, HAS_ORIGIN | HAS_DEV_ORIGIN, false }, 249 true,
226 { true, false, true, true, HAS_FALLBACK_ORIGIN, true }, 250 false,
227 { true, false, true, true, HAS_SSL_ORIGIN, false }, 251 true,
228 { true, false, true, true, HAS_ALT_ORIGIN, false }, 252 TestDataReductionProxyParams::HAS_NOTHING,
229 { true, false, true, true, HAS_ALT_FALLBACK_ORIGIN, true }, 253 true
230 { true, false, true, true, HAS_PROBE_URL, false }, 254 },
231 255 {
232 { true, true, false, true, HAS_NOTHING, true }, 256 true,
233 { true, true, false, true, HAS_KEY, true }, 257 true,
234 { true, true, false, true, HAS_ORIGIN | HAS_DEV_ORIGIN, false }, 258 false,
235 { true, true, false, true, HAS_FALLBACK_ORIGIN, false }, 259 true,
236 { true, true, false, true, HAS_SSL_ORIGIN, true }, 260 TestDataReductionProxyParams::HAS_ORIGIN |
237 { true, true, false, true, HAS_ALT_ORIGIN, true }, 261 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
238 { true, true, false, true, HAS_ALT_FALLBACK_ORIGIN, true }, 262 false
239 { true, true, false, true, HAS_PROBE_URL, false }, 263 },
240 264 {
241 { true, false, false, true, HAS_KEY, true }, 265 true,
242 { true, false, false, true, HAS_ORIGIN | HAS_DEV_ORIGIN, false }, 266 true,
243 { true, false, false, true, HAS_FALLBACK_ORIGIN, true }, 267 false,
244 { true, false, false, true, HAS_SSL_ORIGIN, true }, 268 true,
245 { true, false, false, true, HAS_ALT_ORIGIN, true }, 269 TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN,
246 { true, false, false, true, HAS_ALT_FALLBACK_ORIGIN, true }, 270 false
247 { true, false, false, true, HAS_PROBE_URL, false }, 271 },
248 272 {
249 { false, true, true, true, HAS_NOTHING, false }, 273 true,
250 { false, true, true, true, HAS_KEY, false }, 274 true,
251 { false, true, true, true, HAS_ORIGIN | HAS_DEV_ORIGIN, false }, 275 false,
252 { false, true, true, true, HAS_FALLBACK_ORIGIN, false }, 276 true,
253 { false, true, true, true, HAS_SSL_ORIGIN, false }, 277 TestDataReductionProxyParams::HAS_SSL_ORIGIN,
254 { false, true, true, true, HAS_ALT_ORIGIN, false }, 278 true
255 { false, true, true, true, HAS_ALT_FALLBACK_ORIGIN, false }, 279 },
256 { false, true, true, true, HAS_PROBE_URL, false }, 280 {
281 true,
282 true,
283 false,
284 true,
285 TestDataReductionProxyParams::HAS_ALT_ORIGIN,
286 true
287 },
288 {
289 true,
290 true,
291 false,
292 true,
293 TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN,
294 true
295 },
296 {
297 true,
298 true,
299 false,
300 true,
301 TestDataReductionProxyParams::HAS_PROBE_URL,
302 false
303 },
304 {
305 true,
306 false,
307 false,
308 true,
309 TestDataReductionProxyParams::HAS_ORIGIN |
310 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
311 false
312 },
313 {
314 true,
315 false,
316 false,
317 true,
318 TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN,
319 true
320 },
321 {
322 true,
323 false,
324 false,
325 true,
326 TestDataReductionProxyParams::HAS_SSL_ORIGIN,
327 true
328 },
329 {
330 true,
331 false,
332 false,
333 true,
334 TestDataReductionProxyParams::HAS_ALT_ORIGIN,
335 true
336 },
337 {
338 true,
339 false,
340 false,
341 true,
342 TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN,
343 true
344 },
345 {
346 true,
347 false,
348 false,
349 true,
350 TestDataReductionProxyParams::HAS_PROBE_URL,
351 false
352 },
353 {
354 false,
355 true,
356 true,
357 true,
358 TestDataReductionProxyParams::HAS_NOTHING,
359 false
360 },
361 {
362 false,
363 true,
364 true,
365 true,
366 TestDataReductionProxyParams::HAS_ORIGIN |
367 TestDataReductionProxyParams::HAS_DEV_ORIGIN,
368 false
369 },
370 {
371 false,
372 true,
373 true,
374 true,
375 TestDataReductionProxyParams::HAS_FALLBACK_ORIGIN,
376 false
377 },
378 {
379 false,
380 true,
381 true,
382 true,
383 TestDataReductionProxyParams::HAS_SSL_ORIGIN,
384 false
385 },
386 {
387 false,
388 true,
389 true,
390 true,
391 TestDataReductionProxyParams::HAS_ALT_ORIGIN,
392 false
393 },
394 {
395 false,
396 true,
397 true,
398 true,
399 TestDataReductionProxyParams::HAS_ALT_FALLBACK_ORIGIN,
400 false
401 },
402 {
403 false,
404 true,
405 true,
406 true,
407 TestDataReductionProxyParams::HAS_PROBE_URL,
408 false
409 },
257 }; 410 };
258 411
259 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 412 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
260 int flags = 0; 413 int flags = 0;
261 if (tests[i].allowed) 414 if (tests[i].allowed)
262 flags |= DataReductionProxyParams::kAllowed; 415 flags |= DataReductionProxyParams::kAllowed;
263 if (tests[i].fallback_allowed) 416 if (tests[i].fallback_allowed)
264 flags |= DataReductionProxyParams::kFallbackAllowed; 417 flags |= DataReductionProxyParams::kFallbackAllowed;
265 if (tests[i].alternative_allowed) 418 if (tests[i].alternative_allowed)
266 flags |= DataReductionProxyParams::kAlternativeAllowed; 419 flags |= DataReductionProxyParams::kAlternativeAllowed;
267 if (tests[i].promo_allowed) 420 if (tests[i].promo_allowed)
268 flags |= DataReductionProxyParams::kPromoAllowed; 421 flags |= DataReductionProxyParams::kPromoAllowed;
269 TestDataReductionProxyParams params( 422 TestDataReductionProxyParams params(
270 flags, 423 flags,
271 HAS_EVERYTHING & ~(tests[i].missing_definitions)); 424 TestDataReductionProxyParams::HAS_EVERYTHING &
425 ~(tests[i].missing_definitions));
272 EXPECT_EQ(tests[i].expected_result, params.init_result()); 426 EXPECT_EQ(tests[i].expected_result, params.init_result());
273 } 427 }
274 } 428 }
275 429
276 TEST_F(DataReductionProxyParamsTest, IsDataReductionProxy) { 430 TEST_F(DataReductionProxyParamsTest, IsDataReductionProxy) {
277 const struct { 431 const struct {
278 net::HostPortPair host_port_pair; 432 net::HostPortPair host_port_pair;
279 bool fallback_allowed; 433 bool fallback_allowed;
280 bool expected_result; 434 bool expected_result;
281 net::HostPortPair expected_first; 435 net::HostPortPair expected_first;
282 net::HostPortPair expected_second; 436 net::HostPortPair expected_second;
283 } tests[] = { 437 } tests[] = {
284 { net::HostPortPair::FromURL(GURL(kDefaultOrigin)), 438 { net::HostPortPair::FromURL(GURL(
439 TestDataReductionProxyParams::DefaultOrigin())),
285 true, 440 true,
286 true, 441 true,
287 net::HostPortPair::FromURL(GURL(kDefaultOrigin)), 442 net::HostPortPair::FromURL(GURL(
288 net::HostPortPair::FromURL(GURL(kDefaultFallbackOrigin)) 443 TestDataReductionProxyParams::DefaultOrigin())),
444 net::HostPortPair::FromURL(GURL(
445 TestDataReductionProxyParams::DefaultFallbackOrigin()))
289 }, 446 },
290 { net::HostPortPair::FromURL(GURL(kDefaultOrigin)), 447 { net::HostPortPair::FromURL(GURL(
448 TestDataReductionProxyParams::DefaultOrigin())),
291 false, 449 false,
292 true, 450 true,
293 net::HostPortPair::FromURL(GURL(kDefaultOrigin)), 451 net::HostPortPair::FromURL(GURL(
452 TestDataReductionProxyParams::DefaultOrigin())),
294 net::HostPortPair::FromURL(GURL()) 453 net::HostPortPair::FromURL(GURL())
295 }, 454 },
296 { net::HostPortPair::FromURL(GURL(kDefaultFallbackOrigin)), 455 { net::HostPortPair::FromURL(GURL(
456 TestDataReductionProxyParams::DefaultFallbackOrigin())),
297 true, 457 true,
298 true, 458 true,
299 net::HostPortPair::FromURL(GURL(kDefaultFallbackOrigin)), 459 net::HostPortPair::FromURL(GURL(
460 TestDataReductionProxyParams::DefaultFallbackOrigin())),
300 net::HostPortPair::FromURL(GURL()) 461 net::HostPortPair::FromURL(GURL())
301 }, 462 },
302 { net::HostPortPair::FromURL(GURL(kDefaultFallbackOrigin)), 463 { net::HostPortPair::FromURL(GURL(
464 TestDataReductionProxyParams::DefaultFallbackOrigin())),
303 false, 465 false,
304 false, 466 false,
305 net::HostPortPair::FromURL(GURL()), 467 net::HostPortPair::FromURL(GURL()),
306 net::HostPortPair::FromURL(GURL()) 468 net::HostPortPair::FromURL(GURL())
307 }, 469 },
308 { net::HostPortPair::FromURL(GURL(kDefaultAltOrigin)), 470 { net::HostPortPair::FromURL(GURL(
471 TestDataReductionProxyParams::DefaultAltOrigin())),
309 true, 472 true,
310 true, 473 true,
311 net::HostPortPair::FromURL(GURL(kDefaultAltOrigin)), 474 net::HostPortPair::FromURL(GURL(
312 net::HostPortPair::FromURL(GURL(kDefaultAltFallbackOrigin)) 475 TestDataReductionProxyParams::DefaultAltOrigin())),
476 net::HostPortPair::FromURL(GURL(
477 TestDataReductionProxyParams::DefaultAltFallbackOrigin()))
313 }, 478 },
314 { net::HostPortPair::FromURL(GURL(kDefaultAltOrigin)), 479 { net::HostPortPair::FromURL(GURL(
480 TestDataReductionProxyParams::DefaultAltOrigin())),
315 false, 481 false,
316 true, 482 true,
317 net::HostPortPair::FromURL(GURL(kDefaultAltOrigin)), 483 net::HostPortPair::FromURL(GURL(
484 TestDataReductionProxyParams::DefaultAltOrigin())),
318 net::HostPortPair::FromURL(GURL()) 485 net::HostPortPair::FromURL(GURL())
319 }, 486 },
320 { net::HostPortPair::FromURL(GURL(kDefaultAltFallbackOrigin)), 487 { net::HostPortPair::FromURL(
488 GURL(TestDataReductionProxyParams::DefaultAltFallbackOrigin())),
321 true, 489 true,
322 true, 490 true,
323 net::HostPortPair::FromURL(GURL(kDefaultAltFallbackOrigin)), 491 net::HostPortPair::FromURL(GURL(
492 TestDataReductionProxyParams::DefaultAltFallbackOrigin())),
324 net::HostPortPair::FromURL(GURL()) 493 net::HostPortPair::FromURL(GURL())
325 }, 494 },
326 { net::HostPortPair::FromURL(GURL(kDefaultAltFallbackOrigin)), 495 { net::HostPortPair::FromURL(GURL(
496 TestDataReductionProxyParams::DefaultAltFallbackOrigin())),
327 false, 497 false,
328 false, 498 false,
329 net::HostPortPair::FromURL(GURL()), 499 net::HostPortPair::FromURL(GURL()),
330 net::HostPortPair::FromURL(GURL()) 500 net::HostPortPair::FromURL(GURL())
331 }, 501 },
332 { net::HostPortPair::FromURL(GURL(kDefaultSSLOrigin)), 502 { net::HostPortPair::FromURL(GURL(
503 TestDataReductionProxyParams::DefaultSSLOrigin())),
333 true, 504 true,
334 true, 505 true,
335 net::HostPortPair::FromURL(GURL(kDefaultSSLOrigin)), 506 net::HostPortPair::FromURL(GURL(
507 TestDataReductionProxyParams::DefaultSSLOrigin())),
336 net::HostPortPair::FromURL(GURL()) 508 net::HostPortPair::FromURL(GURL())
337 }, 509 },
338 }; 510 };
339 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 511 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
340 int flags = DataReductionProxyParams::kAllowed | 512 int flags = DataReductionProxyParams::kAllowed |
341 DataReductionProxyParams::kAlternativeAllowed; 513 DataReductionProxyParams::kAlternativeAllowed;
342 if (tests[i].fallback_allowed) 514 if (tests[i].fallback_allowed)
343 flags |= DataReductionProxyParams::kFallbackAllowed; 515 flags |= DataReductionProxyParams::kFallbackAllowed;
344 TestDataReductionProxyParams params(flags, 516 TestDataReductionProxyParams params(
345 HAS_EVERYTHING & ~HAS_DEV_ORIGIN); 517 flags,
518 TestDataReductionProxyParams::HAS_EVERYTHING &
519 ~TestDataReductionProxyParams::HAS_DEV_ORIGIN);
346 std::pair<GURL, GURL> proxy_servers; 520 std::pair<GURL, GURL> proxy_servers;
347 EXPECT_EQ(tests[i].expected_result, 521 EXPECT_EQ(tests[i].expected_result,
348 params.IsDataReductionProxy( 522 params.IsDataReductionProxy(
349 tests[i].host_port_pair, &proxy_servers)); 523 tests[i].host_port_pair, &proxy_servers));
350 EXPECT_TRUE(tests[i].expected_first.Equals( 524 EXPECT_TRUE(tests[i].expected_first.Equals(
351 net::HostPortPair::FromURL(proxy_servers.first))); 525 net::HostPortPair::FromURL(proxy_servers.first)));
352 EXPECT_TRUE(tests[i].expected_second.Equals( 526 EXPECT_TRUE(tests[i].expected_second.Equals(
353 net::HostPortPair::FromURL(proxy_servers.second))); 527 net::HostPortPair::FromURL(proxy_servers.second)));
354 } 528 }
355 } 529 }
356
357 } // namespace data_reduction_proxy 530 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698