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

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

Issue 1128823005: Update marking proxies as bad in ProxyList/ProxyService to use a std::vector (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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_errors.h" 7 #include "net/base/net_errors.h"
8 #include "net/log/net_log.h" 8 #include "net/log/net_log.h"
9 #include "net/proxy/proxy_retry_info.h" 9 #include "net/proxy/proxy_retry_info.h"
10 #include "net/proxy/proxy_server.h" 10 #include "net/proxy/proxy_server.h"
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 168
169 TEST(ProxyListTest, UpdateRetryInfoOnFallback) { 169 TEST(ProxyListTest, UpdateRetryInfoOnFallback) {
170 ProxyRetryInfo proxy_retry_info; 170 ProxyRetryInfo proxy_retry_info;
171 // Retrying should put the first proxy on the retry list. 171 // Retrying should put the first proxy on the retry list.
172 { 172 {
173 ProxyList list; 173 ProxyList list;
174 ProxyRetryInfoMap retry_info_map; 174 ProxyRetryInfoMap retry_info_map;
175 BoundNetLog net_log; 175 BoundNetLog net_log;
176 ProxyServer proxy_server( 176 ProxyServer proxy_server(
177 ProxyServer::FromURI("foopy1:80", ProxyServer::SCHEME_HTTP)); 177 ProxyServer::FromURI("foopy1:80", ProxyServer::SCHEME_HTTP));
178 std::vector<ProxyServer> bad_proxies;
bengr 2015/05/12 15:36:46 #include <vector>
jeremyim 2015/05/12 18:53:14 Done.
179 bad_proxies.push_back(proxy_server);
178 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80"); 180 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80");
179 list.UpdateRetryInfoOnFallback(&retry_info_map, 181 list.UpdateRetryInfoOnFallback(
180 base::TimeDelta::FromSeconds(60), 182 &retry_info_map, base::TimeDelta::FromSeconds(60), true, bad_proxies,
181 true, 183 ERR_PROXY_CONNECTION_FAILED, net_log);
182 proxy_server,
183 ERR_PROXY_CONNECTION_FAILED,
184 net_log);
185 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80")); 184 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80"));
186 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, 185 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED,
187 retry_info_map[proxy_server.ToURI()].net_error); 186 retry_info_map[proxy_server.ToURI()].net_error);
188 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 187 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
189 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80")); 188 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80"));
190 } 189 }
191 // Retrying should put the first proxy on the retry list, even if there 190 // Retrying should put the first proxy on the retry list, even if there
192 // was no network error. 191 // was no network error.
193 { 192 {
194 ProxyList list; 193 ProxyList list;
195 ProxyRetryInfoMap retry_info_map; 194 ProxyRetryInfoMap retry_info_map;
196 BoundNetLog net_log; 195 BoundNetLog net_log;
197 ProxyServer proxy_server( 196 ProxyServer proxy_server(
198 ProxyServer::FromURI("foopy1:80", ProxyServer::SCHEME_HTTP)); 197 ProxyServer::FromURI("foopy1:80", ProxyServer::SCHEME_HTTP));
198 std::vector<ProxyServer> bad_proxies;
199 bad_proxies.push_back(proxy_server);
199 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80"); 200 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80");
200 list.UpdateRetryInfoOnFallback(&retry_info_map, 201 list.UpdateRetryInfoOnFallback(&retry_info_map,
201 base::TimeDelta::FromSeconds(60), 202 base::TimeDelta::FromSeconds(60), true,
202 true, 203 bad_proxies, OK, net_log);
203 proxy_server,
204 OK,
205 net_log);
206 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80")); 204 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80"));
207 EXPECT_EQ(OK, retry_info_map[proxy_server.ToURI()].net_error); 205 EXPECT_EQ(OK, retry_info_map[proxy_server.ToURI()].net_error);
208 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"));
209 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"));
210 } 208 }
211 // Including another bad proxy should put both the first and the specified 209 // Including another bad proxy should put both the first and the specified
212 // proxy on the retry list. 210 // proxy on the retry list.
213 { 211 {
214 ProxyList list; 212 ProxyList list;
215 ProxyRetryInfoMap retry_info_map; 213 ProxyRetryInfoMap retry_info_map;
216 BoundNetLog net_log; 214 BoundNetLog net_log;
217 ProxyServer proxy_server = ProxyServer::FromURI("foopy3:80", 215 ProxyServer proxy_server = ProxyServer::FromURI("foopy3:80",
218 ProxyServer::SCHEME_HTTP); 216 ProxyServer::SCHEME_HTTP);
217 std::vector<ProxyServer> bad_proxies;
218 bad_proxies.push_back(proxy_server);
219 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80"); 219 list.SetFromPacString("PROXY foopy1:80;PROXY foopy2:80;PROXY foopy3:80");
220 list.UpdateRetryInfoOnFallback(&retry_info_map, 220 list.UpdateRetryInfoOnFallback(
221 base::TimeDelta::FromSeconds(60), 221 &retry_info_map, base::TimeDelta::FromSeconds(60), true, bad_proxies,
222 true, 222 ERR_NAME_RESOLUTION_FAILED, net_log);
223 proxy_server,
224 ERR_NAME_RESOLUTION_FAILED,
225 net_log);
226 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80")); 223 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy1:80"));
227 EXPECT_EQ(ERR_NAME_RESOLUTION_FAILED, 224 EXPECT_EQ(ERR_NAME_RESOLUTION_FAILED,
228 retry_info_map[proxy_server.ToURI()].net_error); 225 retry_info_map[proxy_server.ToURI()].net_error);
229 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 226 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
230 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy3:80")); 227 EXPECT_TRUE(retry_info_map.end() != retry_info_map.find("foopy3:80"));
231 } 228 }
232 // If the first proxy is DIRECT, nothing is added to the retry list, even 229 // If the first proxy is DIRECT, nothing is added to the retry list, even
233 // if another bad proxy is specified. 230 // if another bad proxy is specified.
234 { 231 {
235 ProxyList list; 232 ProxyList list;
236 ProxyRetryInfoMap retry_info_map; 233 ProxyRetryInfoMap retry_info_map;
237 BoundNetLog net_log; 234 BoundNetLog net_log;
238 ProxyServer proxy_server = ProxyServer::FromURI("foopy2:80", 235 ProxyServer proxy_server = ProxyServer::FromURI("foopy2:80",
239 ProxyServer::SCHEME_HTTP); 236 ProxyServer::SCHEME_HTTP);
237 std::vector<ProxyServer> bad_proxies;
238 bad_proxies.push_back(proxy_server);
240 list.SetFromPacString("DIRECT;PROXY foopy2:80;PROXY foopy3:80"); 239 list.SetFromPacString("DIRECT;PROXY foopy2:80;PROXY foopy3:80");
241 list.UpdateRetryInfoOnFallback(&retry_info_map, 240 list.UpdateRetryInfoOnFallback(&retry_info_map,
242 base::TimeDelta::FromSeconds(60), 241 base::TimeDelta::FromSeconds(60), true,
243 true, 242 bad_proxies, OK, net_log);
244 proxy_server,
245 OK,
246 net_log);
247 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80")); 243 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy2:80"));
248 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80")); 244 EXPECT_TRUE(retry_info_map.end() == retry_info_map.find("foopy3:80"));
249 } 245 }
250 } 246 }
251 247
252 } // namesapce 248 } // namesapce
253 249
254 } // namespace net 250 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698