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

Side by Side Diff: net/quic/quic_stream_factory_test.cc

Issue 1123393005: Remove redundant at_read_eof and at_write_eof methods. (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) 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/quic/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/base/test_data_directory.h" 9 #include "net/base/test_data_directory.h"
10 #include "net/cert/cert_verifier.h" 10 #include "net/cert/cert_verifier.h"
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 socket_factory_. 289 socket_factory_.
290 udp_client_sockets()[socket_count]->GetLocalAddress(&endpoint); 290 udp_client_sockets()[socket_count]->GetLocalAddress(&endpoint);
291 int port = endpoint.port(); 291 int port = endpoint.port();
292 if (goaway_received) { 292 if (goaway_received) {
293 QuicGoAwayFrame goaway(QUIC_NO_ERROR, 1, ""); 293 QuicGoAwayFrame goaway(QUIC_NO_ERROR, 1, "");
294 session->OnGoAway(goaway); 294 session->OnGoAway(goaway);
295 } 295 }
296 296
297 factory_.OnSessionClosed(session); 297 factory_.OnSessionClosed(session);
298 EXPECT_EQ(nullptr, CreateIfSessionExists(destination, net_log_).get()); 298 EXPECT_EQ(nullptr, CreateIfSessionExists(destination, net_log_).get());
299 EXPECT_TRUE(socket_data.at_read_eof()); 299 EXPECT_TRUE(socket_data.AllReadDataConsumed());
300 EXPECT_TRUE(socket_data.at_write_eof()); 300 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
301 return port; 301 return port;
302 } 302 }
303 303
304 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket() { 304 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket() {
305 QuicStreamId stream_id = kClientDataStreamId1; 305 QuicStreamId stream_id = kClientDataStreamId1;
306 return maker_.MakeRstPacket( 306 return maker_.MakeRstPacket(
307 1, true, stream_id, 307 1, true, stream_id,
308 AdjustErrorForVersion(QUIC_RST_ACKNOWLEDGEMENT, GetParam().version)); 308 AdjustErrorForVersion(QUIC_RST_ACKNOWLEDGEMENT, GetParam().version));
309 } 309 }
310 310
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 EXPECT_EQ(OK, 366 EXPECT_EQ(OK,
367 request2.Request(host_port_pair_, 367 request2.Request(host_port_pair_,
368 is_https_, 368 is_https_,
369 privacy_mode_, 369 privacy_mode_,
370 "GET", 370 "GET",
371 net_log_, 371 net_log_,
372 callback_.callback())); 372 callback_.callback()));
373 stream = request2.ReleaseStream(); // Will reset stream 5. 373 stream = request2.ReleaseStream(); // Will reset stream 5.
374 stream.reset(); // Will reset stream 7. 374 stream.reset(); // Will reset stream 7.
375 375
376 EXPECT_TRUE(socket_data.at_read_eof()); 376 EXPECT_TRUE(socket_data.AllReadDataConsumed());
377 EXPECT_TRUE(socket_data.at_write_eof()); 377 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
378 } 378 }
379 379
380 TEST_P(QuicStreamFactoryTest, CreateZeroRtt) { 380 TEST_P(QuicStreamFactoryTest, CreateZeroRtt) {
381 MockRead reads[] = { 381 MockRead reads[] = {
382 MockRead(ASYNC, OK, 0) // EOF 382 MockRead(ASYNC, OK, 0) // EOF
383 }; 383 };
384 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 384 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
385 socket_factory_.AddSocketDataProvider(&socket_data); 385 socket_factory_.AddSocketDataProvider(&socket_data);
386 socket_data.StopAfter(1); 386 socket_data.StopAfter(1);
387 387
388 crypto_client_stream_factory_.set_handshake_mode( 388 crypto_client_stream_factory_.set_handshake_mode(
389 MockCryptoClientStream::ZERO_RTT); 389 MockCryptoClientStream::ZERO_RTT);
390 host_resolver_.set_synchronous_mode(true); 390 host_resolver_.set_synchronous_mode(true);
391 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), 391 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(),
392 "192.168.0.1", ""); 392 "192.168.0.1", "");
393 393
394 QuicStreamRequest request(&factory_); 394 QuicStreamRequest request(&factory_);
395 EXPECT_EQ(OK, 395 EXPECT_EQ(OK,
396 request.Request(host_port_pair_, 396 request.Request(host_port_pair_,
397 is_https_, 397 is_https_,
398 privacy_mode_, 398 privacy_mode_,
399 "GET", 399 "GET",
400 net_log_, 400 net_log_,
401 callback_.callback())); 401 callback_.callback()));
402 402
403 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 403 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
404 EXPECT_TRUE(stream.get()); 404 EXPECT_TRUE(stream.get());
405 EXPECT_TRUE(socket_data.at_read_eof()); 405 EXPECT_TRUE(socket_data.AllReadDataConsumed());
406 EXPECT_TRUE(socket_data.at_write_eof()); 406 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
407 } 407 }
408 408
409 TEST_P(QuicStreamFactoryTest, CreateZeroRttPost) { 409 TEST_P(QuicStreamFactoryTest, CreateZeroRttPost) {
410 MockRead reads[] = { 410 MockRead reads[] = {
411 MockRead(ASYNC, OK, 0) // EOF 411 MockRead(ASYNC, OK, 0) // EOF
412 }; 412 };
413 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 413 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
414 socket_factory_.AddSocketDataProvider(&socket_data); 414 socket_factory_.AddSocketDataProvider(&socket_data);
415 socket_data.StopAfter(1); 415 socket_data.StopAfter(1);
416 416
(...skipping 13 matching lines...) Expand all
430 net_log_, 430 net_log_,
431 callback_.callback())); 431 callback_.callback()));
432 432
433 // Confirm the handshake and verify that the stream is created. 433 // Confirm the handshake and verify that the stream is created.
434 crypto_client_stream_factory_.last_stream()->SendOnCryptoHandshakeEvent( 434 crypto_client_stream_factory_.last_stream()->SendOnCryptoHandshakeEvent(
435 QuicSession::HANDSHAKE_CONFIRMED); 435 QuicSession::HANDSHAKE_CONFIRMED);
436 436
437 EXPECT_EQ(OK, callback_.WaitForResult()); 437 EXPECT_EQ(OK, callback_.WaitForResult());
438 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 438 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
439 EXPECT_TRUE(stream.get()); 439 EXPECT_TRUE(stream.get());
440 EXPECT_TRUE(socket_data.at_read_eof()); 440 EXPECT_TRUE(socket_data.AllReadDataConsumed());
441 EXPECT_TRUE(socket_data.at_write_eof()); 441 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
442 } 442 }
443 443
444 TEST_P(QuicStreamFactoryTest, CreateHttpVsHttps) { 444 TEST_P(QuicStreamFactoryTest, CreateHttpVsHttps) {
445 MockRead reads[] = { 445 MockRead reads[] = {
446 MockRead(ASYNC, OK, 0) // EOF 446 MockRead(ASYNC, OK, 0) // EOF
447 }; 447 };
448 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 448 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
449 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 449 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
450 socket_factory_.AddSocketDataProvider(&socket_data1); 450 socket_factory_.AddSocketDataProvider(&socket_data1);
451 socket_factory_.AddSocketDataProvider(&socket_data2); 451 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 24 matching lines...) Expand all
476 EXPECT_EQ(OK, callback_.WaitForResult()); 476 EXPECT_EQ(OK, callback_.WaitForResult());
477 stream = request2.ReleaseStream(); 477 stream = request2.ReleaseStream();
478 EXPECT_TRUE(stream.get()); 478 EXPECT_TRUE(stream.get());
479 stream.reset(); 479 stream.reset();
480 480
481 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession( 481 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession(
482 &factory_, host_port_pair_, is_https_), 482 &factory_, host_port_pair_, is_https_),
483 QuicStreamFactoryPeer::GetActiveSession( 483 QuicStreamFactoryPeer::GetActiveSession(
484 &factory_, host_port_pair_, !is_https_)); 484 &factory_, host_port_pair_, !is_https_));
485 485
486 EXPECT_TRUE(socket_data1.at_read_eof()); 486 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
487 EXPECT_TRUE(socket_data1.at_write_eof()); 487 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
488 EXPECT_TRUE(socket_data2.at_read_eof()); 488 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
489 EXPECT_TRUE(socket_data2.at_write_eof()); 489 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
490 } 490 }
491 491
492 TEST_P(QuicStreamFactoryTest, Pooling) { 492 TEST_P(QuicStreamFactoryTest, Pooling) {
493 MockRead reads[] = { 493 MockRead reads[] = {
494 MockRead(ASYNC, OK, 0) // EOF 494 MockRead(ASYNC, OK, 0) // EOF
495 }; 495 };
496 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 496 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
497 socket_factory_.AddSocketDataProvider(&socket_data); 497 socket_factory_.AddSocketDataProvider(&socket_data);
498 socket_data.StopAfter(1); 498 socket_data.StopAfter(1);
499 499
(...skipping 25 matching lines...) Expand all
525 net_log_, 525 net_log_,
526 callback.callback())); 526 callback.callback()));
527 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 527 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
528 EXPECT_TRUE(stream2.get()); 528 EXPECT_TRUE(stream2.get());
529 529
530 EXPECT_EQ( 530 EXPECT_EQ(
531 QuicStreamFactoryPeer::GetActiveSession( 531 QuicStreamFactoryPeer::GetActiveSession(
532 &factory_, host_port_pair_, is_https_), 532 &factory_, host_port_pair_, is_https_),
533 QuicStreamFactoryPeer::GetActiveSession(&factory_, server2, is_https_)); 533 QuicStreamFactoryPeer::GetActiveSession(&factory_, server2, is_https_));
534 534
535 EXPECT_TRUE(socket_data.at_read_eof()); 535 EXPECT_TRUE(socket_data.AllReadDataConsumed());
536 EXPECT_TRUE(socket_data.at_write_eof()); 536 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
537 } 537 }
538 538
539 TEST_P(QuicStreamFactoryTest, NoPoolingIfDisabled) { 539 TEST_P(QuicStreamFactoryTest, NoPoolingIfDisabled) {
540 MockRead reads[] = { 540 MockRead reads[] = {
541 MockRead(ASYNC, OK, 0) // EOF 541 MockRead(ASYNC, OK, 0) // EOF
542 }; 542 };
543 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 543 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
544 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 544 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
545 socket_factory_.AddSocketDataProvider(&socket_data1); 545 socket_factory_.AddSocketDataProvider(&socket_data1);
546 socket_factory_.AddSocketDataProvider(&socket_data2); 546 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 net_log_, 578 net_log_,
579 callback.callback())); 579 callback.callback()));
580 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 580 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
581 EXPECT_TRUE(stream2.get()); 581 EXPECT_TRUE(stream2.get());
582 582
583 EXPECT_NE( 583 EXPECT_NE(
584 QuicStreamFactoryPeer::GetActiveSession( 584 QuicStreamFactoryPeer::GetActiveSession(
585 &factory_, host_port_pair_, is_https_), 585 &factory_, host_port_pair_, is_https_),
586 QuicStreamFactoryPeer::GetActiveSession(&factory_, server2, is_https_)); 586 QuicStreamFactoryPeer::GetActiveSession(&factory_, server2, is_https_));
587 587
588 EXPECT_TRUE(socket_data1.at_read_eof()); 588 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
589 EXPECT_TRUE(socket_data1.at_write_eof()); 589 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
590 EXPECT_TRUE(socket_data2.at_read_eof()); 590 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
591 EXPECT_TRUE(socket_data2.at_write_eof()); 591 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
592 } 592 }
593 593
594 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) { 594 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) {
595 MockRead reads[] = { 595 MockRead reads[] = {
596 MockRead(ASYNC, OK, 0) // EOF 596 MockRead(ASYNC, OK, 0) // EOF
597 }; 597 };
598 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 598 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
599 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 599 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
600 socket_factory_.AddSocketDataProvider(&socket_data1); 600 socket_factory_.AddSocketDataProvider(&socket_data1);
601 socket_factory_.AddSocketDataProvider(&socket_data2); 601 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 privacy_mode_, 647 privacy_mode_,
648 "GET", 648 "GET",
649 net_log_, 649 net_log_,
650 callback3.callback())); 650 callback3.callback()));
651 scoped_ptr<QuicHttpStream> stream3 = request3.ReleaseStream(); 651 scoped_ptr<QuicHttpStream> stream3 = request3.ReleaseStream();
652 EXPECT_TRUE(stream3.get()); 652 EXPECT_TRUE(stream3.get());
653 653
654 EXPECT_TRUE(QuicStreamFactoryPeer::HasActiveSession( 654 EXPECT_TRUE(QuicStreamFactoryPeer::HasActiveSession(
655 &factory_, server2, is_https_)); 655 &factory_, server2, is_https_));
656 656
657 EXPECT_TRUE(socket_data1.at_read_eof()); 657 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
658 EXPECT_TRUE(socket_data1.at_write_eof()); 658 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
659 EXPECT_TRUE(socket_data2.at_read_eof()); 659 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
660 EXPECT_TRUE(socket_data2.at_write_eof()); 660 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
661 } 661 }
662 662
663 TEST_P(QuicStreamFactoryTest, HttpsPooling) { 663 TEST_P(QuicStreamFactoryTest, HttpsPooling) {
664 MockRead reads[] = { 664 MockRead reads[] = {
665 MockRead(ASYNC, OK, 0) // EOF 665 MockRead(ASYNC, OK, 0) // EOF
666 }; 666 };
667 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 667 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
668 socket_factory_.AddSocketDataProvider(&socket_data); 668 socket_factory_.AddSocketDataProvider(&socket_data);
669 socket_data.StopAfter(1); 669 socket_data.StopAfter(1);
670 670
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 net_log_, 710 net_log_,
711 callback_.callback())); 711 callback_.callback()));
712 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 712 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
713 EXPECT_TRUE(stream2.get()); 713 EXPECT_TRUE(stream2.get());
714 714
715 EXPECT_EQ(QuicStreamFactoryPeer::GetActiveSession( 715 EXPECT_EQ(QuicStreamFactoryPeer::GetActiveSession(
716 &factory_, server1, is_https_), 716 &factory_, server1, is_https_),
717 QuicStreamFactoryPeer::GetActiveSession( 717 QuicStreamFactoryPeer::GetActiveSession(
718 &factory_, server2, is_https_)); 718 &factory_, server2, is_https_));
719 719
720 EXPECT_TRUE(socket_data.at_read_eof()); 720 EXPECT_TRUE(socket_data.AllReadDataConsumed());
721 EXPECT_TRUE(socket_data.at_write_eof()); 721 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
722 } 722 }
723 723
724 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingIfDisabled) { 724 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingIfDisabled) {
725 MockRead reads[] = { 725 MockRead reads[] = {
726 MockRead(ASYNC, OK, 0) // EOF 726 MockRead(ASYNC, OK, 0) // EOF
727 }; 727 };
728 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 728 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
729 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 729 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
730 socket_factory_.AddSocketDataProvider(&socket_data1); 730 socket_factory_.AddSocketDataProvider(&socket_data1);
731 socket_factory_.AddSocketDataProvider(&socket_data2); 731 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 net_log_, 777 net_log_,
778 callback_.callback())); 778 callback_.callback()));
779 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 779 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
780 EXPECT_TRUE(stream2.get()); 780 EXPECT_TRUE(stream2.get());
781 781
782 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession( 782 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession(
783 &factory_, server1, is_https_), 783 &factory_, server1, is_https_),
784 QuicStreamFactoryPeer::GetActiveSession( 784 QuicStreamFactoryPeer::GetActiveSession(
785 &factory_, server2, is_https_)); 785 &factory_, server2, is_https_));
786 786
787 EXPECT_TRUE(socket_data1.at_read_eof()); 787 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
788 EXPECT_TRUE(socket_data1.at_write_eof()); 788 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
789 EXPECT_TRUE(socket_data2.at_read_eof()); 789 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
790 EXPECT_TRUE(socket_data2.at_write_eof()); 790 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
791 } 791 }
792 792
793 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithCertMismatch) { 793 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithCertMismatch) {
794 MockRead reads[] = { 794 MockRead reads[] = {
795 MockRead(ASYNC, OK, 0) // EOF 795 MockRead(ASYNC, OK, 0) // EOF
796 }; 796 };
797 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 797 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
798 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 798 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
799 socket_factory_.AddSocketDataProvider(&socket_data1); 799 socket_factory_.AddSocketDataProvider(&socket_data1);
800 socket_factory_.AddSocketDataProvider(&socket_data2); 800 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 net_log_, 843 net_log_,
844 callback_.callback())); 844 callback_.callback()));
845 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 845 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
846 EXPECT_TRUE(stream2.get()); 846 EXPECT_TRUE(stream2.get());
847 847
848 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession( 848 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession(
849 &factory_, server1, is_https_), 849 &factory_, server1, is_https_),
850 QuicStreamFactoryPeer::GetActiveSession( 850 QuicStreamFactoryPeer::GetActiveSession(
851 &factory_, server2, is_https_)); 851 &factory_, server2, is_https_));
852 852
853 EXPECT_TRUE(socket_data1.at_read_eof()); 853 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
854 EXPECT_TRUE(socket_data1.at_write_eof()); 854 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
855 EXPECT_TRUE(socket_data2.at_read_eof()); 855 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
856 EXPECT_TRUE(socket_data2.at_write_eof()); 856 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
857 } 857 }
858 858
859 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) { 859 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) {
860 MockRead reads[] = { 860 MockRead reads[] = {
861 MockRead(ASYNC, OK, 0) // EOF 861 MockRead(ASYNC, OK, 0) // EOF
862 }; 862 };
863 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 863 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
864 socket_factory_.AddSocketDataProvider(&socket_data); 864 socket_factory_.AddSocketDataProvider(&socket_data);
865 socket_data.StopAfter(1); 865 socket_data.StopAfter(1);
866 866
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
911 net_log_, 911 net_log_,
912 callback_.callback())); 912 callback_.callback()));
913 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 913 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
914 EXPECT_TRUE(stream2.get()); 914 EXPECT_TRUE(stream2.get());
915 915
916 EXPECT_EQ(QuicStreamFactoryPeer::GetActiveSession( 916 EXPECT_EQ(QuicStreamFactoryPeer::GetActiveSession(
917 &factory_, server1, is_https_), 917 &factory_, server1, is_https_),
918 QuicStreamFactoryPeer::GetActiveSession( 918 QuicStreamFactoryPeer::GetActiveSession(
919 &factory_, server2, is_https_)); 919 &factory_, server2, is_https_));
920 920
921 EXPECT_TRUE(socket_data.at_read_eof()); 921 EXPECT_TRUE(socket_data.AllReadDataConsumed());
922 EXPECT_TRUE(socket_data.at_write_eof()); 922 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
923 } 923 }
924 924
925 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithMatchingPinsIfDisabled) { 925 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithMatchingPinsIfDisabled) {
926 MockRead reads[] = { 926 MockRead reads[] = {
927 MockRead(ASYNC, OK, 0) // EOF 927 MockRead(ASYNC, OK, 0) // EOF
928 }; 928 };
929 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 929 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
930 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 930 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
931 socket_factory_.AddSocketDataProvider(&socket_data1); 931 socket_factory_.AddSocketDataProvider(&socket_data1);
932 socket_factory_.AddSocketDataProvider(&socket_data2); 932 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 net_log_, 983 net_log_,
984 callback_.callback())); 984 callback_.callback()));
985 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 985 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
986 EXPECT_TRUE(stream2.get()); 986 EXPECT_TRUE(stream2.get());
987 987
988 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession( 988 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession(
989 &factory_, server1, is_https_), 989 &factory_, server1, is_https_),
990 QuicStreamFactoryPeer::GetActiveSession( 990 QuicStreamFactoryPeer::GetActiveSession(
991 &factory_, server2, is_https_)); 991 &factory_, server2, is_https_));
992 992
993 EXPECT_TRUE(socket_data1.at_read_eof()); 993 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
994 EXPECT_TRUE(socket_data1.at_write_eof()); 994 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
995 EXPECT_TRUE(socket_data2.at_read_eof()); 995 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
996 EXPECT_TRUE(socket_data2.at_write_eof()); 996 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
997 } 997 }
998 998
999 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) { 999 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) {
1000 MockRead reads[] = { 1000 MockRead reads[] = {
1001 MockRead(ASYNC, OK, 0) // EOF 1001 MockRead(ASYNC, OK, 0) // EOF
1002 }; 1002 };
1003 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0); 1003 DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
1004 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 1004 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
1005 socket_factory_.AddSocketDataProvider(&socket_data1); 1005 socket_factory_.AddSocketDataProvider(&socket_data1);
1006 socket_factory_.AddSocketDataProvider(&socket_data2); 1006 socket_factory_.AddSocketDataProvider(&socket_data2);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 net_log_, 1063 net_log_,
1064 callback_.callback())); 1064 callback_.callback()));
1065 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 1065 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
1066 EXPECT_TRUE(stream2.get()); 1066 EXPECT_TRUE(stream2.get());
1067 1067
1068 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession( 1068 EXPECT_NE(QuicStreamFactoryPeer::GetActiveSession(
1069 &factory_, server1, is_https_), 1069 &factory_, server1, is_https_),
1070 QuicStreamFactoryPeer::GetActiveSession( 1070 QuicStreamFactoryPeer::GetActiveSession(
1071 &factory_, server2, is_https_)); 1071 &factory_, server2, is_https_));
1072 1072
1073 EXPECT_TRUE(socket_data1.at_read_eof()); 1073 EXPECT_TRUE(socket_data1.AllReadDataConsumed());
1074 EXPECT_TRUE(socket_data1.at_write_eof()); 1074 EXPECT_TRUE(socket_data1.AllWriteDataConsumed());
1075 EXPECT_TRUE(socket_data2.at_read_eof()); 1075 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1076 EXPECT_TRUE(socket_data2.at_write_eof()); 1076 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1077 } 1077 }
1078 1078
1079 TEST_P(QuicStreamFactoryTest, Goaway) { 1079 TEST_P(QuicStreamFactoryTest, Goaway) {
1080 MockRead reads[] = { 1080 MockRead reads[] = {
1081 MockRead(ASYNC, OK, 0) // EOF 1081 MockRead(ASYNC, OK, 0) // EOF
1082 }; 1082 };
1083 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 1083 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1084 socket_data.StopAfter(1); 1084 socket_data.StopAfter(1);
1085 socket_factory_.AddSocketDataProvider(&socket_data); 1085 socket_factory_.AddSocketDataProvider(&socket_data);
1086 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0); 1086 DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1128 host_port_pair_, 1128 host_port_pair_,
1129 is_https_)); 1129 is_https_));
1130 EXPECT_NE(session, 1130 EXPECT_NE(session,
1131 QuicStreamFactoryPeer::GetActiveSession( 1131 QuicStreamFactoryPeer::GetActiveSession(
1132 &factory_, host_port_pair_, is_https_)); 1132 &factory_, host_port_pair_, is_https_));
1133 EXPECT_EQ(true, QuicStreamFactoryPeer::IsLiveSession(&factory_, session)); 1133 EXPECT_EQ(true, QuicStreamFactoryPeer::IsLiveSession(&factory_, session));
1134 1134
1135 stream2.reset(); 1135 stream2.reset();
1136 stream.reset(); 1136 stream.reset();
1137 1137
1138 EXPECT_TRUE(socket_data.at_read_eof()); 1138 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1139 EXPECT_TRUE(socket_data.at_write_eof()); 1139 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1140 EXPECT_TRUE(socket_data2.at_read_eof()); 1140 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1141 EXPECT_TRUE(socket_data2.at_write_eof()); 1141 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1142 } 1142 }
1143 1143
1144 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { 1144 TEST_P(QuicStreamFactoryTest, MaxOpenStream) {
1145 MockRead reads[] = { 1145 MockRead reads[] = {
1146 MockRead(ASYNC, OK, 0) // EOF 1146 MockRead(ASYNC, OK, 0) // EOF
1147 }; 1147 };
1148 QuicStreamId stream_id = kClientDataStreamId1; 1148 QuicStreamId stream_id = kClientDataStreamId1;
1149 scoped_ptr<QuicEncryptedPacket> rst( 1149 scoped_ptr<QuicEncryptedPacket> rst(
1150 maker_.MakeRstPacket(1, true, stream_id, QUIC_STREAM_CANCELLED)); 1150 maker_.MakeRstPacket(1, true, stream_id, QUIC_STREAM_CANCELLED));
1151 MockWrite writes[] = { 1151 MockWrite writes[] = {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 EXPECT_EQ(ERR_IO_PENDING, stream->InitializeStream( 1194 EXPECT_EQ(ERR_IO_PENDING, stream->InitializeStream(
1195 &request_info, DEFAULT_PRIORITY, net_log_, callback_.callback())); 1195 &request_info, DEFAULT_PRIORITY, net_log_, callback_.callback()));
1196 1196
1197 // Close the first stream. 1197 // Close the first stream.
1198 streams.front()->Close(false); 1198 streams.front()->Close(false);
1199 1199
1200 ASSERT_TRUE(callback_.have_result()); 1200 ASSERT_TRUE(callback_.have_result());
1201 1201
1202 EXPECT_EQ(OK, callback_.WaitForResult()); 1202 EXPECT_EQ(OK, callback_.WaitForResult());
1203 1203
1204 EXPECT_TRUE(socket_data.at_read_eof()); 1204 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1205 EXPECT_TRUE(socket_data.at_write_eof()); 1205 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1206 STLDeleteElements(&streams); 1206 STLDeleteElements(&streams);
1207 } 1207 }
1208 1208
1209 TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) { 1209 TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) {
1210 DeterministicSocketData socket_data(nullptr, 0, nullptr, 0); 1210 DeterministicSocketData socket_data(nullptr, 0, nullptr, 0);
1211 socket_factory_.AddSocketDataProvider(&socket_data); 1211 socket_factory_.AddSocketDataProvider(&socket_data);
1212 1212
1213 host_resolver_.rules()->AddSimulatedFailure(kDefaultServerHostName); 1213 host_resolver_.rules()->AddSimulatedFailure(kDefaultServerHostName);
1214 1214
1215 QuicStreamRequest request(&factory_); 1215 QuicStreamRequest request(&factory_);
1216 EXPECT_EQ(ERR_IO_PENDING, 1216 EXPECT_EQ(ERR_IO_PENDING,
1217 request.Request(host_port_pair_, 1217 request.Request(host_port_pair_,
1218 is_https_, 1218 is_https_,
1219 privacy_mode_, 1219 privacy_mode_,
1220 "GET", 1220 "GET",
1221 net_log_, 1221 net_log_,
1222 callback_.callback())); 1222 callback_.callback()));
1223 1223
1224 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult()); 1224 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult());
1225 1225
1226 EXPECT_TRUE(socket_data.at_read_eof()); 1226 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1227 EXPECT_TRUE(socket_data.at_write_eof()); 1227 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1228 } 1228 }
1229 1229
1230 TEST_P(QuicStreamFactoryTest, ConnectErrorInCreate) { 1230 TEST_P(QuicStreamFactoryTest, ConnectErrorInCreate) {
1231 MockConnect connect(SYNCHRONOUS, ERR_ADDRESS_IN_USE); 1231 MockConnect connect(SYNCHRONOUS, ERR_ADDRESS_IN_USE);
1232 DeterministicSocketData socket_data(nullptr, 0, nullptr, 0); 1232 DeterministicSocketData socket_data(nullptr, 0, nullptr, 0);
1233 socket_data.set_connect_data(connect); 1233 socket_data.set_connect_data(connect);
1234 socket_factory_.AddSocketDataProvider(&socket_data); 1234 socket_factory_.AddSocketDataProvider(&socket_data);
1235 socket_data.StopAfter(1); 1235 socket_data.StopAfter(1);
1236 1236
1237 QuicStreamRequest request(&factory_); 1237 QuicStreamRequest request(&factory_);
1238 EXPECT_EQ(ERR_IO_PENDING, 1238 EXPECT_EQ(ERR_IO_PENDING,
1239 request.Request(host_port_pair_, 1239 request.Request(host_port_pair_,
1240 is_https_, 1240 is_https_,
1241 privacy_mode_, 1241 privacy_mode_,
1242 "GET", 1242 "GET",
1243 net_log_, 1243 net_log_,
1244 callback_.callback())); 1244 callback_.callback()));
1245 1245
1246 EXPECT_EQ(ERR_ADDRESS_IN_USE, callback_.WaitForResult()); 1246 EXPECT_EQ(ERR_ADDRESS_IN_USE, callback_.WaitForResult());
1247 1247
1248 EXPECT_TRUE(socket_data.at_read_eof()); 1248 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1249 EXPECT_TRUE(socket_data.at_write_eof()); 1249 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1250 } 1250 }
1251 1251
1252 TEST_P(QuicStreamFactoryTest, CancelCreate) { 1252 TEST_P(QuicStreamFactoryTest, CancelCreate) {
1253 MockRead reads[] = { 1253 MockRead reads[] = {
1254 MockRead(ASYNC, OK, 0) // EOF 1254 MockRead(ASYNC, OK, 0) // EOF
1255 }; 1255 };
1256 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 1256 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1257 socket_factory_.AddSocketDataProvider(&socket_data); 1257 socket_factory_.AddSocketDataProvider(&socket_data);
1258 { 1258 {
1259 QuicStreamRequest request(&factory_); 1259 QuicStreamRequest request(&factory_);
1260 EXPECT_EQ(ERR_IO_PENDING, 1260 EXPECT_EQ(ERR_IO_PENDING,
1261 request.Request(host_port_pair_, 1261 request.Request(host_port_pair_,
1262 is_https_, 1262 is_https_,
1263 privacy_mode_, 1263 privacy_mode_,
1264 "GET", 1264 "GET",
1265 net_log_, 1265 net_log_,
1266 callback_.callback())); 1266 callback_.callback()));
1267 } 1267 }
1268 1268
1269 socket_data.StopAfter(1); 1269 socket_data.StopAfter(1);
1270 base::RunLoop run_loop; 1270 base::RunLoop run_loop;
1271 run_loop.RunUntilIdle(); 1271 run_loop.RunUntilIdle();
1272 1272
1273 scoped_ptr<QuicHttpStream> stream( 1273 scoped_ptr<QuicHttpStream> stream(
1274 CreateIfSessionExists(host_port_pair_, net_log_)); 1274 CreateIfSessionExists(host_port_pair_, net_log_));
1275 EXPECT_TRUE(stream.get()); 1275 EXPECT_TRUE(stream.get());
1276 stream.reset(); 1276 stream.reset();
1277 1277
1278 EXPECT_TRUE(socket_data.at_read_eof()); 1278 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1279 EXPECT_TRUE(socket_data.at_write_eof()); 1279 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1280 } 1280 }
1281 1281
1282 TEST_P(QuicStreamFactoryTest, CreateConsistentEphemeralPort) { 1282 TEST_P(QuicStreamFactoryTest, CreateConsistentEphemeralPort) {
1283 // Sequentially connect to the default host, then another host, and then the 1283 // Sequentially connect to the default host, then another host, and then the
1284 // default host. Verify that the default host gets a consistent ephemeral 1284 // default host. Verify that the default host gets a consistent ephemeral
1285 // port, that is different from the other host's connection. 1285 // port, that is different from the other host's connection.
1286 1286
1287 std::string other_server_name = "other.google.com"; 1287 std::string other_server_name = "other.google.com";
1288 EXPECT_NE(kDefaultServerHostName, other_server_name); 1288 EXPECT_NE(kDefaultServerHostName, other_server_name);
1289 HostPortPair host_port_pair2(other_server_name, kDefaultServerPort); 1289 HostPortPair host_port_pair2(other_server_name, kDefaultServerPort);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 is_https_, 1353 is_https_,
1354 privacy_mode_, 1354 privacy_mode_,
1355 "GET", 1355 "GET",
1356 net_log_, 1356 net_log_,
1357 callback_.callback())); 1357 callback_.callback()));
1358 1358
1359 EXPECT_EQ(OK, callback_.WaitForResult()); 1359 EXPECT_EQ(OK, callback_.WaitForResult());
1360 stream = request2.ReleaseStream(); 1360 stream = request2.ReleaseStream();
1361 stream.reset(); // Will reset stream 3. 1361 stream.reset(); // Will reset stream 3.
1362 1362
1363 EXPECT_TRUE(socket_data.at_read_eof()); 1363 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1364 EXPECT_TRUE(socket_data.at_write_eof()); 1364 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1365 EXPECT_TRUE(socket_data2.at_read_eof()); 1365 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1366 EXPECT_TRUE(socket_data2.at_write_eof()); 1366 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1367 } 1367 }
1368 1368
1369 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) { 1369 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) {
1370 MockRead reads[] = { 1370 MockRead reads[] = {
1371 MockRead(ASYNC, 0, 0) // EOF 1371 MockRead(ASYNC, 0, 0) // EOF
1372 }; 1372 };
1373 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket()); 1373 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
1374 std::vector<MockWrite> writes; 1374 std::vector<MockWrite> writes;
1375 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1)); 1375 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
1376 DeterministicSocketData socket_data(reads, arraysize(reads), 1376 DeterministicSocketData socket_data(reads, arraysize(reads),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 is_https_, 1417 is_https_,
1418 privacy_mode_, 1418 privacy_mode_,
1419 "GET", 1419 "GET",
1420 net_log_, 1420 net_log_,
1421 callback_.callback())); 1421 callback_.callback()));
1422 1422
1423 EXPECT_EQ(OK, callback_.WaitForResult()); 1423 EXPECT_EQ(OK, callback_.WaitForResult());
1424 stream = request2.ReleaseStream(); 1424 stream = request2.ReleaseStream();
1425 stream.reset(); // Will reset stream 3. 1425 stream.reset(); // Will reset stream 3.
1426 1426
1427 EXPECT_TRUE(socket_data.at_read_eof()); 1427 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1428 EXPECT_TRUE(socket_data.at_write_eof()); 1428 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1429 EXPECT_TRUE(socket_data2.at_read_eof()); 1429 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1430 EXPECT_TRUE(socket_data2.at_write_eof()); 1430 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1431 } 1431 }
1432 1432
1433 TEST_P(QuicStreamFactoryTest, OnCertAdded) { 1433 TEST_P(QuicStreamFactoryTest, OnCertAdded) {
1434 MockRead reads[] = { 1434 MockRead reads[] = {
1435 MockRead(ASYNC, 0, 0) // EOF 1435 MockRead(ASYNC, 0, 0) // EOF
1436 }; 1436 };
1437 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket()); 1437 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
1438 std::vector<MockWrite> writes; 1438 std::vector<MockWrite> writes;
1439 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1)); 1439 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
1440 DeterministicSocketData socket_data(reads, arraysize(reads), 1440 DeterministicSocketData socket_data(reads, arraysize(reads),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 is_https_, 1481 is_https_,
1482 privacy_mode_, 1482 privacy_mode_,
1483 "GET", 1483 "GET",
1484 net_log_, 1484 net_log_,
1485 callback_.callback())); 1485 callback_.callback()));
1486 1486
1487 EXPECT_EQ(OK, callback_.WaitForResult()); 1487 EXPECT_EQ(OK, callback_.WaitForResult());
1488 stream = request2.ReleaseStream(); 1488 stream = request2.ReleaseStream();
1489 stream.reset(); // Will reset stream 3. 1489 stream.reset(); // Will reset stream 3.
1490 1490
1491 EXPECT_TRUE(socket_data.at_read_eof()); 1491 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1492 EXPECT_TRUE(socket_data.at_write_eof()); 1492 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1493 EXPECT_TRUE(socket_data2.at_read_eof()); 1493 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1494 EXPECT_TRUE(socket_data2.at_write_eof()); 1494 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1495 } 1495 }
1496 1496
1497 TEST_P(QuicStreamFactoryTest, OnCACertChanged) { 1497 TEST_P(QuicStreamFactoryTest, OnCACertChanged) {
1498 MockRead reads[] = { 1498 MockRead reads[] = {
1499 MockRead(ASYNC, 0, 0) // EOF 1499 MockRead(ASYNC, 0, 0) // EOF
1500 }; 1500 };
1501 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket()); 1501 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
1502 std::vector<MockWrite> writes; 1502 std::vector<MockWrite> writes;
1503 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1)); 1503 writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
1504 DeterministicSocketData socket_data(reads, arraysize(reads), 1504 DeterministicSocketData socket_data(reads, arraysize(reads),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1545 is_https_, 1545 is_https_,
1546 privacy_mode_, 1546 privacy_mode_,
1547 "GET", 1547 "GET",
1548 net_log_, 1548 net_log_,
1549 callback_.callback())); 1549 callback_.callback()));
1550 1550
1551 EXPECT_EQ(OK, callback_.WaitForResult()); 1551 EXPECT_EQ(OK, callback_.WaitForResult());
1552 stream = request2.ReleaseStream(); 1552 stream = request2.ReleaseStream();
1553 stream.reset(); // Will reset stream 3. 1553 stream.reset(); // Will reset stream 3.
1554 1554
1555 EXPECT_TRUE(socket_data.at_read_eof()); 1555 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1556 EXPECT_TRUE(socket_data.at_write_eof()); 1556 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1557 EXPECT_TRUE(socket_data2.at_read_eof()); 1557 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1558 EXPECT_TRUE(socket_data2.at_write_eof()); 1558 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1559 } 1559 }
1560 1560
1561 TEST_P(QuicStreamFactoryTest, SharedCryptoConfig) { 1561 TEST_P(QuicStreamFactoryTest, SharedCryptoConfig) {
1562 vector<string> cannoncial_suffixes; 1562 vector<string> cannoncial_suffixes;
1563 cannoncial_suffixes.push_back(string(".c.youtube.com")); 1563 cannoncial_suffixes.push_back(string(".c.youtube.com"));
1564 cannoncial_suffixes.push_back(string(".googlevideo.com")); 1564 cannoncial_suffixes.push_back(string(".googlevideo.com"));
1565 1565
1566 for (unsigned i = 0; i < cannoncial_suffixes.size(); ++i) { 1566 for (unsigned i = 0; i < cannoncial_suffixes.size(); ++i) {
1567 string r1_host_name("r1"); 1567 string r1_host_name("r1");
1568 string r2_host_name("r2"); 1568 string r2_host_name("r2");
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1657 EXPECT_EQ(ERR_IO_PENDING, 1657 EXPECT_EQ(ERR_IO_PENDING,
1658 request.Request(host_port_pair_, is_https_, privacy_mode_, "GET", 1658 request.Request(host_port_pair_, is_https_, privacy_mode_, "GET",
1659 net_log_, callback_.callback())); 1659 net_log_, callback_.callback()));
1660 EXPECT_EQ(2u, 1660 EXPECT_EQ(2u,
1661 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id)); 1661 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id));
1662 1662
1663 runner_->RunNextTask(); 1663 runner_->RunNextTask();
1664 1664
1665 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 1665 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1666 EXPECT_TRUE(stream.get()); 1666 EXPECT_TRUE(stream.get());
1667 EXPECT_TRUE(socket_data.at_read_eof()); 1667 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1668 EXPECT_TRUE(socket_data.at_write_eof()); 1668 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1669 EXPECT_EQ(0u, 1669 EXPECT_EQ(0u,
1670 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id)); 1670 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id));
1671 } 1671 }
1672 1672
1673 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) { 1673 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) {
1674 factory_.set_quic_server_info_factory(&quic_server_info_factory_); 1674 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1675 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get()); 1675 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1676 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true); 1676 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true);
1677 1677
1678 MockRead reads[] = { 1678 MockRead reads[] = {
(...skipping 12 matching lines...) Expand all
1691 QuicStreamRequest request(&factory_); 1691 QuicStreamRequest request(&factory_);
1692 EXPECT_EQ(OK, request.Request(host_port_pair_, is_https_, privacy_mode_, 1692 EXPECT_EQ(OK, request.Request(host_port_pair_, is_https_, privacy_mode_,
1693 "GET", net_log_, callback_.callback())); 1693 "GET", net_log_, callback_.callback()));
1694 1694
1695 // If we are waiting for disk cache, we would have posted a task. Verify that 1695 // If we are waiting for disk cache, we would have posted a task. Verify that
1696 // the CancelWaitForDataReady task hasn't been posted. 1696 // the CancelWaitForDataReady task hasn't been posted.
1697 ASSERT_EQ(0u, runner_->GetPostedTasks().size()); 1697 ASSERT_EQ(0u, runner_->GetPostedTasks().size());
1698 1698
1699 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 1699 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1700 EXPECT_TRUE(stream.get()); 1700 EXPECT_TRUE(stream.get());
1701 EXPECT_TRUE(socket_data.at_read_eof()); 1701 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1702 EXPECT_TRUE(socket_data.at_write_eof()); 1702 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1703 } 1703 }
1704 1704
1705 TEST_P(QuicStreamFactoryTest, BadPacketLoss) { 1705 TEST_P(QuicStreamFactoryTest, BadPacketLoss) {
1706 factory_.set_quic_server_info_factory(&quic_server_info_factory_); 1706 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1707 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get()); 1707 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1708 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true); 1708 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true);
1709 QuicStreamFactoryPeer::SetMaxNumberOfLossyConnections(&factory_, 2); 1709 QuicStreamFactoryPeer::SetMaxNumberOfLossyConnections(&factory_, 2);
1710 EXPECT_FALSE( 1710 EXPECT_FALSE(
1711 QuicStreamFactoryPeer::IsQuicDisabled(&factory_, host_port_pair_.port())); 1711 QuicStreamFactoryPeer::IsQuicDisabled(&factory_, host_port_pair_.port()));
1712 EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections( 1712 EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1825 EXPECT_FALSE( 1825 EXPECT_FALSE(
1826 QuicStreamFactoryPeer::HasActiveSession(&factory_, server3, is_https_)); 1826 QuicStreamFactoryPeer::HasActiveSession(&factory_, server3, is_https_));
1827 EXPECT_EQ(nullptr, CreateIfSessionExists(server3, net_log_).get()); 1827 EXPECT_EQ(nullptr, CreateIfSessionExists(server3, net_log_).get());
1828 1828
1829 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 1829 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1830 EXPECT_TRUE(stream.get()); 1830 EXPECT_TRUE(stream.get());
1831 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream(); 1831 scoped_ptr<QuicHttpStream> stream2 = request2.ReleaseStream();
1832 EXPECT_TRUE(stream2.get()); 1832 EXPECT_TRUE(stream2.get());
1833 scoped_ptr<QuicHttpStream> stream3 = request3.ReleaseStream(); 1833 scoped_ptr<QuicHttpStream> stream3 = request3.ReleaseStream();
1834 EXPECT_TRUE(stream3.get()); 1834 EXPECT_TRUE(stream3.get());
1835 EXPECT_TRUE(socket_data.at_read_eof()); 1835 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1836 EXPECT_TRUE(socket_data.at_write_eof()); 1836 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1837 EXPECT_TRUE(socket_data2.at_read_eof()); 1837 EXPECT_TRUE(socket_data2.AllReadDataConsumed());
1838 EXPECT_TRUE(socket_data2.at_write_eof()); 1838 EXPECT_TRUE(socket_data2.AllWriteDataConsumed());
1839 EXPECT_TRUE(socket_data3.at_read_eof()); 1839 EXPECT_TRUE(socket_data3.AllReadDataConsumed());
1840 EXPECT_TRUE(socket_data3.at_write_eof()); 1840 EXPECT_TRUE(socket_data3.AllWriteDataConsumed());
1841 } 1841 }
1842 1842
1843 } // namespace test 1843 } // namespace test
1844 } // namespace net 1844 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_network_transaction_unittest.cc ('k') | net/socket/sequenced_socket_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698