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

Side by Side Diff: net/socket/ssl_client_socket_pool_unittest.cc

Issue 2109503009: Refactor net tests to use GMock matchers for checking net::Error results (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert changes to contents.txt files Created 4 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
« no previous file with comments | « net/socket/socks_client_socket_unittest.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/http/http_proxy_client_socket_pool.h" 5 #include "net/http/http_proxy_client_socket_pool.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 14 matching lines...) Expand all
25 #include "net/http/http_server_properties_impl.h" 25 #include "net/http/http_server_properties_impl.h"
26 #include "net/http/transport_security_state.h" 26 #include "net/http/transport_security_state.h"
27 #include "net/proxy/proxy_service.h" 27 #include "net/proxy/proxy_service.h"
28 #include "net/socket/client_socket_handle.h" 28 #include "net/socket/client_socket_handle.h"
29 #include "net/socket/next_proto.h" 29 #include "net/socket/next_proto.h"
30 #include "net/socket/socket_test_util.h" 30 #include "net/socket/socket_test_util.h"
31 #include "net/spdy/spdy_session.h" 31 #include "net/spdy/spdy_session.h"
32 #include "net/spdy/spdy_session_pool.h" 32 #include "net/spdy/spdy_session_pool.h"
33 #include "net/spdy/spdy_test_util_common.h" 33 #include "net/spdy/spdy_test_util_common.h"
34 #include "net/ssl/ssl_config_service_defaults.h" 34 #include "net/ssl/ssl_config_service_defaults.h"
35 #include "net/test/gtest_util.h"
35 #include "net/test/test_certificate_data.h" 36 #include "net/test/test_certificate_data.h"
37 #include "testing/gmock/include/gmock/gmock.h"
36 #include "testing/gtest/include/gtest/gtest.h" 38 #include "testing/gtest/include/gtest/gtest.h"
37 39
40 using net::test::IsError;
41 using net::test::IsOk;
42
38 namespace net { 43 namespace net {
39 44
40 namespace { 45 namespace {
41 46
42 const int kMaxSockets = 32; 47 const int kMaxSockets = 32;
43 const int kMaxSocketsPerGroup = 6; 48 const int kMaxSocketsPerGroup = 6;
44 49
45 // Make sure |handle|'s load times are set correctly. DNS and connect start 50 // Make sure |handle|'s load times are set correctly. DNS and connect start
46 // times comes from mock client sockets in these tests, so primarily serves to 51 // times comes from mock client sockets in these tests, so primarily serves to
47 // check those times were copied, and ssl times / connect end are set correctly. 52 // check those times were copied, and ssl times / connect end are set correctly.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 socket_factory_.AddSocketDataProvider(&data); 222 socket_factory_.AddSocketDataProvider(&data);
218 223
219 CreatePool(true /* tcp pool */, false, false); 224 CreatePool(true /* tcp pool */, false, false);
220 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 225 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
221 false); 226 false);
222 227
223 ClientSocketHandle handle; 228 ClientSocketHandle handle;
224 int rv = 229 int rv =
225 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 230 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
226 CompletionCallback(), pool_.get(), BoundNetLog()); 231 CompletionCallback(), pool_.get(), BoundNetLog());
227 EXPECT_EQ(ERR_CONNECTION_FAILED, rv); 232 EXPECT_THAT(rv, IsError(ERR_CONNECTION_FAILED));
228 EXPECT_FALSE(handle.is_initialized()); 233 EXPECT_FALSE(handle.is_initialized());
229 EXPECT_FALSE(handle.socket()); 234 EXPECT_FALSE(handle.socket());
230 EXPECT_FALSE(handle.is_ssl_error()); 235 EXPECT_FALSE(handle.is_ssl_error());
231 ASSERT_EQ(1u, handle.connection_attempts().size()); 236 ASSERT_EQ(1u, handle.connection_attempts().size());
232 EXPECT_EQ(ERR_CONNECTION_FAILED, handle.connection_attempts()[0].result); 237 EXPECT_THAT(handle.connection_attempts()[0].result,
238 IsError(ERR_CONNECTION_FAILED));
233 } 239 }
234 240
235 TEST_P(SSLClientSocketPoolTest, TCPFailAsync) { 241 TEST_P(SSLClientSocketPoolTest, TCPFailAsync) {
236 StaticSocketDataProvider data; 242 StaticSocketDataProvider data;
237 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); 243 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
238 socket_factory_.AddSocketDataProvider(&data); 244 socket_factory_.AddSocketDataProvider(&data);
239 245
240 CreatePool(true /* tcp pool */, false, false); 246 CreatePool(true /* tcp pool */, false, false);
241 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 247 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
242 false); 248 false);
243 249
244 ClientSocketHandle handle; 250 ClientSocketHandle handle;
245 TestCompletionCallback callback; 251 TestCompletionCallback callback;
246 int rv = 252 int rv =
247 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 253 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
248 callback.callback(), pool_.get(), BoundNetLog()); 254 callback.callback(), pool_.get(), BoundNetLog());
249 EXPECT_EQ(ERR_IO_PENDING, rv); 255 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
250 EXPECT_FALSE(handle.is_initialized()); 256 EXPECT_FALSE(handle.is_initialized());
251 EXPECT_FALSE(handle.socket()); 257 EXPECT_FALSE(handle.socket());
252 258
253 EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult()); 259 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CONNECTION_FAILED));
254 EXPECT_FALSE(handle.is_initialized()); 260 EXPECT_FALSE(handle.is_initialized());
255 EXPECT_FALSE(handle.socket()); 261 EXPECT_FALSE(handle.socket());
256 EXPECT_FALSE(handle.is_ssl_error()); 262 EXPECT_FALSE(handle.is_ssl_error());
257 ASSERT_EQ(1u, handle.connection_attempts().size()); 263 ASSERT_EQ(1u, handle.connection_attempts().size());
258 EXPECT_EQ(ERR_CONNECTION_FAILED, handle.connection_attempts()[0].result); 264 EXPECT_THAT(handle.connection_attempts()[0].result,
265 IsError(ERR_CONNECTION_FAILED));
259 } 266 }
260 267
261 TEST_P(SSLClientSocketPoolTest, BasicDirect) { 268 TEST_P(SSLClientSocketPoolTest, BasicDirect) {
262 StaticSocketDataProvider data; 269 StaticSocketDataProvider data;
263 data.set_connect_data(MockConnect(SYNCHRONOUS, OK)); 270 data.set_connect_data(MockConnect(SYNCHRONOUS, OK));
264 socket_factory_.AddSocketDataProvider(&data); 271 socket_factory_.AddSocketDataProvider(&data);
265 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); 272 SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
266 socket_factory_.AddSSLSocketDataProvider(&ssl); 273 socket_factory_.AddSSLSocketDataProvider(&ssl);
267 274
268 CreatePool(true /* tcp pool */, false, false); 275 CreatePool(true /* tcp pool */, false, false);
269 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 276 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
270 false); 277 false);
271 278
272 ClientSocketHandle handle; 279 ClientSocketHandle handle;
273 TestCompletionCallback callback; 280 TestCompletionCallback callback;
274 int rv = 281 int rv =
275 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 282 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
276 callback.callback(), pool_.get(), BoundNetLog()); 283 callback.callback(), pool_.get(), BoundNetLog());
277 EXPECT_EQ(OK, rv); 284 EXPECT_THAT(rv, IsOk());
278 EXPECT_TRUE(handle.is_initialized()); 285 EXPECT_TRUE(handle.is_initialized());
279 EXPECT_TRUE(handle.socket()); 286 EXPECT_TRUE(handle.socket());
280 TestLoadTimingInfo(handle); 287 TestLoadTimingInfo(handle);
281 EXPECT_EQ(0u, handle.connection_attempts().size()); 288 EXPECT_EQ(0u, handle.connection_attempts().size());
282 } 289 }
283 290
284 // Make sure that SSLConnectJob passes on its priority to its 291 // Make sure that SSLConnectJob passes on its priority to its
285 // socket request on Init (for the DIRECT case). 292 // socket request on Init (for the DIRECT case).
286 TEST_P(SSLClientSocketPoolTest, SetSocketRequestPriorityOnInitDirect) { 293 TEST_P(SSLClientSocketPoolTest, SetSocketRequestPriorityOnInitDirect) {
287 CreatePool(true /* tcp pool */, false, false); 294 CreatePool(true /* tcp pool */, false, false);
(...skipping 26 matching lines...) Expand all
314 321
315 CreatePool(true /* tcp pool */, false, false); 322 CreatePool(true /* tcp pool */, false, false);
316 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 323 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
317 false); 324 false);
318 325
319 ClientSocketHandle handle; 326 ClientSocketHandle handle;
320 TestCompletionCallback callback; 327 TestCompletionCallback callback;
321 int rv = 328 int rv =
322 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 329 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
323 callback.callback(), pool_.get(), BoundNetLog()); 330 callback.callback(), pool_.get(), BoundNetLog());
324 EXPECT_EQ(ERR_IO_PENDING, rv); 331 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
325 EXPECT_FALSE(handle.is_initialized()); 332 EXPECT_FALSE(handle.is_initialized());
326 EXPECT_FALSE(handle.socket()); 333 EXPECT_FALSE(handle.socket());
327 334
328 EXPECT_EQ(OK, callback.WaitForResult()); 335 EXPECT_THAT(callback.WaitForResult(), IsOk());
329 EXPECT_TRUE(handle.is_initialized()); 336 EXPECT_TRUE(handle.is_initialized());
330 EXPECT_TRUE(handle.socket()); 337 EXPECT_TRUE(handle.socket());
331 TestLoadTimingInfo(handle); 338 TestLoadTimingInfo(handle);
332 } 339 }
333 340
334 TEST_P(SSLClientSocketPoolTest, DirectCertError) { 341 TEST_P(SSLClientSocketPoolTest, DirectCertError) {
335 StaticSocketDataProvider data; 342 StaticSocketDataProvider data;
336 socket_factory_.AddSocketDataProvider(&data); 343 socket_factory_.AddSocketDataProvider(&data);
337 SSLSocketDataProvider ssl(ASYNC, ERR_CERT_COMMON_NAME_INVALID); 344 SSLSocketDataProvider ssl(ASYNC, ERR_CERT_COMMON_NAME_INVALID);
338 socket_factory_.AddSSLSocketDataProvider(&ssl); 345 socket_factory_.AddSSLSocketDataProvider(&ssl);
339 346
340 CreatePool(true /* tcp pool */, false, false); 347 CreatePool(true /* tcp pool */, false, false);
341 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 348 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
342 false); 349 false);
343 350
344 ClientSocketHandle handle; 351 ClientSocketHandle handle;
345 TestCompletionCallback callback; 352 TestCompletionCallback callback;
346 int rv = 353 int rv =
347 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 354 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
348 callback.callback(), pool_.get(), BoundNetLog()); 355 callback.callback(), pool_.get(), BoundNetLog());
349 EXPECT_EQ(ERR_IO_PENDING, rv); 356 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
350 EXPECT_FALSE(handle.is_initialized()); 357 EXPECT_FALSE(handle.is_initialized());
351 EXPECT_FALSE(handle.socket()); 358 EXPECT_FALSE(handle.socket());
352 359
353 EXPECT_EQ(ERR_CERT_COMMON_NAME_INVALID, callback.WaitForResult()); 360 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CERT_COMMON_NAME_INVALID));
354 EXPECT_TRUE(handle.is_initialized()); 361 EXPECT_TRUE(handle.is_initialized());
355 EXPECT_TRUE(handle.socket()); 362 EXPECT_TRUE(handle.socket());
356 TestLoadTimingInfo(handle); 363 TestLoadTimingInfo(handle);
357 } 364 }
358 365
359 TEST_P(SSLClientSocketPoolTest, DirectSSLError) { 366 TEST_P(SSLClientSocketPoolTest, DirectSSLError) {
360 StaticSocketDataProvider data; 367 StaticSocketDataProvider data;
361 socket_factory_.AddSocketDataProvider(&data); 368 socket_factory_.AddSocketDataProvider(&data);
362 SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR); 369 SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
363 socket_factory_.AddSSLSocketDataProvider(&ssl); 370 socket_factory_.AddSSLSocketDataProvider(&ssl);
364 371
365 CreatePool(true /* tcp pool */, false, false); 372 CreatePool(true /* tcp pool */, false, false);
366 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 373 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
367 false); 374 false);
368 375
369 ClientSocketHandle handle; 376 ClientSocketHandle handle;
370 TestCompletionCallback callback; 377 TestCompletionCallback callback;
371 int rv = 378 int rv =
372 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 379 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
373 callback.callback(), pool_.get(), BoundNetLog()); 380 callback.callback(), pool_.get(), BoundNetLog());
374 EXPECT_EQ(ERR_IO_PENDING, rv); 381 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
375 EXPECT_FALSE(handle.is_initialized()); 382 EXPECT_FALSE(handle.is_initialized());
376 EXPECT_FALSE(handle.socket()); 383 EXPECT_FALSE(handle.socket());
377 384
378 EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, callback.WaitForResult()); 385 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_SSL_PROTOCOL_ERROR));
379 EXPECT_FALSE(handle.is_initialized()); 386 EXPECT_FALSE(handle.is_initialized());
380 EXPECT_FALSE(handle.socket()); 387 EXPECT_FALSE(handle.socket());
381 EXPECT_TRUE(handle.is_ssl_error()); 388 EXPECT_TRUE(handle.is_ssl_error());
382 } 389 }
383 390
384 TEST_P(SSLClientSocketPoolTest, DirectWithNPN) { 391 TEST_P(SSLClientSocketPoolTest, DirectWithNPN) {
385 StaticSocketDataProvider data; 392 StaticSocketDataProvider data;
386 socket_factory_.AddSocketDataProvider(&data); 393 socket_factory_.AddSocketDataProvider(&data);
387 SSLSocketDataProvider ssl(ASYNC, OK); 394 SSLSocketDataProvider ssl(ASYNC, OK);
388 ssl.SetNextProto(kProtoHTTP11); 395 ssl.SetNextProto(kProtoHTTP11);
389 socket_factory_.AddSSLSocketDataProvider(&ssl); 396 socket_factory_.AddSSLSocketDataProvider(&ssl);
390 397
391 CreatePool(true /* tcp pool */, false, false); 398 CreatePool(true /* tcp pool */, false, false);
392 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 399 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
393 false); 400 false);
394 401
395 ClientSocketHandle handle; 402 ClientSocketHandle handle;
396 TestCompletionCallback callback; 403 TestCompletionCallback callback;
397 int rv = 404 int rv =
398 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 405 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
399 callback.callback(), pool_.get(), BoundNetLog()); 406 callback.callback(), pool_.get(), BoundNetLog());
400 EXPECT_EQ(ERR_IO_PENDING, rv); 407 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
401 EXPECT_FALSE(handle.is_initialized()); 408 EXPECT_FALSE(handle.is_initialized());
402 EXPECT_FALSE(handle.socket()); 409 EXPECT_FALSE(handle.socket());
403 410
404 EXPECT_EQ(OK, callback.WaitForResult()); 411 EXPECT_THAT(callback.WaitForResult(), IsOk());
405 EXPECT_TRUE(handle.is_initialized()); 412 EXPECT_TRUE(handle.is_initialized());
406 EXPECT_TRUE(handle.socket()); 413 EXPECT_TRUE(handle.socket());
407 TestLoadTimingInfo(handle); 414 TestLoadTimingInfo(handle);
408 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket()); 415 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket());
409 EXPECT_TRUE(ssl_socket->WasNpnNegotiated()); 416 EXPECT_TRUE(ssl_socket->WasNpnNegotiated());
410 } 417 }
411 418
412 TEST_P(SSLClientSocketPoolTest, DirectNoSPDY) { 419 TEST_P(SSLClientSocketPoolTest, DirectNoSPDY) {
413 StaticSocketDataProvider data; 420 StaticSocketDataProvider data;
414 socket_factory_.AddSocketDataProvider(&data); 421 socket_factory_.AddSocketDataProvider(&data);
415 SSLSocketDataProvider ssl(ASYNC, OK); 422 SSLSocketDataProvider ssl(ASYNC, OK);
416 ssl.SetNextProto(kProtoHTTP11); 423 ssl.SetNextProto(kProtoHTTP11);
417 socket_factory_.AddSSLSocketDataProvider(&ssl); 424 socket_factory_.AddSSLSocketDataProvider(&ssl);
418 425
419 CreatePool(true /* tcp pool */, false, false); 426 CreatePool(true /* tcp pool */, false, false);
420 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 427 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
421 true); 428 true);
422 429
423 ClientSocketHandle handle; 430 ClientSocketHandle handle;
424 TestCompletionCallback callback; 431 TestCompletionCallback callback;
425 int rv = 432 int rv =
426 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 433 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
427 callback.callback(), pool_.get(), BoundNetLog()); 434 callback.callback(), pool_.get(), BoundNetLog());
428 EXPECT_EQ(ERR_IO_PENDING, rv); 435 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
429 EXPECT_FALSE(handle.is_initialized()); 436 EXPECT_FALSE(handle.is_initialized());
430 EXPECT_FALSE(handle.socket()); 437 EXPECT_FALSE(handle.socket());
431 438
432 EXPECT_EQ(ERR_NPN_NEGOTIATION_FAILED, callback.WaitForResult()); 439 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NPN_NEGOTIATION_FAILED));
433 EXPECT_FALSE(handle.is_initialized()); 440 EXPECT_FALSE(handle.is_initialized());
434 EXPECT_FALSE(handle.socket()); 441 EXPECT_FALSE(handle.socket());
435 EXPECT_TRUE(handle.is_ssl_error()); 442 EXPECT_TRUE(handle.is_ssl_error());
436 } 443 }
437 444
438 TEST_P(SSLClientSocketPoolTest, DirectGotSPDY) { 445 TEST_P(SSLClientSocketPoolTest, DirectGotSPDY) {
439 StaticSocketDataProvider data; 446 StaticSocketDataProvider data;
440 socket_factory_.AddSocketDataProvider(&data); 447 socket_factory_.AddSocketDataProvider(&data);
441 SSLSocketDataProvider ssl(ASYNC, OK); 448 SSLSocketDataProvider ssl(ASYNC, OK);
442 ssl.SetNextProto(GetParam()); 449 ssl.SetNextProto(GetParam());
443 socket_factory_.AddSSLSocketDataProvider(&ssl); 450 socket_factory_.AddSSLSocketDataProvider(&ssl);
444 451
445 CreatePool(true /* tcp pool */, false, false); 452 CreatePool(true /* tcp pool */, false, false);
446 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 453 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
447 true); 454 true);
448 455
449 ClientSocketHandle handle; 456 ClientSocketHandle handle;
450 TestCompletionCallback callback; 457 TestCompletionCallback callback;
451 int rv = 458 int rv =
452 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 459 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
453 callback.callback(), pool_.get(), BoundNetLog()); 460 callback.callback(), pool_.get(), BoundNetLog());
454 EXPECT_EQ(ERR_IO_PENDING, rv); 461 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
455 EXPECT_FALSE(handle.is_initialized()); 462 EXPECT_FALSE(handle.is_initialized());
456 EXPECT_FALSE(handle.socket()); 463 EXPECT_FALSE(handle.socket());
457 464
458 EXPECT_EQ(OK, callback.WaitForResult()); 465 EXPECT_THAT(callback.WaitForResult(), IsOk());
459 EXPECT_TRUE(handle.is_initialized()); 466 EXPECT_TRUE(handle.is_initialized());
460 EXPECT_TRUE(handle.socket()); 467 EXPECT_TRUE(handle.socket());
461 TestLoadTimingInfo(handle); 468 TestLoadTimingInfo(handle);
462 469
463 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket()); 470 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket());
464 EXPECT_TRUE(ssl_socket->WasNpnNegotiated()); 471 EXPECT_TRUE(ssl_socket->WasNpnNegotiated());
465 std::string proto; 472 std::string proto;
466 ssl_socket->GetNextProto(&proto); 473 ssl_socket->GetNextProto(&proto);
467 EXPECT_EQ(GetParam(), SSLClientSocket::NextProtoFromString(proto)); 474 EXPECT_EQ(GetParam(), SSLClientSocket::NextProtoFromString(proto));
468 } 475 }
469 476
470 TEST_P(SSLClientSocketPoolTest, DirectGotBonusSPDY) { 477 TEST_P(SSLClientSocketPoolTest, DirectGotBonusSPDY) {
471 StaticSocketDataProvider data; 478 StaticSocketDataProvider data;
472 socket_factory_.AddSocketDataProvider(&data); 479 socket_factory_.AddSocketDataProvider(&data);
473 SSLSocketDataProvider ssl(ASYNC, OK); 480 SSLSocketDataProvider ssl(ASYNC, OK);
474 ssl.SetNextProto(GetParam()); 481 ssl.SetNextProto(GetParam());
475 socket_factory_.AddSSLSocketDataProvider(&ssl); 482 socket_factory_.AddSSLSocketDataProvider(&ssl);
476 483
477 CreatePool(true /* tcp pool */, false, false); 484 CreatePool(true /* tcp pool */, false, false);
478 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, 485 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
479 true); 486 true);
480 487
481 ClientSocketHandle handle; 488 ClientSocketHandle handle;
482 TestCompletionCallback callback; 489 TestCompletionCallback callback;
483 int rv = 490 int rv =
484 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 491 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
485 callback.callback(), pool_.get(), BoundNetLog()); 492 callback.callback(), pool_.get(), BoundNetLog());
486 EXPECT_EQ(ERR_IO_PENDING, rv); 493 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
487 EXPECT_FALSE(handle.is_initialized()); 494 EXPECT_FALSE(handle.is_initialized());
488 EXPECT_FALSE(handle.socket()); 495 EXPECT_FALSE(handle.socket());
489 496
490 EXPECT_EQ(OK, callback.WaitForResult()); 497 EXPECT_THAT(callback.WaitForResult(), IsOk());
491 EXPECT_TRUE(handle.is_initialized()); 498 EXPECT_TRUE(handle.is_initialized());
492 EXPECT_TRUE(handle.socket()); 499 EXPECT_TRUE(handle.socket());
493 TestLoadTimingInfo(handle); 500 TestLoadTimingInfo(handle);
494 501
495 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket()); 502 SSLClientSocket* ssl_socket = static_cast<SSLClientSocket*>(handle.socket());
496 EXPECT_TRUE(ssl_socket->WasNpnNegotiated()); 503 EXPECT_TRUE(ssl_socket->WasNpnNegotiated());
497 std::string proto; 504 std::string proto;
498 ssl_socket->GetNextProto(&proto); 505 ssl_socket->GetNextProto(&proto);
499 EXPECT_EQ(GetParam(), SSLClientSocket::NextProtoFromString(proto)); 506 EXPECT_EQ(GetParam(), SSLClientSocket::NextProtoFromString(proto));
500 } 507 }
501 508
502 TEST_P(SSLClientSocketPoolTest, SOCKSFail) { 509 TEST_P(SSLClientSocketPoolTest, SOCKSFail) {
503 StaticSocketDataProvider data; 510 StaticSocketDataProvider data;
504 data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED)); 511 data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
505 socket_factory_.AddSocketDataProvider(&data); 512 socket_factory_.AddSocketDataProvider(&data);
506 513
507 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 514 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
508 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, 515 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
509 false); 516 false);
510 517
511 ClientSocketHandle handle; 518 ClientSocketHandle handle;
512 TestCompletionCallback callback; 519 TestCompletionCallback callback;
513 int rv = 520 int rv =
514 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 521 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
515 callback.callback(), pool_.get(), BoundNetLog()); 522 callback.callback(), pool_.get(), BoundNetLog());
516 EXPECT_EQ(ERR_CONNECTION_FAILED, rv); 523 EXPECT_THAT(rv, IsError(ERR_CONNECTION_FAILED));
517 EXPECT_FALSE(handle.is_initialized()); 524 EXPECT_FALSE(handle.is_initialized());
518 EXPECT_FALSE(handle.socket()); 525 EXPECT_FALSE(handle.socket());
519 EXPECT_FALSE(handle.is_ssl_error()); 526 EXPECT_FALSE(handle.is_ssl_error());
520 } 527 }
521 528
522 TEST_P(SSLClientSocketPoolTest, SOCKSFailAsync) { 529 TEST_P(SSLClientSocketPoolTest, SOCKSFailAsync) {
523 StaticSocketDataProvider data; 530 StaticSocketDataProvider data;
524 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); 531 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
525 socket_factory_.AddSocketDataProvider(&data); 532 socket_factory_.AddSocketDataProvider(&data);
526 533
527 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 534 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
528 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, 535 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
529 false); 536 false);
530 537
531 ClientSocketHandle handle; 538 ClientSocketHandle handle;
532 TestCompletionCallback callback; 539 TestCompletionCallback callback;
533 int rv = 540 int rv =
534 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 541 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
535 callback.callback(), pool_.get(), BoundNetLog()); 542 callback.callback(), pool_.get(), BoundNetLog());
536 EXPECT_EQ(ERR_IO_PENDING, rv); 543 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
537 EXPECT_FALSE(handle.is_initialized()); 544 EXPECT_FALSE(handle.is_initialized());
538 EXPECT_FALSE(handle.socket()); 545 EXPECT_FALSE(handle.socket());
539 546
540 EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult()); 547 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CONNECTION_FAILED));
541 EXPECT_FALSE(handle.is_initialized()); 548 EXPECT_FALSE(handle.is_initialized());
542 EXPECT_FALSE(handle.socket()); 549 EXPECT_FALSE(handle.socket());
543 EXPECT_FALSE(handle.is_ssl_error()); 550 EXPECT_FALSE(handle.is_ssl_error());
544 } 551 }
545 552
546 TEST_P(SSLClientSocketPoolTest, SOCKSBasic) { 553 TEST_P(SSLClientSocketPoolTest, SOCKSBasic) {
547 StaticSocketDataProvider data; 554 StaticSocketDataProvider data;
548 data.set_connect_data(MockConnect(SYNCHRONOUS, OK)); 555 data.set_connect_data(MockConnect(SYNCHRONOUS, OK));
549 socket_factory_.AddSocketDataProvider(&data); 556 socket_factory_.AddSocketDataProvider(&data);
550 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); 557 SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
551 socket_factory_.AddSSLSocketDataProvider(&ssl); 558 socket_factory_.AddSSLSocketDataProvider(&ssl);
552 559
553 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 560 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
554 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, 561 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
555 false); 562 false);
556 563
557 ClientSocketHandle handle; 564 ClientSocketHandle handle;
558 TestCompletionCallback callback; 565 TestCompletionCallback callback;
559 int rv = 566 int rv =
560 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 567 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
561 callback.callback(), pool_.get(), BoundNetLog()); 568 callback.callback(), pool_.get(), BoundNetLog());
562 EXPECT_EQ(OK, rv); 569 EXPECT_THAT(rv, IsOk());
563 EXPECT_TRUE(handle.is_initialized()); 570 EXPECT_TRUE(handle.is_initialized());
564 EXPECT_TRUE(handle.socket()); 571 EXPECT_TRUE(handle.socket());
565 // SOCKS5 generally has no DNS times, but the mock SOCKS5 sockets used here 572 // SOCKS5 generally has no DNS times, but the mock SOCKS5 sockets used here
566 // don't go through the real logic, unlike in the HTTP proxy tests. 573 // don't go through the real logic, unlike in the HTTP proxy tests.
567 TestLoadTimingInfo(handle); 574 TestLoadTimingInfo(handle);
568 } 575 }
569 576
570 // Make sure that SSLConnectJob passes on its priority to its 577 // Make sure that SSLConnectJob passes on its priority to its
571 // transport socket on Init (for the SOCKS_PROXY case). 578 // transport socket on Init (for the SOCKS_PROXY case).
572 TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitSOCKS) { 579 TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitSOCKS) {
(...skipping 23 matching lines...) Expand all
596 603
597 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 604 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
598 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, 605 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
599 false); 606 false);
600 607
601 ClientSocketHandle handle; 608 ClientSocketHandle handle;
602 TestCompletionCallback callback; 609 TestCompletionCallback callback;
603 int rv = 610 int rv =
604 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 611 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
605 callback.callback(), pool_.get(), BoundNetLog()); 612 callback.callback(), pool_.get(), BoundNetLog());
606 EXPECT_EQ(ERR_IO_PENDING, rv); 613 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
607 EXPECT_FALSE(handle.is_initialized()); 614 EXPECT_FALSE(handle.is_initialized());
608 EXPECT_FALSE(handle.socket()); 615 EXPECT_FALSE(handle.socket());
609 616
610 EXPECT_EQ(OK, callback.WaitForResult()); 617 EXPECT_THAT(callback.WaitForResult(), IsOk());
611 EXPECT_TRUE(handle.is_initialized()); 618 EXPECT_TRUE(handle.is_initialized());
612 EXPECT_TRUE(handle.socket()); 619 EXPECT_TRUE(handle.socket());
613 // SOCKS5 generally has no DNS times, but the mock SOCKS5 sockets used here 620 // SOCKS5 generally has no DNS times, but the mock SOCKS5 sockets used here
614 // don't go through the real logic, unlike in the HTTP proxy tests. 621 // don't go through the real logic, unlike in the HTTP proxy tests.
615 TestLoadTimingInfo(handle); 622 TestLoadTimingInfo(handle);
616 } 623 }
617 624
618 TEST_P(SSLClientSocketPoolTest, HttpProxyFail) { 625 TEST_P(SSLClientSocketPoolTest, HttpProxyFail) {
619 StaticSocketDataProvider data; 626 StaticSocketDataProvider data;
620 data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED)); 627 data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
621 socket_factory_.AddSocketDataProvider(&data); 628 socket_factory_.AddSocketDataProvider(&data);
622 629
623 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 630 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
624 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, 631 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
625 false); 632 false);
626 633
627 ClientSocketHandle handle; 634 ClientSocketHandle handle;
628 TestCompletionCallback callback; 635 TestCompletionCallback callback;
629 int rv = 636 int rv =
630 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 637 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
631 callback.callback(), pool_.get(), BoundNetLog()); 638 callback.callback(), pool_.get(), BoundNetLog());
632 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, rv); 639 EXPECT_THAT(rv, IsError(ERR_PROXY_CONNECTION_FAILED));
633 EXPECT_FALSE(handle.is_initialized()); 640 EXPECT_FALSE(handle.is_initialized());
634 EXPECT_FALSE(handle.socket()); 641 EXPECT_FALSE(handle.socket());
635 EXPECT_FALSE(handle.is_ssl_error()); 642 EXPECT_FALSE(handle.is_ssl_error());
636 } 643 }
637 644
638 TEST_P(SSLClientSocketPoolTest, HttpProxyFailAsync) { 645 TEST_P(SSLClientSocketPoolTest, HttpProxyFailAsync) {
639 StaticSocketDataProvider data; 646 StaticSocketDataProvider data;
640 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); 647 data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
641 socket_factory_.AddSocketDataProvider(&data); 648 socket_factory_.AddSocketDataProvider(&data);
642 649
643 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 650 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
644 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, 651 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
645 false); 652 false);
646 653
647 ClientSocketHandle handle; 654 ClientSocketHandle handle;
648 TestCompletionCallback callback; 655 TestCompletionCallback callback;
649 int rv = 656 int rv =
650 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 657 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
651 callback.callback(), pool_.get(), BoundNetLog()); 658 callback.callback(), pool_.get(), BoundNetLog());
652 EXPECT_EQ(ERR_IO_PENDING, rv); 659 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
653 EXPECT_FALSE(handle.is_initialized()); 660 EXPECT_FALSE(handle.is_initialized());
654 EXPECT_FALSE(handle.socket()); 661 EXPECT_FALSE(handle.socket());
655 662
656 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, callback.WaitForResult()); 663 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_PROXY_CONNECTION_FAILED));
657 EXPECT_FALSE(handle.is_initialized()); 664 EXPECT_FALSE(handle.is_initialized());
658 EXPECT_FALSE(handle.socket()); 665 EXPECT_FALSE(handle.socket());
659 EXPECT_FALSE(handle.is_ssl_error()); 666 EXPECT_FALSE(handle.is_ssl_error());
660 } 667 }
661 668
662 TEST_P(SSLClientSocketPoolTest, HttpProxyBasic) { 669 TEST_P(SSLClientSocketPoolTest, HttpProxyBasic) {
663 MockWrite writes[] = { 670 MockWrite writes[] = {
664 MockWrite(SYNCHRONOUS, 671 MockWrite(SYNCHRONOUS,
665 "CONNECT host:80 HTTP/1.1\r\n" 672 "CONNECT host:80 HTTP/1.1\r\n"
666 "Host: host:80\r\n" 673 "Host: host:80\r\n"
(...skipping 13 matching lines...) Expand all
680 687
681 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 688 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
682 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, 689 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
683 false); 690 false);
684 691
685 ClientSocketHandle handle; 692 ClientSocketHandle handle;
686 TestCompletionCallback callback; 693 TestCompletionCallback callback;
687 int rv = 694 int rv =
688 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 695 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
689 callback.callback(), pool_.get(), BoundNetLog()); 696 callback.callback(), pool_.get(), BoundNetLog());
690 EXPECT_EQ(OK, rv); 697 EXPECT_THAT(rv, IsOk());
691 EXPECT_TRUE(handle.is_initialized()); 698 EXPECT_TRUE(handle.is_initialized());
692 EXPECT_TRUE(handle.socket()); 699 EXPECT_TRUE(handle.socket());
693 TestLoadTimingInfoNoDns(handle); 700 TestLoadTimingInfoNoDns(handle);
694 } 701 }
695 702
696 // Make sure that SSLConnectJob passes on its priority to its 703 // Make sure that SSLConnectJob passes on its priority to its
697 // transport socket on Init (for the HTTP_PROXY case). 704 // transport socket on Init (for the HTTP_PROXY case).
698 TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitHTTP) { 705 TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitHTTP) {
699 MockWrite writes[] = { 706 MockWrite writes[] = {
700 MockWrite(SYNCHRONOUS, 707 MockWrite(SYNCHRONOUS,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 753
747 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 754 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
748 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, 755 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
749 false); 756 false);
750 757
751 ClientSocketHandle handle; 758 ClientSocketHandle handle;
752 TestCompletionCallback callback; 759 TestCompletionCallback callback;
753 int rv = 760 int rv =
754 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 761 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
755 callback.callback(), pool_.get(), BoundNetLog()); 762 callback.callback(), pool_.get(), BoundNetLog());
756 EXPECT_EQ(ERR_IO_PENDING, rv); 763 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
757 EXPECT_FALSE(handle.is_initialized()); 764 EXPECT_FALSE(handle.is_initialized());
758 EXPECT_FALSE(handle.socket()); 765 EXPECT_FALSE(handle.socket());
759 766
760 EXPECT_EQ(OK, callback.WaitForResult()); 767 EXPECT_THAT(callback.WaitForResult(), IsOk());
761 EXPECT_TRUE(handle.is_initialized()); 768 EXPECT_TRUE(handle.is_initialized());
762 EXPECT_TRUE(handle.socket()); 769 EXPECT_TRUE(handle.socket());
763 TestLoadTimingInfoNoDns(handle); 770 TestLoadTimingInfoNoDns(handle);
764 } 771 }
765 772
766 TEST_P(SSLClientSocketPoolTest, NeedProxyAuth) { 773 TEST_P(SSLClientSocketPoolTest, NeedProxyAuth) {
767 MockWrite writes[] = { 774 MockWrite writes[] = {
768 MockWrite( 775 MockWrite(
769 "CONNECT host:80 HTTP/1.1\r\n" 776 "CONNECT host:80 HTTP/1.1\r\n"
770 "Host: host:80\r\n" 777 "Host: host:80\r\n"
(...skipping 13 matching lines...) Expand all
784 791
785 CreatePool(false, true /* http proxy pool */, true /* socks pool */); 792 CreatePool(false, true /* http proxy pool */, true /* socks pool */);
786 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, 793 scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
787 false); 794 false);
788 795
789 ClientSocketHandle handle; 796 ClientSocketHandle handle;
790 TestCompletionCallback callback; 797 TestCompletionCallback callback;
791 int rv = 798 int rv =
792 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED, 799 handle.Init("a", params, MEDIUM, ClientSocketPool::RespectLimits::ENABLED,
793 callback.callback(), pool_.get(), BoundNetLog()); 800 callback.callback(), pool_.get(), BoundNetLog());
794 EXPECT_EQ(ERR_IO_PENDING, rv); 801 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
795 EXPECT_FALSE(handle.is_initialized()); 802 EXPECT_FALSE(handle.is_initialized());
796 EXPECT_FALSE(handle.socket()); 803 EXPECT_FALSE(handle.socket());
797 804
798 EXPECT_EQ(ERR_PROXY_AUTH_REQUESTED, callback.WaitForResult()); 805 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_PROXY_AUTH_REQUESTED));
799 EXPECT_FALSE(handle.is_initialized()); 806 EXPECT_FALSE(handle.is_initialized());
800 EXPECT_FALSE(handle.socket()); 807 EXPECT_FALSE(handle.socket());
801 EXPECT_FALSE(handle.is_ssl_error()); 808 EXPECT_FALSE(handle.is_ssl_error());
802 const HttpResponseInfo& tunnel_info = handle.ssl_error_response_info(); 809 const HttpResponseInfo& tunnel_info = handle.ssl_error_response_info();
803 EXPECT_EQ(tunnel_info.headers->response_code(), 407); 810 EXPECT_EQ(tunnel_info.headers->response_code(), 407);
804 std::unique_ptr<ClientSocketHandle> tunnel_handle( 811 std::unique_ptr<ClientSocketHandle> tunnel_handle(
805 handle.release_pending_http_proxy_connection()); 812 handle.release_pending_http_proxy_connection());
806 EXPECT_TRUE(tunnel_handle->socket()); 813 EXPECT_TRUE(tunnel_handle->socket());
807 EXPECT_FALSE(tunnel_handle->socket()->IsConnected()); 814 EXPECT_FALSE(tunnel_handle->socket()->IsConnected());
808 } 815 }
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 894
888 // This test requires that the HostResolver cache be populated. Normal 895 // This test requires that the HostResolver cache be populated. Normal
889 // code would have done this already, but we do it manually. 896 // code would have done this already, but we do it manually.
890 HostResolver::RequestInfo info(HostPortPair(test_hosts[i].name, kTestPort)); 897 HostResolver::RequestInfo info(HostPortPair(test_hosts[i].name, kTestPort));
891 rv = host_resolver_.Resolve(info, 898 rv = host_resolver_.Resolve(info,
892 DEFAULT_PRIORITY, 899 DEFAULT_PRIORITY,
893 &test_hosts[i].addresses, 900 &test_hosts[i].addresses,
894 callback.callback(), 901 callback.callback(),
895 NULL, 902 NULL,
896 BoundNetLog()); 903 BoundNetLog());
897 EXPECT_EQ(OK, callback.GetResult(rv)); 904 EXPECT_THAT(callback.GetResult(rv), IsOk());
898 905
899 // Setup a SpdySessionKey 906 // Setup a SpdySessionKey
900 test_hosts[i].key = SpdySessionKey( 907 test_hosts[i].key = SpdySessionKey(
901 HostPortPair(test_hosts[i].name, kTestPort), ProxyServer::Direct(), 908 HostPortPair(test_hosts[i].name, kTestPort), ProxyServer::Direct(),
902 PRIVACY_MODE_DISABLED); 909 PRIVACY_MODE_DISABLED);
903 } 910 }
904 911
905 MockRead reads[] = { 912 MockRead reads[] = {
906 MockRead(ASYNC, ERR_IO_PENDING), 913 MockRead(ASYNC, ERR_IO_PENDING),
907 }; 914 };
(...skipping 30 matching lines...) Expand all
938 ssl.channel_id_sent = true; 945 ssl.channel_id_sent = true;
939 ssl.SetNextProto(GetParam()); 946 ssl.SetNextProto(GetParam());
940 TestIPPoolingDisabled(&ssl); 947 TestIPPoolingDisabled(&ssl);
941 } 948 }
942 949
943 // It would be nice to also test the timeouts in SSLClientSocketPool. 950 // It would be nice to also test the timeouts in SSLClientSocketPool.
944 951
945 } // namespace 952 } // namespace
946 953
947 } // namespace net 954 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/socks_client_socket_unittest.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698