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

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

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_list.h" 5 #include "net/proxy/proxy_list.h"
6 6
7 #include "net/base/net_log.h" 7 #include "net/base/net_log.h"
8 #include "net/proxy/proxy_retry_info.h" 8 #include "net/proxy/proxy_retry_info.h"
9 #include "net/proxy/proxy_server.h" 9 #include "net/proxy/proxy_server.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace net { 12 namespace net {
13 13
14 namespace { 14 namespace {
15 15
16 // Test parsing from a PAC string. 16 // Test parsing from a PAC string.
17 TEST(ProxyListTest, SetFromPacString) { 17 TEST(ProxyListTest, SetFromPacString) {
18 const struct { 18 const struct {
19 const char* pac_input; 19 const char* pac_input;
20 const char* pac_output; 20 const char* pac_output;
21 } tests[] = { 21 } tests[] = {
22 // Valid inputs: 22 // Valid inputs:
23 { "PROXY foopy:10", 23 {
24 "PROXY foopy:10", 24 "PROXY foopy:10", "PROXY foopy:10",
25 }, 25 },
26 { " DIRECT", // leading space. 26 {
27 "DIRECT", 27 " DIRECT", // leading space.
28 }, 28 "DIRECT",
29 { "PROXY foopy1 ; proxy foopy2;\t DIRECT", 29 },
30 "PROXY foopy1:80;PROXY foopy2:80;DIRECT", 30 {
31 }, 31 "PROXY foopy1 ; proxy foopy2;\t DIRECT",
32 { "proxy foopy1 ; SOCKS foopy2", 32 "PROXY foopy1:80;PROXY foopy2:80;DIRECT",
33 "PROXY foopy1:80;SOCKS foopy2:1080", 33 },
34 }, 34 {
35 // Try putting DIRECT first. 35 "proxy foopy1 ; SOCKS foopy2", "PROXY foopy1:80;SOCKS foopy2:1080",
36 { "DIRECT ; proxy foopy1 ; DIRECT ; SOCKS5 foopy2;DIRECT ", 36 },
37 "DIRECT;PROXY foopy1:80;DIRECT;SOCKS5 foopy2:1080;DIRECT", 37 // Try putting DIRECT first.
38 }, 38 {
39 // Try putting DIRECT consecutively. 39 "DIRECT ; proxy foopy1 ; DIRECT ; SOCKS5 foopy2;DIRECT ",
40 { "DIRECT ; proxy foopy1:80; DIRECT ; DIRECT", 40 "DIRECT;PROXY foopy1:80;DIRECT;SOCKS5 foopy2:1080;DIRECT",
41 "DIRECT;PROXY foopy1:80;DIRECT;DIRECT", 41 },
42 }, 42 // Try putting DIRECT consecutively.
43 {
44 "DIRECT ; proxy foopy1:80; DIRECT ; DIRECT",
45 "DIRECT;PROXY foopy1:80;DIRECT;DIRECT",
46 },
43 47
44 // Invalid inputs (parts which aren't understood get 48 // Invalid inputs (parts which aren't understood get
45 // silently discarded): 49 // silently discarded):
46 // 50 //
47 // If the proxy list string parsed to empty, automatically fall-back to 51 // If the proxy list string parsed to empty, automatically fall-back to
48 // DIRECT. 52 // DIRECT.
49 { "PROXY-foopy:10", 53 {
50 "DIRECT", 54 "PROXY-foopy:10", "DIRECT",
51 }, 55 },
52 { "PROXY", 56 {
53 "DIRECT", 57 "PROXY", "DIRECT",
54 }, 58 },
55 { "PROXY foopy1 ; JUNK ; JUNK ; SOCKS5 foopy2 ; ;", 59 {
56 "PROXY foopy1:80;SOCKS5 foopy2:1080", 60 "PROXY foopy1 ; JUNK ; JUNK ; SOCKS5 foopy2 ; ;",
57 }, 61 "PROXY foopy1:80;SOCKS5 foopy2:1080",
58 }; 62 },
63 };
59 64
60 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 65 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
61 ProxyList list; 66 ProxyList list;
62 list.SetFromPacString(tests[i].pac_input); 67 list.SetFromPacString(tests[i].pac_input);
63 EXPECT_EQ(tests[i].pac_output, list.ToPacString()); 68 EXPECT_EQ(tests[i].pac_output, list.ToPacString());
64 EXPECT_FALSE(list.IsEmpty()); 69 EXPECT_FALSE(list.IsEmpty());
65 } 70 }
66 } 71 }
67 72
68 TEST(ProxyListTest, RemoveProxiesWithoutScheme) { 73 TEST(ProxyListTest, RemoveProxiesWithoutScheme) {
69 const struct { 74 const struct {
70 const char* pac_input; 75 const char* pac_input;
71 int filter; 76 int filter;
72 const char* filtered_pac_output; 77 const char* filtered_pac_output;
73 } tests[] = { 78 } tests[] = {
74 { "PROXY foopy:10 ; SOCKS5 foopy2 ; SOCKS foopy11 ; PROXY foopy3 ; DIRECT", 79 {
75 // Remove anything that isn't HTTP or DIRECT. 80 "PROXY foopy:10 ; SOCKS5 foopy2 ; SOCKS foopy11 ; PROXY foopy3 ; "
76 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_HTTP, 81 "DIRECT",
77 "PROXY foopy:10;PROXY foopy3:80;DIRECT", 82 // Remove anything that isn't HTTP or DIRECT.
78 }, 83 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_HTTP,
79 { "PROXY foopy:10 ; SOCKS5 foopy2", 84 "PROXY foopy:10;PROXY foopy3:80;DIRECT",
80 // Remove anything that isn't HTTP or SOCKS5. 85 },
81 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_SOCKS4, 86 {
82 "", 87 "PROXY foopy:10 ; SOCKS5 foopy2",
83 }, 88 // Remove anything that isn't HTTP or SOCKS5.
84 }; 89 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_SOCKS4, "",
90 },
91 };
85 92
86 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 93 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
87 ProxyList list; 94 ProxyList list;
88 list.SetFromPacString(tests[i].pac_input); 95 list.SetFromPacString(tests[i].pac_input);
89 list.RemoveProxiesWithoutScheme(tests[i].filter); 96 list.RemoveProxiesWithoutScheme(tests[i].filter);
90 EXPECT_EQ(tests[i].filtered_pac_output, list.ToPacString()); 97 EXPECT_EQ(tests[i].filtered_pac_output, list.ToPacString());
91 } 98 }
92 } 99 }
93 100
94 TEST(ProxyListTest, DeprioritizeBadProxies) { 101 TEST(ProxyListTest, DeprioritizeBadProxies) {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 ProxyRetryInfoMap retry_info_map; 160 ProxyRetryInfoMap retry_info_map;
154 // |proxy_retry_info.reconsider defaults to true. 161 // |proxy_retry_info.reconsider defaults to true.
155 retry_info_map["foopy1:80"] = proxy_retry_info; 162 retry_info_map["foopy1:80"] = proxy_retry_info;
156 proxy_retry_info.try_while_bad = false; 163 proxy_retry_info.try_while_bad = false;
157 retry_info_map["foopy3:80"] = proxy_retry_info; 164 retry_info_map["foopy3:80"] = proxy_retry_info;
158 proxy_retry_info.try_while_bad = true; 165 proxy_retry_info.try_while_bad = true;
159 retry_info_map["socks5://localhost:1080"] = proxy_retry_info; 166 retry_info_map["socks5://localhost:1080"] = proxy_retry_info;
160 167
161 list.DeprioritizeBadProxies(retry_info_map); 168 list.DeprioritizeBadProxies(retry_info_map);
162 169
163 EXPECT_EQ("PROXY foopy2:80;PROXY foopy1:80", 170 EXPECT_EQ("PROXY foopy2:80;PROXY foopy1:80", list.ToPacString());
164 list.ToPacString());
165 } 171 }
166 } 172 }
167 173
168 TEST(ProxyListTest, UpdateRetryInfoOnFallback) { 174 TEST(ProxyListTest, UpdateRetryInfoOnFallback) {
169 ProxyRetryInfo proxy_retry_info; 175 ProxyRetryInfo proxy_retry_info;
170 // Retrying should put the first proxy on the retry list. 176 // Retrying should put the first proxy on the retry list.
171 { 177 {
172 ProxyList list; 178 ProxyList list;
173 ProxyRetryInfoMap retry_info_map; 179 ProxyRetryInfoMap retry_info_map;
174 BoundNetLog net_log; 180 BoundNetLog net_log;
175 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80"); 181 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80");
176 list.UpdateRetryInfoOnFallback(&retry_info_map, 182 list.UpdateRetryInfoOnFallback(&retry_info_map,
177 base::TimeDelta::FromSeconds(60), 183 base::TimeDelta::FromSeconds(60),
178 true, 184 true,
179 ProxyServer(), 185 ProxyServer(),
180 net_log); 186 net_log);
181 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80")); 187 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80"));
182 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 188 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
183 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80")); 189 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80"));
184 } 190 }
185 // Including another bad proxy should put both the first and the specified 191 // Including another bad proxy should put both the first and the specified
186 // proxy on the retry list. 192 // proxy on the retry list.
187 { 193 {
188 ProxyList list; 194 ProxyList list;
189 ProxyRetryInfoMap retry_info_map; 195 ProxyRetryInfoMap retry_info_map;
190 BoundNetLog net_log; 196 BoundNetLog net_log;
191 ProxyServer proxy_server = ProxyServer::FromURI("foopy3:80", 197 ProxyServer proxy_server =
192 ProxyServer::SCHEME_HTTP); 198 ProxyServer::FromURI("foopy3:80", ProxyServer::SCHEME_HTTP);
193 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80"); 199 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80");
194 list.UpdateRetryInfoOnFallback(&retry_info_map, 200 list.UpdateRetryInfoOnFallback(&retry_info_map,
195 base::TimeDelta::FromSeconds(60), 201 base::TimeDelta::FromSeconds(60),
196 true, 202 true,
197 proxy_server, 203 proxy_server,
198 net_log); 204 net_log);
199 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80")); 205 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80"));
200 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 206 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
201 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy3:80")); 207 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy3:80"));
202 } 208 }
203 // If the first proxy is DIRECT, nothing is added to the retry list, even 209 // If the first proxy is DIRECT, nothing is added to the retry list, even
204 // if another bad proxy is specified. 210 // if another bad proxy is specified.
205 { 211 {
206 ProxyList list; 212 ProxyList list;
207 ProxyRetryInfoMap retry_info_map; 213 ProxyRetryInfoMap retry_info_map;
208 BoundNetLog net_log; 214 BoundNetLog net_log;
209 ProxyServer proxy_server = ProxyServer::FromURI("foopy2:80", 215 ProxyServer proxy_server =
210 ProxyServer::SCHEME_HTTP); 216 ProxyServer::FromURI("foopy2:80", ProxyServer::SCHEME_HTTP);
211 list.SetFromPacString("DIRECT;PROXY foopy2:80;PROXY foopy3:80"); 217 list.SetFromPacString("DIRECT;PROXY foopy2:80;PROXY foopy3:80");
212 list.UpdateRetryInfoOnFallback(&retry_info_map, 218 list.UpdateRetryInfoOnFallback(&retry_info_map,
213 base::TimeDelta::FromSeconds(60), 219 base::TimeDelta::FromSeconds(60),
214 true, 220 true,
215 proxy_server, 221 proxy_server,
216 net_log); 222 net_log);
217 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 223 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
218 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80")); 224 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80"));
219 } 225 }
220 } 226 }
221 227
222 } // namesapce 228 } // namesapce
223 229
224 } // namespace net 230 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698