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

Side by Side Diff: net/proxy/proxy_config_service_common_unittest.cc

Issue 12315019: Change ProxyRules to handle ProxyLists rather than just single ProxyServer instances. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 9 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 (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "net/proxy/proxy_config_service_common_unittest.h" 5 #include "net/proxy/proxy_config_service_common_unittest.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "net/proxy/proxy_config.h" 10 #include "net/proxy/proxy_config.h"
11 11
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 namespace net { 14 namespace net {
15 15
16 namespace { 16 namespace {
17 17
18 // Helper to verify that |expected_proxy| matches |actual_proxy|. If it does 18 // Helper to verify that |expected_proxy| matches |actual_proxy|. If it does
eroman 2013/03/01 00:05:13 Comment no longer matches.
marq_use_my_chromium_address 2013/03/04 18:04:20 Done.
19 // not, then |*did_fail| is set to true, and |*failure_details| is filled with 19 // not, then |*did_fail| is set to true, and |*failure_details| is filled with
20 // a description of the failure. 20 // a description of the failure.
21 void MatchesProxyServerHelper(const char* failure_message, 21 void MatchesProxyServerHelper(const char* failure_message,
22 const char* expected_proxy, 22 const char* expected_proxy,
23 const ProxyServer& actual_proxy, 23 const ProxyList& actual_proxies,
24 ::testing::AssertionResult* failure_details, 24 ::testing::AssertionResult* failure_details,
25 bool* did_fail) { 25 bool* did_fail) {
26 if (actual_proxies.size() != 1) {
27 *did_fail = true;
28 return;
29 }
30
31 ProxyServer actual_proxy = actual_proxies.Get();
26 std::string actual_proxy_string; 32 std::string actual_proxy_string;
27 if (actual_proxy.is_valid()) 33 if (actual_proxy.is_valid())
28 actual_proxy_string = actual_proxy.ToURI(); 34 actual_proxy_string = actual_proxy.ToURI();
29 35
30 if (std::string(expected_proxy) != actual_proxy_string) { 36 if (std::string(expected_proxy) != actual_proxy_string) {
31 *failure_details 37 *failure_details
32 << failure_message << ". Was expecting: \"" << expected_proxy 38 << failure_message << ". Was expecting: \"" << expected_proxy
33 << "\" but got: \"" << actual_proxy_string << "\""; 39 << "\" but got: \"" << actual_proxy_string << "\"";
34 *did_fail = true; 40 *did_fail = true;
35 } 41 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 ::testing::AssertionResult failure_details = ::testing::AssertionFailure(); 80 ::testing::AssertionResult failure_details = ::testing::AssertionFailure();
75 bool failed = false; 81 bool failed = false;
76 82
77 if (rules.type != type) { 83 if (rules.type != type) {
78 failure_details << "Type mismatch. Expected: " 84 failure_details << "Type mismatch. Expected: "
79 << type << " but was: " << rules.type; 85 << type << " but was: " << rules.type;
80 failed = true; 86 failed = true;
81 } 87 }
82 88
83 MatchesProxyServerHelper("Bad single_proxy", single_proxy, 89 MatchesProxyServerHelper("Bad single_proxy", single_proxy,
84 rules.single_proxy, &failure_details, &failed); 90 rules.single_proxies, &failure_details, &failed);
85 MatchesProxyServerHelper("Bad proxy_for_http", proxy_for_http, 91 MatchesProxyServerHelper("Bad proxy_for_http", proxy_for_http,
86 rules.proxy_for_http, &failure_details, &failed); 92 rules.proxies_for_http, &failure_details,
93 &failed);
87 MatchesProxyServerHelper("Bad proxy_for_https", proxy_for_https, 94 MatchesProxyServerHelper("Bad proxy_for_https", proxy_for_https,
88 rules.proxy_for_https, &failure_details, &failed); 95 rules.proxies_for_https, &failure_details,
89 MatchesProxyServerHelper("Bad fallback_proxy", fallback_proxy, 96 &failed);
90 rules.fallback_proxy, &failure_details, &failed);
91 97
92 std::string actual_flattened_bypass = FlattenProxyBypass(rules.bypass_rules); 98 std::string actual_flattened_bypass = FlattenProxyBypass(rules.bypass_rules);
93 if (std::string(flattened_bypass_rules) != actual_flattened_bypass) { 99 if (std::string(flattened_bypass_rules) != actual_flattened_bypass) {
94 failure_details 100 failure_details
95 << "Bad bypass rules. Expected: \"" << flattened_bypass_rules 101 << "Bad bypass rules. Expected: \"" << flattened_bypass_rules
96 << "\" but got: \"" << actual_flattened_bypass << "\""; 102 << "\" but got: \"" << actual_flattened_bypass << "\"";
97 failed = true; 103 failed = true;
98 } 104 }
99 105
100 if (rules.reverse_bypass != reverse_bypass) { 106 if (rules.reverse_bypass != reverse_bypass) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 const char* proxy_http, 163 const char* proxy_http,
158 const char* proxy_https, 164 const char* proxy_https,
159 const char* proxy_ftp, 165 const char* proxy_ftp,
160 const char* flattened_bypass_rules) { 166 const char* flattened_bypass_rules) {
161 return ProxyRulesExpectation(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, 167 return ProxyRulesExpectation(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME,
162 "", proxy_http, proxy_https, proxy_ftp, "", 168 "", proxy_http, proxy_https, proxy_ftp, "",
163 flattened_bypass_rules, true); 169 flattened_bypass_rules, true);
164 } 170 }
165 171
166 } // namespace net 172 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698