OLD | NEW |
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/chromium/quic_stream_factory.h" | 5 #include "net/quic/chromium/quic_stream_factory.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <ostream> | 8 #include <ostream> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 } | 271 } |
272 | 272 |
273 int GetSourcePortForNewSessionInner(const HostPortPair& destination, | 273 int GetSourcePortForNewSessionInner(const HostPortPair& destination, |
274 bool goaway_received) { | 274 bool goaway_received) { |
275 // Should only be called if there is no active session for this destination. | 275 // Should only be called if there is no active session for this destination. |
276 EXPECT_FALSE(HasActiveSession(destination)); | 276 EXPECT_FALSE(HasActiveSession(destination)); |
277 size_t socket_count = socket_factory_.udp_client_socket_ports().size(); | 277 size_t socket_count = socket_factory_.udp_client_socket_ports().size(); |
278 | 278 |
279 MockQuicData socket_data; | 279 MockQuicData socket_data; |
280 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 280 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
281 socket_data.AddWrite( | 281 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
282 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
283 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
284 socket_data.AddSocketDataToFactory(&socket_factory_); | 282 socket_data.AddSocketDataToFactory(&socket_factory_); |
285 | 283 |
286 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 284 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
287 GURL url("https://" + destination.host() + "/"); | 285 GURL url("https://" + destination.host() + "/"); |
288 EXPECT_EQ(ERR_IO_PENDING, | 286 EXPECT_EQ(ERR_IO_PENDING, |
289 request.Request(destination, privacy_mode_, | 287 request.Request(destination, privacy_mode_, |
290 /*cert_verify_flags=*/0, url, "GET", net_log_, | 288 /*cert_verify_flags=*/0, url, "GET", net_log_, |
291 callback_.callback())); | 289 callback_.callback())); |
292 | 290 |
293 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 291 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 QuicStreamId stream_id, | 383 QuicStreamId stream_id, |
386 bool should_include_version, | 384 bool should_include_version, |
387 bool fin) { | 385 bool fin) { |
388 SpdyHeaderBlock headers = server_maker_.GetResponseHeaders("200 OK"); | 386 SpdyHeaderBlock headers = server_maker_.GetResponseHeaders("200 OK"); |
389 size_t spdy_headers_frame_len; | 387 size_t spdy_headers_frame_len; |
390 return server_maker_.MakeResponseHeadersPacket( | 388 return server_maker_.MakeResponseHeadersPacket( |
391 packet_number, stream_id, should_include_version, fin, | 389 packet_number, stream_id, should_include_version, fin, |
392 std::move(headers), &spdy_headers_frame_len); | 390 std::move(headers), &spdy_headers_frame_len); |
393 } | 391 } |
394 | 392 |
395 std::unique_ptr<QuicReceivedPacket> ConstructSettingsPacket( | 393 std::unique_ptr<QuicReceivedPacket> ConstructInitialSettingsPacket() { |
| 394 return client_maker_.MakeInitialSettingsPacket(1, nullptr); |
| 395 } |
| 396 |
| 397 std::unique_ptr<QuicReceivedPacket> ConstructInitialSettingsPacket( |
396 QuicPacketNumber packet_number, | 398 QuicPacketNumber packet_number, |
397 SpdySettingsIds id, | |
398 size_t value, | |
399 QuicStreamOffset* offset) { | 399 QuicStreamOffset* offset) { |
400 return client_maker_.MakeSettingsPacket(packet_number, id, value, | 400 return client_maker_.MakeInitialSettingsPacket(packet_number, offset); |
401 kIncludeVersion, offset); | |
402 } | 401 } |
403 | 402 |
404 // Helper method for server migration tests. | 403 // Helper method for server migration tests. |
405 void VerifyServerMigration(QuicConfig& config, IPEndPoint expected_address) { | 404 void VerifyServerMigration(QuicConfig& config, IPEndPoint expected_address) { |
406 allow_server_migration_ = true; | 405 allow_server_migration_ = true; |
407 Initialize(); | 406 Initialize(); |
408 | 407 |
409 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 408 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
410 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 409 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
411 crypto_client_stream_factory_.SetConfig(config); | 410 crypto_client_stream_factory_.SetConfig(config); |
412 | 411 |
413 // Set up first socket data provider. | 412 // Set up first socket data provider. |
414 MockQuicData socket_data1; | 413 MockQuicData socket_data1; |
415 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 414 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
416 socket_data1.AddSocketDataToFactory(&socket_factory_); | 415 socket_data1.AddSocketDataToFactory(&socket_factory_); |
417 | 416 |
418 // Set up second socket data provider that is used after | 417 // Set up second socket data provider that is used after |
419 // migration. | 418 // migration. |
420 MockQuicData socket_data2; | 419 MockQuicData socket_data2; |
421 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 420 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
422 socket_data2.AddWrite( | 421 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
423 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
424 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
425 socket_data2.AddWrite( | 422 socket_data2.AddWrite( |
426 client_maker_.MakePingPacket(2, /*include_version=*/true)); | 423 client_maker_.MakePingPacket(2, /*include_version=*/true)); |
427 socket_data2.AddWrite(client_maker_.MakeRstPacket( | 424 socket_data2.AddWrite(client_maker_.MakeRstPacket( |
428 3, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 425 3, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
429 socket_data2.AddSocketDataToFactory(&socket_factory_); | 426 socket_data2.AddSocketDataToFactory(&socket_factory_); |
430 | 427 |
431 // Create request and QuicHttpStream. | 428 // Create request and QuicHttpStream. |
432 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 429 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
433 EXPECT_EQ(ERR_IO_PENDING, | 430 EXPECT_EQ(ERR_IO_PENDING, |
434 request.Request(host_port_pair_, privacy_mode_, | 431 request.Request(host_port_pair_, privacy_mode_, |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
752 QuicStreamFactoryTest, | 749 QuicStreamFactoryTest, |
753 ::testing::ValuesIn(GetTestParams())); | 750 ::testing::ValuesIn(GetTestParams())); |
754 | 751 |
755 TEST_P(QuicStreamFactoryTest, Create) { | 752 TEST_P(QuicStreamFactoryTest, Create) { |
756 Initialize(); | 753 Initialize(); |
757 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 754 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
758 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 755 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
759 | 756 |
760 MockQuicData socket_data; | 757 MockQuicData socket_data; |
761 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 758 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
762 socket_data.AddWrite( | 759 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
763 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
764 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
765 socket_data.AddSocketDataToFactory(&socket_factory_); | 760 socket_data.AddSocketDataToFactory(&socket_factory_); |
766 | 761 |
767 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 762 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
768 EXPECT_EQ(ERR_IO_PENDING, | 763 EXPECT_EQ(ERR_IO_PENDING, |
769 request.Request(host_port_pair_, privacy_mode_, | 764 request.Request(host_port_pair_, privacy_mode_, |
770 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 765 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
771 callback_.callback())); | 766 callback_.callback())); |
772 | 767 |
773 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 768 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
774 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 769 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
848 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 843 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
849 } | 844 } |
850 | 845 |
851 TEST_P(QuicStreamFactoryTest, DefaultInitialRtt) { | 846 TEST_P(QuicStreamFactoryTest, DefaultInitialRtt) { |
852 Initialize(); | 847 Initialize(); |
853 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 848 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
854 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 849 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
855 | 850 |
856 MockQuicData socket_data; | 851 MockQuicData socket_data; |
857 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 852 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
858 socket_data.AddWrite( | 853 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
859 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
860 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
861 socket_data.AddSocketDataToFactory(&socket_factory_); | 854 socket_data.AddSocketDataToFactory(&socket_factory_); |
862 | 855 |
863 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 856 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
864 EXPECT_EQ(ERR_IO_PENDING, | 857 EXPECT_EQ(ERR_IO_PENDING, |
865 request.Request(host_port_pair_, privacy_mode_, | 858 request.Request(host_port_pair_, privacy_mode_, |
866 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 859 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
867 callback_.callback())); | 860 callback_.callback())); |
868 | 861 |
869 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 862 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
870 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 863 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 10 matching lines...) Expand all Loading... |
881 http_server_properties_.SetServerNetworkStats(url::SchemeHostPort(url_), | 874 http_server_properties_.SetServerNetworkStats(url::SchemeHostPort(url_), |
882 stats); | 875 stats); |
883 estimate_initial_rtt_ = true; | 876 estimate_initial_rtt_ = true; |
884 | 877 |
885 Initialize(); | 878 Initialize(); |
886 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 879 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
887 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 880 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
888 | 881 |
889 MockQuicData socket_data; | 882 MockQuicData socket_data; |
890 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 883 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
891 socket_data.AddWrite( | 884 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
892 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
893 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
894 socket_data.AddSocketDataToFactory(&socket_factory_); | 885 socket_data.AddSocketDataToFactory(&socket_factory_); |
895 | 886 |
896 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 887 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
897 EXPECT_EQ(ERR_IO_PENDING, | 888 EXPECT_EQ(ERR_IO_PENDING, |
898 request.Request(host_port_pair_, privacy_mode_, | 889 request.Request(host_port_pair_, privacy_mode_, |
899 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 890 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
900 callback_.callback())); | 891 callback_.callback())); |
901 | 892 |
902 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 893 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
903 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 894 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 10 matching lines...) Expand all Loading... |
914 notifier.mock_network_change_notifier()->SetConnectionType( | 905 notifier.mock_network_change_notifier()->SetConnectionType( |
915 NetworkChangeNotifier::CONNECTION_2G); | 906 NetworkChangeNotifier::CONNECTION_2G); |
916 estimate_initial_rtt_ = true; | 907 estimate_initial_rtt_ = true; |
917 | 908 |
918 Initialize(); | 909 Initialize(); |
919 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 910 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
920 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 911 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
921 | 912 |
922 MockQuicData socket_data; | 913 MockQuicData socket_data; |
923 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 914 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
924 socket_data.AddWrite( | 915 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
925 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
926 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
927 socket_data.AddSocketDataToFactory(&socket_factory_); | 916 socket_data.AddSocketDataToFactory(&socket_factory_); |
928 | 917 |
929 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 918 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
930 EXPECT_EQ(ERR_IO_PENDING, | 919 EXPECT_EQ(ERR_IO_PENDING, |
931 request.Request(host_port_pair_, privacy_mode_, | 920 request.Request(host_port_pair_, privacy_mode_, |
932 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 921 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
933 callback_.callback())); | 922 callback_.callback())); |
934 | 923 |
935 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 924 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
936 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 925 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 10 matching lines...) Expand all Loading... |
947 notifier.mock_network_change_notifier()->SetConnectionType( | 936 notifier.mock_network_change_notifier()->SetConnectionType( |
948 NetworkChangeNotifier::CONNECTION_3G); | 937 NetworkChangeNotifier::CONNECTION_3G); |
949 estimate_initial_rtt_ = true; | 938 estimate_initial_rtt_ = true; |
950 | 939 |
951 Initialize(); | 940 Initialize(); |
952 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 941 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
953 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 942 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
954 | 943 |
955 MockQuicData socket_data; | 944 MockQuicData socket_data; |
956 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 945 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
957 socket_data.AddWrite( | 946 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
958 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
959 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
960 socket_data.AddSocketDataToFactory(&socket_factory_); | 947 socket_data.AddSocketDataToFactory(&socket_factory_); |
961 | 948 |
962 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 949 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
963 EXPECT_EQ(ERR_IO_PENDING, | 950 EXPECT_EQ(ERR_IO_PENDING, |
964 request.Request(host_port_pair_, privacy_mode_, | 951 request.Request(host_port_pair_, privacy_mode_, |
965 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 952 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
966 callback_.callback())); | 953 callback_.callback())); |
967 | 954 |
968 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 955 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
969 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 956 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
970 EXPECT_TRUE(stream.get()); | 957 EXPECT_TRUE(stream.get()); |
971 | 958 |
972 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 959 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
973 EXPECT_EQ(400000u, session->connection()->GetStats().srtt_us); | 960 EXPECT_EQ(400000u, session->connection()->GetStats().srtt_us); |
974 ASSERT_TRUE(session->config()->HasInitialRoundTripTimeUsToSend()); | 961 ASSERT_TRUE(session->config()->HasInitialRoundTripTimeUsToSend()); |
975 EXPECT_EQ(400000u, session->config()->GetInitialRoundTripTimeUsToSend()); | 962 EXPECT_EQ(400000u, session->config()->GetInitialRoundTripTimeUsToSend()); |
976 } | 963 } |
977 | 964 |
978 TEST_P(QuicStreamFactoryTest, GoAway) { | 965 TEST_P(QuicStreamFactoryTest, GoAway) { |
979 Initialize(); | 966 Initialize(); |
980 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 967 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
981 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 968 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
982 | 969 |
983 MockQuicData socket_data; | 970 MockQuicData socket_data; |
984 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 971 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
985 socket_data.AddWrite( | 972 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
986 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
987 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
988 socket_data.AddSocketDataToFactory(&socket_factory_); | 973 socket_data.AddSocketDataToFactory(&socket_factory_); |
989 | 974 |
990 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 975 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
991 EXPECT_EQ(ERR_IO_PENDING, | 976 EXPECT_EQ(ERR_IO_PENDING, |
992 request.Request(host_port_pair_, privacy_mode_, | 977 request.Request(host_port_pair_, privacy_mode_, |
993 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 978 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
994 callback_.callback())); | 979 callback_.callback())); |
995 | 980 |
996 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 981 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
997 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 982 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
998 EXPECT_TRUE(stream.get()); | 983 EXPECT_TRUE(stream.get()); |
999 | 984 |
1000 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 985 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
1001 | 986 |
1002 session->OnGoAway(QuicGoAwayFrame()); | 987 session->OnGoAway(QuicGoAwayFrame()); |
1003 | 988 |
1004 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 989 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
1005 | 990 |
1006 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 991 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
1007 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 992 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
1008 } | 993 } |
1009 | 994 |
1010 TEST_P(QuicStreamFactoryTest, GoAwayForConnectionMigrationWithPortOnly) { | 995 TEST_P(QuicStreamFactoryTest, GoAwayForConnectionMigrationWithPortOnly) { |
1011 Initialize(); | 996 Initialize(); |
1012 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 997 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1013 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 998 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1014 | 999 |
1015 MockQuicData socket_data; | 1000 MockQuicData socket_data; |
1016 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1001 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1017 socket_data.AddWrite( | 1002 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1018 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1019 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1020 socket_data.AddSocketDataToFactory(&socket_factory_); | 1003 socket_data.AddSocketDataToFactory(&socket_factory_); |
1021 | 1004 |
1022 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1005 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1023 EXPECT_EQ(ERR_IO_PENDING, | 1006 EXPECT_EQ(ERR_IO_PENDING, |
1024 request.Request(host_port_pair_, privacy_mode_, | 1007 request.Request(host_port_pair_, privacy_mode_, |
1025 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1008 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1026 callback_.callback())); | 1009 callback_.callback())); |
1027 | 1010 |
1028 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1011 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
1029 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1012 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 18 matching lines...) Expand all Loading... |
1048 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1031 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
1049 } | 1032 } |
1050 | 1033 |
1051 TEST_P(QuicStreamFactoryTest, Pooling) { | 1034 TEST_P(QuicStreamFactoryTest, Pooling) { |
1052 Initialize(); | 1035 Initialize(); |
1053 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1036 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1054 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1037 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1055 | 1038 |
1056 MockQuicData socket_data; | 1039 MockQuicData socket_data; |
1057 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1040 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1058 socket_data.AddWrite( | 1041 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1059 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1060 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1061 socket_data.AddSocketDataToFactory(&socket_factory_); | 1042 socket_data.AddSocketDataToFactory(&socket_factory_); |
1062 | 1043 |
1063 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1044 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
1064 host_resolver_.set_synchronous_mode(true); | 1045 host_resolver_.set_synchronous_mode(true); |
1065 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 1046 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
1066 "192.168.0.1", ""); | 1047 "192.168.0.1", ""); |
1067 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1048 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
1068 | 1049 |
1069 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1050 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1070 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, | 1051 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, |
(...skipping 30 matching lines...) Expand all Loading... |
1101 // Close server-migrated session. | 1082 // Close server-migrated session. |
1102 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 1083 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
1103 session->CloseSessionOnError(0u, QUIC_NO_ERROR); | 1084 session->CloseSessionOnError(0u, QUIC_NO_ERROR); |
1104 | 1085 |
1105 // Set up server IP, socket, proof, and config for new session. | 1086 // Set up server IP, socket, proof, and config for new session. |
1106 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1087 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
1107 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1088 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
1108 | 1089 |
1109 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 1090 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
1110 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 1091 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
1111 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 1092 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
1112 kDefaultMaxUncompressedHeaderSize, true, | |
1113 nullptr)); | |
1114 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 1093 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
1115 settings_packet->length(), 1)}; | 1094 settings_packet->length(), 1)}; |
1116 | 1095 |
1117 SequencedSocketData socket_data(reads, arraysize(reads), writes, | 1096 SequencedSocketData socket_data(reads, arraysize(reads), writes, |
1118 arraysize(writes)); | 1097 arraysize(writes)); |
1119 socket_factory_.AddSocketDataProvider(&socket_data); | 1098 socket_factory_.AddSocketDataProvider(&socket_data); |
1120 | 1099 |
1121 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1100 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1122 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1101 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1123 QuicConfig config2; | 1102 QuicConfig config2; |
(...skipping 16 matching lines...) Expand all Loading... |
1140 } | 1119 } |
1141 | 1120 |
1142 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) { | 1121 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) { |
1143 Initialize(); | 1122 Initialize(); |
1144 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1123 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1145 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1124 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1146 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1125 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1147 | 1126 |
1148 MockQuicData socket_data1; | 1127 MockQuicData socket_data1; |
1149 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1128 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1150 socket_data1.AddWrite( | 1129 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
1151 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1152 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1153 socket_data1.AddSocketDataToFactory(&socket_factory_); | 1130 socket_data1.AddSocketDataToFactory(&socket_factory_); |
1154 MockQuicData socket_data2; | 1131 MockQuicData socket_data2; |
1155 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1132 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1156 socket_data2.AddWrite( | 1133 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1157 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1158 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1159 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1134 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1160 | 1135 |
1161 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1136 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
1162 host_resolver_.set_synchronous_mode(true); | 1137 host_resolver_.set_synchronous_mode(true); |
1163 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 1138 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
1164 "192.168.0.1", ""); | 1139 "192.168.0.1", ""); |
1165 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1140 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
1166 | 1141 |
1167 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1142 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1168 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, | 1143 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, |
(...skipping 28 matching lines...) Expand all Loading... |
1197 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); | 1172 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); |
1198 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 1173 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); |
1199 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 1174 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
1200 } | 1175 } |
1201 | 1176 |
1202 TEST_P(QuicStreamFactoryTest, HttpsPooling) { | 1177 TEST_P(QuicStreamFactoryTest, HttpsPooling) { |
1203 Initialize(); | 1178 Initialize(); |
1204 | 1179 |
1205 MockQuicData socket_data; | 1180 MockQuicData socket_data; |
1206 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1181 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1207 socket_data.AddWrite( | 1182 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1208 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1209 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1210 socket_data.AddSocketDataToFactory(&socket_factory_); | 1183 socket_data.AddSocketDataToFactory(&socket_factory_); |
1211 | 1184 |
1212 HostPortPair server1(kDefaultServerHostName, 443); | 1185 HostPortPair server1(kDefaultServerHostName, 443); |
1213 HostPortPair server2(kServer2HostName, 443); | 1186 HostPortPair server2(kServer2HostName, 443); |
1214 | 1187 |
1215 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1188 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1216 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1189 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1217 | 1190 |
1218 host_resolver_.set_synchronous_mode(true); | 1191 host_resolver_.set_synchronous_mode(true); |
1219 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 1192 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
(...skipping 17 matching lines...) Expand all Loading... |
1237 EXPECT_EQ(GetActiveSession(server1), GetActiveSession(server2)); | 1210 EXPECT_EQ(GetActiveSession(server1), GetActiveSession(server2)); |
1238 | 1211 |
1239 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1212 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
1240 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1213 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
1241 } | 1214 } |
1242 | 1215 |
1243 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) { | 1216 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) { |
1244 Initialize(); | 1217 Initialize(); |
1245 MockQuicData socket_data; | 1218 MockQuicData socket_data; |
1246 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1219 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1247 socket_data.AddWrite( | 1220 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1248 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1249 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1250 socket_data.AddSocketDataToFactory(&socket_factory_); | 1221 socket_data.AddSocketDataToFactory(&socket_factory_); |
1251 | 1222 |
1252 HostPortPair server1(kDefaultServerHostName, 443); | 1223 HostPortPair server1(kDefaultServerHostName, 443); |
1253 HostPortPair server2(kServer2HostName, 443); | 1224 HostPortPair server2(kServer2HostName, 443); |
1254 uint8_t primary_pin = 1; | 1225 uint8_t primary_pin = 1; |
1255 uint8_t backup_pin = 2; | 1226 uint8_t backup_pin = 2; |
1256 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, | 1227 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, |
1257 backup_pin); | 1228 backup_pin); |
1258 | 1229 |
1259 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1230 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
(...skipping 24 matching lines...) Expand all Loading... |
1284 | 1255 |
1285 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1256 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
1286 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1257 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
1287 } | 1258 } |
1288 | 1259 |
1289 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) { | 1260 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) { |
1290 Initialize(); | 1261 Initialize(); |
1291 | 1262 |
1292 MockQuicData socket_data1; | 1263 MockQuicData socket_data1; |
1293 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1264 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1294 socket_data1.AddWrite( | 1265 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
1295 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1296 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1297 socket_data1.AddSocketDataToFactory(&socket_factory_); | 1266 socket_data1.AddSocketDataToFactory(&socket_factory_); |
1298 MockQuicData socket_data2; | 1267 MockQuicData socket_data2; |
1299 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1268 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1300 socket_data2.AddWrite( | 1269 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1301 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1302 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1303 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1270 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1304 | 1271 |
1305 HostPortPair server1(kDefaultServerHostName, 443); | 1272 HostPortPair server1(kDefaultServerHostName, 443); |
1306 HostPortPair server2(kServer2HostName, 443); | 1273 HostPortPair server2(kServer2HostName, 443); |
1307 uint8_t primary_pin = 1; | 1274 uint8_t primary_pin = 1; |
1308 uint8_t backup_pin = 2; | 1275 uint8_t backup_pin = 2; |
1309 uint8_t bad_pin = 3; | 1276 uint8_t bad_pin = 3; |
1310 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, | 1277 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, |
1311 backup_pin); | 1278 backup_pin); |
1312 | 1279 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1348 } | 1315 } |
1349 | 1316 |
1350 TEST_P(QuicStreamFactoryTest, Goaway) { | 1317 TEST_P(QuicStreamFactoryTest, Goaway) { |
1351 Initialize(); | 1318 Initialize(); |
1352 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1319 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1353 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1320 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1354 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1321 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1355 | 1322 |
1356 MockQuicData socket_data; | 1323 MockQuicData socket_data; |
1357 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1324 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1358 socket_data.AddWrite( | 1325 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1359 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1360 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1361 socket_data.AddSocketDataToFactory(&socket_factory_); | 1326 socket_data.AddSocketDataToFactory(&socket_factory_); |
1362 MockQuicData socket_data2; | 1327 MockQuicData socket_data2; |
1363 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1328 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1364 socket_data2.AddWrite( | 1329 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1365 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1366 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1367 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1330 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1368 | 1331 |
1369 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1332 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1370 EXPECT_EQ(ERR_IO_PENDING, | 1333 EXPECT_EQ(ERR_IO_PENDING, |
1371 request.Request(host_port_pair_, privacy_mode_, | 1334 request.Request(host_port_pair_, privacy_mode_, |
1372 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1335 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1373 callback_.callback())); | 1336 callback_.callback())); |
1374 | 1337 |
1375 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1338 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
1376 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1339 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1409 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 1372 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
1410 } | 1373 } |
1411 | 1374 |
1412 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { | 1375 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { |
1413 Initialize(); | 1376 Initialize(); |
1414 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1377 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1415 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1378 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1416 | 1379 |
1417 QuicStreamId stream_id = kClientDataStreamId1; | 1380 QuicStreamId stream_id = kClientDataStreamId1; |
1418 MockQuicData socket_data; | 1381 MockQuicData socket_data; |
1419 socket_data.AddWrite( | 1382 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1420 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1421 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1422 socket_data.AddWrite( | 1383 socket_data.AddWrite( |
1423 client_maker_.MakeRstPacket(2, true, stream_id, QUIC_STREAM_CANCELLED)); | 1384 client_maker_.MakeRstPacket(2, true, stream_id, QUIC_STREAM_CANCELLED)); |
1424 socket_data.AddRead( | 1385 socket_data.AddRead( |
1425 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED)); | 1386 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED)); |
1426 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1387 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1427 socket_data.AddSocketDataToFactory(&socket_factory_); | 1388 socket_data.AddSocketDataToFactory(&socket_factory_); |
1428 | 1389 |
1429 HttpRequestInfo request_info; | 1390 HttpRequestInfo request_info; |
1430 std::vector<std::unique_ptr<QuicHttpStream>> streams; | 1391 std::vector<std::unique_ptr<QuicHttpStream>> streams; |
1431 // The MockCryptoClientStream sets max_open_streams to be | 1392 // The MockCryptoClientStream sets max_open_streams to be |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1510 EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_ADDRESS_IN_USE)); | 1471 EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_ADDRESS_IN_USE)); |
1511 | 1472 |
1512 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1473 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
1513 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1474 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
1514 } | 1475 } |
1515 | 1476 |
1516 TEST_P(QuicStreamFactoryTest, CancelCreate) { | 1477 TEST_P(QuicStreamFactoryTest, CancelCreate) { |
1517 Initialize(); | 1478 Initialize(); |
1518 MockQuicData socket_data; | 1479 MockQuicData socket_data; |
1519 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1480 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1520 socket_data.AddWrite( | 1481 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1521 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1522 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1523 socket_data.AddSocketDataToFactory(&socket_factory_); | 1482 socket_data.AddSocketDataToFactory(&socket_factory_); |
1524 { | 1483 { |
1525 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1484 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1526 EXPECT_EQ(ERR_IO_PENDING, | 1485 EXPECT_EQ(ERR_IO_PENDING, |
1527 request.Request(host_port_pair_, privacy_mode_, | 1486 request.Request(host_port_pair_, privacy_mode_, |
1528 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1487 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1529 callback_.callback())); | 1488 callback_.callback())); |
1530 } | 1489 } |
1531 | 1490 |
1532 base::RunLoop().RunUntilIdle(); | 1491 base::RunLoop().RunUntilIdle(); |
(...skipping 12 matching lines...) Expand all Loading... |
1545 } | 1504 } |
1546 | 1505 |
1547 TEST_P(QuicStreamFactoryTest, CloseAllSessions) { | 1506 TEST_P(QuicStreamFactoryTest, CloseAllSessions) { |
1548 Initialize(); | 1507 Initialize(); |
1549 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1508 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1550 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1509 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1551 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1510 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1552 | 1511 |
1553 MockQuicData socket_data; | 1512 MockQuicData socket_data; |
1554 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1513 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1555 socket_data.AddWrite( | 1514 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1556 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1557 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1558 socket_data.AddWrite(ConstructClientRstPacket(2)); | 1515 socket_data.AddWrite(ConstructClientRstPacket(2)); |
1559 socket_data.AddSocketDataToFactory(&socket_factory_); | 1516 socket_data.AddSocketDataToFactory(&socket_factory_); |
1560 | 1517 |
1561 MockQuicData socket_data2; | 1518 MockQuicData socket_data2; |
1562 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1519 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1563 socket_data2.AddWrite( | 1520 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1564 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1565 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1566 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1521 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1567 | 1522 |
1568 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1523 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1569 EXPECT_EQ(ERR_IO_PENDING, | 1524 EXPECT_EQ(ERR_IO_PENDING, |
1570 request.Request(host_port_pair_, privacy_mode_, | 1525 request.Request(host_port_pair_, privacy_mode_, |
1571 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1526 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1572 callback_.callback())); | 1527 callback_.callback())); |
1573 | 1528 |
1574 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1529 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
1575 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1530 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1628 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1583 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
1629 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1584 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); |
1630 | 1585 |
1631 // Verify new requests can be sent normally without hanging. | 1586 // Verify new requests can be sent normally without hanging. |
1632 crypto_client_stream_factory_.set_handshake_mode( | 1587 crypto_client_stream_factory_.set_handshake_mode( |
1633 MockCryptoClientStream::COLD_START); | 1588 MockCryptoClientStream::COLD_START); |
1634 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1589 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1635 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1590 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1636 MockQuicData socket_data2; | 1591 MockQuicData socket_data2; |
1637 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1592 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1638 socket_data2.AddWrite( | 1593 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1639 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1640 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1641 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1594 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1642 | 1595 |
1643 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1596 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
1644 EXPECT_EQ(ERR_IO_PENDING, | 1597 EXPECT_EQ(ERR_IO_PENDING, |
1645 request2.Request(host_port_pair_, privacy_mode_, | 1598 request2.Request(host_port_pair_, privacy_mode_, |
1646 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1599 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1647 callback_.callback())); | 1600 callback_.callback())); |
1648 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1601 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
1649 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1602 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); |
1650 // Run the message loop to complete host resolution. | 1603 // Run the message loop to complete host resolution. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1692 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1645 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
1693 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1646 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); |
1694 | 1647 |
1695 // Verify new requests can be sent normally without hanging. | 1648 // Verify new requests can be sent normally without hanging. |
1696 crypto_client_stream_factory_.set_handshake_mode( | 1649 crypto_client_stream_factory_.set_handshake_mode( |
1697 MockCryptoClientStream::COLD_START); | 1650 MockCryptoClientStream::COLD_START); |
1698 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1651 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1699 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1652 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1700 MockQuicData socket_data2; | 1653 MockQuicData socket_data2; |
1701 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1654 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1702 socket_data2.AddWrite( | 1655 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1703 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1704 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1705 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1656 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1706 | 1657 |
1707 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1658 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
1708 EXPECT_EQ(ERR_IO_PENDING, | 1659 EXPECT_EQ(ERR_IO_PENDING, |
1709 request2.Request(host_port_pair_, privacy_mode_, | 1660 request2.Request(host_port_pair_, privacy_mode_, |
1710 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1661 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1711 callback_.callback())); | 1662 callback_.callback())); |
1712 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1663 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
1713 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1664 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); |
1714 | 1665 |
(...skipping 16 matching lines...) Expand all Loading... |
1731 | 1682 |
1732 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) { | 1683 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) { |
1733 close_sessions_on_ip_change_ = true; | 1684 close_sessions_on_ip_change_ = true; |
1734 Initialize(); | 1685 Initialize(); |
1735 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1686 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1736 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1687 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1737 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1688 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1738 | 1689 |
1739 MockQuicData socket_data; | 1690 MockQuicData socket_data; |
1740 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1691 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1741 socket_data.AddWrite( | 1692 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
1742 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1743 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1744 socket_data.AddWrite(ConstructClientRstPacket(2)); | 1693 socket_data.AddWrite(ConstructClientRstPacket(2)); |
1745 socket_data.AddSocketDataToFactory(&socket_factory_); | 1694 socket_data.AddSocketDataToFactory(&socket_factory_); |
1746 | 1695 |
1747 MockQuicData socket_data2; | 1696 MockQuicData socket_data2; |
1748 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1697 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1749 socket_data2.AddWrite( | 1698 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1750 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1751 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1752 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1699 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1753 | 1700 |
1754 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1701 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
1755 EXPECT_EQ(ERR_IO_PENDING, | 1702 EXPECT_EQ(ERR_IO_PENDING, |
1756 request.Request(host_port_pair_, privacy_mode_, | 1703 request.Request(host_port_pair_, privacy_mode_, |
1757 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1704 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1758 callback_.callback())); | 1705 callback_.callback())); |
1759 | 1706 |
1760 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1707 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
1761 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1708 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1800 InitializeConnectionMigrationTest( | 1747 InitializeConnectionMigrationTest( |
1801 {kDefaultNetworkForTests, kNewNetworkForTests}); | 1748 {kDefaultNetworkForTests, kNewNetworkForTests}); |
1802 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1749 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1803 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1750 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1804 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1751 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1805 | 1752 |
1806 int packet_number = 1; | 1753 int packet_number = 1; |
1807 MockQuicData socket_data; | 1754 MockQuicData socket_data; |
1808 QuicStreamOffset header_stream_offset = 0; | 1755 QuicStreamOffset header_stream_offset = 0; |
1809 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1756 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1810 socket_data.AddWrite(ConstructSettingsPacket( | 1757 socket_data.AddWrite( |
1811 packet_number++, SETTINGS_MAX_HEADER_LIST_SIZE, | 1758 ConstructInitialSettingsPacket(packet_number++, &header_stream_offset)); |
1812 kDefaultMaxUncompressedHeaderSize, &header_stream_offset)); | |
1813 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, | 1759 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, |
1814 kClientDataStreamId1, true, | 1760 kClientDataStreamId1, true, |
1815 true, &header_stream_offset)); | 1761 true, &header_stream_offset)); |
1816 if (async_write_before) { | 1762 if (async_write_before) { |
1817 socket_data.AddWrite(ASYNC, OK); | 1763 socket_data.AddWrite(ASYNC, OK); |
1818 packet_number++; | 1764 packet_number++; |
1819 } | 1765 } |
1820 socket_data.AddSocketDataToFactory(&socket_factory_); | 1766 socket_data.AddSocketDataToFactory(&socket_factory_); |
1821 | 1767 |
1822 // Create request and QuicHttpStream. | 1768 // Create request and QuicHttpStream. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1877 | 1823 |
1878 // Verify that response headers on the migrated socket were delivered to the | 1824 // Verify that response headers on the migrated socket were delivered to the |
1879 // stream. | 1825 // stream. |
1880 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 1826 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
1881 EXPECT_EQ(200, response.headers->response_code()); | 1827 EXPECT_EQ(200, response.headers->response_code()); |
1882 | 1828 |
1883 // Create a new request for the same destination and verify that a | 1829 // Create a new request for the same destination and verify that a |
1884 // new session is created. | 1830 // new session is created. |
1885 MockQuicData socket_data2; | 1831 MockQuicData socket_data2; |
1886 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1832 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1887 socket_data2.AddWrite( | 1833 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
1888 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
1889 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
1890 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1834 socket_data2.AddSocketDataToFactory(&socket_factory_); |
1891 | 1835 |
1892 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1836 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
1893 EXPECT_EQ(ERR_IO_PENDING, | 1837 EXPECT_EQ(ERR_IO_PENDING, |
1894 request2.Request(host_port_pair_, privacy_mode_, | 1838 request2.Request(host_port_pair_, privacy_mode_, |
1895 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1839 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
1896 callback_.callback())); | 1840 callback_.callback())); |
1897 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1841 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
1898 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 1842 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
1899 EXPECT_TRUE(stream2.get()); | 1843 EXPECT_TRUE(stream2.get()); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1933 InitializeConnectionMigrationTest( | 1877 InitializeConnectionMigrationTest( |
1934 {kDefaultNetworkForTests, kNewNetworkForTests}); | 1878 {kDefaultNetworkForTests, kNewNetworkForTests}); |
1935 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1879 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
1936 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1880 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1937 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1881 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
1938 | 1882 |
1939 int packet_number = 1; | 1883 int packet_number = 1; |
1940 MockQuicData socket_data; | 1884 MockQuicData socket_data; |
1941 QuicStreamOffset header_stream_offset = 0; | 1885 QuicStreamOffset header_stream_offset = 0; |
1942 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1886 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
1943 socket_data.AddWrite(ConstructSettingsPacket( | 1887 socket_data.AddWrite( |
1944 packet_number++, SETTINGS_MAX_HEADER_LIST_SIZE, | 1888 ConstructInitialSettingsPacket(packet_number++, &header_stream_offset)); |
1945 kDefaultMaxUncompressedHeaderSize, &header_stream_offset)); | |
1946 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, | 1889 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, |
1947 kClientDataStreamId1, true, | 1890 kClientDataStreamId1, true, |
1948 true, &header_stream_offset)); | 1891 true, &header_stream_offset)); |
1949 if (async_write_before) { | 1892 if (async_write_before) { |
1950 socket_data.AddWrite(ASYNC, OK); | 1893 socket_data.AddWrite(ASYNC, OK); |
1951 packet_number++; | 1894 packet_number++; |
1952 } | 1895 } |
1953 socket_data.AddSocketDataToFactory(&socket_factory_); | 1896 socket_data.AddSocketDataToFactory(&socket_factory_); |
1954 | 1897 |
1955 // Create request and QuicHttpStream. | 1898 // Create request and QuicHttpStream. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2005 // The session should now be marked as going away. Ensure that | 1948 // The session should now be marked as going away. Ensure that |
2006 // while it is still alive, it is no longer active. | 1949 // while it is still alive, it is no longer active. |
2007 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); | 1950 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); |
2008 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1951 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
2009 EXPECT_EQ(1u, session->GetNumActiveStreams()); | 1952 EXPECT_EQ(1u, session->GetNumActiveStreams()); |
2010 | 1953 |
2011 // Create a new request for the same destination and verify that a | 1954 // Create a new request for the same destination and verify that a |
2012 // new session is created. | 1955 // new session is created. |
2013 MockQuicData socket_data2; | 1956 MockQuicData socket_data2; |
2014 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1957 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2015 socket_data2.AddWrite( | 1958 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
2016 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2017 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2018 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1959 socket_data2.AddSocketDataToFactory(&socket_factory_); |
2019 | 1960 |
2020 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1961 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
2021 EXPECT_EQ(ERR_IO_PENDING, | 1962 EXPECT_EQ(ERR_IO_PENDING, |
2022 request2.Request(host_port_pair_, privacy_mode_, | 1963 request2.Request(host_port_pair_, privacy_mode_, |
2023 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1964 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2024 callback_.callback())); | 1965 callback_.callback())); |
2025 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1966 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2026 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 1967 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
2027 EXPECT_TRUE(stream2.get()); | 1968 EXPECT_TRUE(stream2.get()); |
(...skipping 26 matching lines...) Expand all Loading... |
2054 NetworkChangeNotifier::NetworkList network_list) { | 1995 NetworkChangeNotifier::NetworkList network_list) { |
2055 InitializeConnectionMigrationTest(network_list); | 1996 InitializeConnectionMigrationTest(network_list); |
2056 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1997 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2057 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1998 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2058 | 1999 |
2059 // Use the test task runner, to force the migration alarm timeout later. | 2000 // Use the test task runner, to force the migration alarm timeout later. |
2060 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 2001 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
2061 | 2002 |
2062 MockQuicData socket_data; | 2003 MockQuicData socket_data; |
2063 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2004 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2064 socket_data.AddWrite( | 2005 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2065 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2066 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2067 socket_data.AddSocketDataToFactory(&socket_factory_); | 2006 socket_data.AddSocketDataToFactory(&socket_factory_); |
2068 | 2007 |
2069 // Create request and QuicHttpStream. | 2008 // Create request and QuicHttpStream. |
2070 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2009 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2071 EXPECT_EQ(ERR_IO_PENDING, | 2010 EXPECT_EQ(ERR_IO_PENDING, |
2072 request.Request(host_port_pair_, privacy_mode_, | 2011 request.Request(host_port_pair_, privacy_mode_, |
2073 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2012 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2074 callback_.callback())); | 2013 callback_.callback())); |
2075 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2014 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2076 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2015 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2112 } | 2051 } |
2113 | 2052 |
2114 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNonMigratableStream) { | 2053 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNonMigratableStream) { |
2115 InitializeConnectionMigrationTest( | 2054 InitializeConnectionMigrationTest( |
2116 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2055 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2117 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2056 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2118 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2057 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2119 | 2058 |
2120 MockQuicData socket_data; | 2059 MockQuicData socket_data; |
2121 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2060 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2122 socket_data.AddWrite( | 2061 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2123 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2124 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2125 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2062 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2126 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2063 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
2127 socket_data.AddSocketDataToFactory(&socket_factory_); | 2064 socket_data.AddSocketDataToFactory(&socket_factory_); |
2128 | 2065 |
2129 // Create request and QuicHttpStream. | 2066 // Create request and QuicHttpStream. |
2130 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2067 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2131 EXPECT_EQ(ERR_IO_PENDING, | 2068 EXPECT_EQ(ERR_IO_PENDING, |
2132 request.Request(host_port_pair_, privacy_mode_, | 2069 request.Request(host_port_pair_, privacy_mode_, |
2133 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2070 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2134 callback_.callback())); | 2071 callback_.callback())); |
(...skipping 28 matching lines...) Expand all Loading... |
2163 } | 2100 } |
2164 | 2101 |
2165 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultConnectionMigrationDisabled) { | 2102 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultConnectionMigrationDisabled) { |
2166 InitializeConnectionMigrationTest( | 2103 InitializeConnectionMigrationTest( |
2167 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2104 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2168 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2105 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2169 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2106 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2170 | 2107 |
2171 MockQuicData socket_data; | 2108 MockQuicData socket_data; |
2172 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2109 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2173 socket_data.AddWrite( | 2110 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2174 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2175 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2176 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2111 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2177 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2112 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
2178 socket_data.AddSocketDataToFactory(&socket_factory_); | 2113 socket_data.AddSocketDataToFactory(&socket_factory_); |
2179 | 2114 |
2180 // Create request and QuicHttpStream. | 2115 // Create request and QuicHttpStream. |
2181 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2116 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2182 EXPECT_EQ(ERR_IO_PENDING, | 2117 EXPECT_EQ(ERR_IO_PENDING, |
2183 request.Request(host_port_pair_, privacy_mode_, | 2118 request.Request(host_port_pair_, privacy_mode_, |
2184 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2119 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2185 callback_.callback())); | 2120 callback_.callback())); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2217 } | 2152 } |
2218 | 2153 |
2219 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNonMigratableStream) { | 2154 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNonMigratableStream) { |
2220 InitializeConnectionMigrationTest( | 2155 InitializeConnectionMigrationTest( |
2221 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2156 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2222 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2157 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2223 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2158 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2224 | 2159 |
2225 MockQuicData socket_data; | 2160 MockQuicData socket_data; |
2226 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2161 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2227 socket_data.AddWrite( | 2162 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2228 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2229 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2230 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2163 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2231 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); | 2164 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
2232 socket_data.AddSocketDataToFactory(&socket_factory_); | 2165 socket_data.AddSocketDataToFactory(&socket_factory_); |
2233 | 2166 |
2234 // Create request and QuicHttpStream. | 2167 // Create request and QuicHttpStream. |
2235 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2168 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2236 EXPECT_EQ(ERR_IO_PENDING, | 2169 EXPECT_EQ(ERR_IO_PENDING, |
2237 request.Request(host_port_pair_, privacy_mode_, | 2170 request.Request(host_port_pair_, privacy_mode_, |
2238 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2171 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2239 callback_.callback())); | 2172 callback_.callback())); |
(...skipping 27 matching lines...) Expand all Loading... |
2267 | 2200 |
2268 TEST_P(QuicStreamFactoryTest, | 2201 TEST_P(QuicStreamFactoryTest, |
2269 OnNetworkDisconnectedConnectionMigrationDisabled) { | 2202 OnNetworkDisconnectedConnectionMigrationDisabled) { |
2270 InitializeConnectionMigrationTest( | 2203 InitializeConnectionMigrationTest( |
2271 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2204 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2272 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2205 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2273 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2206 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2274 | 2207 |
2275 MockQuicData socket_data; | 2208 MockQuicData socket_data; |
2276 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2209 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2277 socket_data.AddWrite( | 2210 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2278 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2279 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2280 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2211 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2281 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); | 2212 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
2282 socket_data.AddSocketDataToFactory(&socket_factory_); | 2213 socket_data.AddSocketDataToFactory(&socket_factory_); |
2283 | 2214 |
2284 // Create request and QuicHttpStream. | 2215 // Create request and QuicHttpStream. |
2285 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2216 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2286 EXPECT_EQ(ERR_IO_PENDING, | 2217 EXPECT_EQ(ERR_IO_PENDING, |
2287 request.Request(host_port_pair_, privacy_mode_, | 2218 request.Request(host_port_pair_, privacy_mode_, |
2288 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2219 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2289 callback_.callback())); | 2220 callback_.callback())); |
(...skipping 29 matching lines...) Expand all Loading... |
2319 } | 2250 } |
2320 | 2251 |
2321 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNoOpenStreams) { | 2252 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNoOpenStreams) { |
2322 InitializeConnectionMigrationTest( | 2253 InitializeConnectionMigrationTest( |
2323 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2254 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2324 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2255 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2325 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2256 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2326 | 2257 |
2327 MockQuicData socket_data; | 2258 MockQuicData socket_data; |
2328 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2259 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2329 socket_data.AddWrite( | 2260 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2330 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2331 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2332 socket_data.AddSocketDataToFactory(&socket_factory_); | 2261 socket_data.AddSocketDataToFactory(&socket_factory_); |
2333 | 2262 |
2334 // Create request and QuicHttpStream. | 2263 // Create request and QuicHttpStream. |
2335 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2264 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2336 EXPECT_EQ(ERR_IO_PENDING, | 2265 EXPECT_EQ(ERR_IO_PENDING, |
2337 request.Request(host_port_pair_, privacy_mode_, | 2266 request.Request(host_port_pair_, privacy_mode_, |
2338 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2267 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2339 callback_.callback())); | 2268 callback_.callback())); |
2340 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2269 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2341 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2270 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 17 matching lines...) Expand all Loading... |
2359 } | 2288 } |
2360 | 2289 |
2361 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNoOpenStreams) { | 2290 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNoOpenStreams) { |
2362 InitializeConnectionMigrationTest( | 2291 InitializeConnectionMigrationTest( |
2363 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2292 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2364 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2293 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2365 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2294 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2366 | 2295 |
2367 MockQuicData socket_data; | 2296 MockQuicData socket_data; |
2368 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2297 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2369 socket_data.AddWrite( | 2298 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2370 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2371 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2372 socket_data.AddSocketDataToFactory(&socket_factory_); | 2299 socket_data.AddSocketDataToFactory(&socket_factory_); |
2373 | 2300 |
2374 // Create request and QuicHttpStream. | 2301 // Create request and QuicHttpStream. |
2375 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2302 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2376 EXPECT_EQ(ERR_IO_PENDING, | 2303 EXPECT_EQ(ERR_IO_PENDING, |
2377 request.Request(host_port_pair_, privacy_mode_, | 2304 request.Request(host_port_pair_, privacy_mode_, |
2378 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2305 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2379 callback_.callback())); | 2306 callback_.callback())); |
2380 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2307 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2381 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2308 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 18 matching lines...) Expand all Loading... |
2400 | 2327 |
2401 TEST_P(QuicStreamFactoryTest, OnNetworkChangeDisconnectedPauseBeforeConnected) { | 2328 TEST_P(QuicStreamFactoryTest, OnNetworkChangeDisconnectedPauseBeforeConnected) { |
2402 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2329 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
2403 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2330 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2404 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2331 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2405 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2332 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2406 | 2333 |
2407 MockQuicData socket_data; | 2334 MockQuicData socket_data; |
2408 QuicStreamOffset header_stream_offset = 0; | 2335 QuicStreamOffset header_stream_offset = 0; |
2409 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2336 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2410 socket_data.AddWrite(ConstructSettingsPacket( | 2337 socket_data.AddWrite( |
2411 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2338 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
2412 &header_stream_offset)); | |
2413 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2339 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
2414 true, &header_stream_offset)); | 2340 true, &header_stream_offset)); |
2415 socket_data.AddSocketDataToFactory(&socket_factory_); | 2341 socket_data.AddSocketDataToFactory(&socket_factory_); |
2416 | 2342 |
2417 // Create request and QuicHttpStream. | 2343 // Create request and QuicHttpStream. |
2418 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2344 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2419 EXPECT_EQ(ERR_IO_PENDING, | 2345 EXPECT_EQ(ERR_IO_PENDING, |
2420 request.Request(host_port_pair_, privacy_mode_, | 2346 request.Request(host_port_pair_, privacy_mode_, |
2421 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2347 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2422 callback_.callback())); | 2348 callback_.callback())); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2481 // packet reader. | 2407 // packet reader. |
2482 base::RunLoop().RunUntilIdle(); | 2408 base::RunLoop().RunUntilIdle(); |
2483 | 2409 |
2484 // Response headers are received over the new network. | 2410 // Response headers are received over the new network. |
2485 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2411 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2486 EXPECT_EQ(200, response.headers->response_code()); | 2412 EXPECT_EQ(200, response.headers->response_code()); |
2487 | 2413 |
2488 // Create a new request and verify that a new session is created. | 2414 // Create a new request and verify that a new session is created. |
2489 MockQuicData socket_data2; | 2415 MockQuicData socket_data2; |
2490 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2416 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2491 socket_data2.AddWrite( | 2417 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
2492 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2493 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2494 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2418 socket_data2.AddSocketDataToFactory(&socket_factory_); |
2495 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2419 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
2496 EXPECT_EQ(ERR_IO_PENDING, | 2420 EXPECT_EQ(ERR_IO_PENDING, |
2497 request2.Request(host_port_pair_, privacy_mode_, | 2421 request2.Request(host_port_pair_, privacy_mode_, |
2498 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2422 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2499 callback_.callback())); | 2423 callback_.callback())); |
2500 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2424 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2501 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2425 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
2502 EXPECT_TRUE(stream2.get()); | 2426 EXPECT_TRUE(stream2.get()); |
2503 | 2427 |
2504 EXPECT_TRUE(HasActiveSession(host_port_pair_)); | 2428 EXPECT_TRUE(HasActiveSession(host_port_pair_)); |
2505 EXPECT_NE(session, GetActiveSession(host_port_pair_)); | 2429 EXPECT_NE(session, GetActiveSession(host_port_pair_)); |
2506 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); | 2430 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); |
2507 | 2431 |
2508 stream.reset(); | 2432 stream.reset(); |
2509 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 2433 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
2510 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 2434 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
2511 EXPECT_TRUE(socket_data1.AllReadDataConsumed()); | 2435 EXPECT_TRUE(socket_data1.AllReadDataConsumed()); |
2512 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); | 2436 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); |
2513 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 2437 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); |
2514 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 2438 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
2515 } | 2439 } |
2516 | 2440 |
2517 TEST_P(QuicStreamFactoryTest, | 2441 TEST_P(QuicStreamFactoryTest, |
2518 OnNetworkChangeDisconnectedPauseBeforeConnectedMultipleSessions) { | 2442 OnNetworkChangeDisconnectedPauseBeforeConnectedMultipleSessions) { |
2519 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2443 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
2520 | 2444 |
2521 MockQuicData socket_data1; | 2445 MockQuicData socket_data1; |
2522 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2446 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2523 socket_data1.AddWrite( | 2447 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
2524 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2525 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2526 socket_data1.AddWrite(ASYNC, OK); | 2448 socket_data1.AddWrite(ASYNC, OK); |
2527 socket_data1.AddSocketDataToFactory(&socket_factory_); | 2449 socket_data1.AddSocketDataToFactory(&socket_factory_); |
2528 MockQuicData socket_data2; | 2450 MockQuicData socket_data2; |
2529 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2451 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2530 socket_data2.AddWrite( | 2452 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
2531 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2532 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2533 socket_data2.AddWrite(ASYNC, OK); | 2453 socket_data2.AddWrite(ASYNC, OK); |
2534 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2454 socket_data2.AddSocketDataToFactory(&socket_factory_); |
2535 | 2455 |
2536 HostPortPair server1(kDefaultServerHostName, 443); | 2456 HostPortPair server1(kDefaultServerHostName, 443); |
2537 HostPortPair server2(kServer2HostName, 443); | 2457 HostPortPair server2(kServer2HostName, 443); |
2538 | 2458 |
2539 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2459 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2540 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2460 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2541 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2461 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2542 | 2462 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2623 TEST_P(QuicStreamFactoryTest, MigrateSessionEarly) { | 2543 TEST_P(QuicStreamFactoryTest, MigrateSessionEarly) { |
2624 InitializeConnectionMigrationTest( | 2544 InitializeConnectionMigrationTest( |
2625 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2545 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2626 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2627 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2628 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2548 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2629 | 2549 |
2630 MockQuicData socket_data; | 2550 MockQuicData socket_data; |
2631 QuicStreamOffset header_stream_offset = 0; | 2551 QuicStreamOffset header_stream_offset = 0; |
2632 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2552 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2633 socket_data.AddWrite(ConstructSettingsPacket( | 2553 socket_data.AddWrite( |
2634 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2554 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
2635 &header_stream_offset)); | |
2636 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2555 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
2637 true, &header_stream_offset)); | 2556 true, &header_stream_offset)); |
2638 socket_data.AddSocketDataToFactory(&socket_factory_); | 2557 socket_data.AddSocketDataToFactory(&socket_factory_); |
2639 | 2558 |
2640 // Create request and QuicHttpStream. | 2559 // Create request and QuicHttpStream. |
2641 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2560 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2642 EXPECT_EQ(ERR_IO_PENDING, | 2561 EXPECT_EQ(ERR_IO_PENDING, |
2643 request.Request(host_port_pair_, privacy_mode_, | 2562 request.Request(host_port_pair_, privacy_mode_, |
2644 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2563 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2645 callback_.callback())); | 2564 callback_.callback())); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2691 | 2610 |
2692 // Verify that response headers on the migrated socket were delivered to the | 2611 // Verify that response headers on the migrated socket were delivered to the |
2693 // stream. | 2612 // stream. |
2694 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 2613 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
2695 EXPECT_EQ(200, response.headers->response_code()); | 2614 EXPECT_EQ(200, response.headers->response_code()); |
2696 | 2615 |
2697 // Create a new request for the same destination and verify that a | 2616 // Create a new request for the same destination and verify that a |
2698 // new session is created. | 2617 // new session is created. |
2699 MockQuicData socket_data2; | 2618 MockQuicData socket_data2; |
2700 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2619 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2701 socket_data2.AddWrite( | 2620 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
2702 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2703 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2704 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2621 socket_data2.AddSocketDataToFactory(&socket_factory_); |
2705 | 2622 |
2706 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2623 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
2707 EXPECT_EQ(ERR_IO_PENDING, | 2624 EXPECT_EQ(ERR_IO_PENDING, |
2708 request2.Request(host_port_pair_, privacy_mode_, | 2625 request2.Request(host_port_pair_, privacy_mode_, |
2709 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2626 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2710 callback_.callback())); | 2627 callback_.callback())); |
2711 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2628 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2712 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2629 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
2713 EXPECT_TRUE(stream2.get()); | 2630 EXPECT_TRUE(stream2.get()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2750 // the old connection on the migrated socket. | 2667 // the old connection on the migrated socket. |
2751 InitializeConnectionMigrationTest( | 2668 InitializeConnectionMigrationTest( |
2752 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2669 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2753 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2670 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2754 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2671 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2755 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2672 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2756 | 2673 |
2757 MockQuicData socket_data; | 2674 MockQuicData socket_data; |
2758 QuicStreamOffset header_stream_offset = 0; | 2675 QuicStreamOffset header_stream_offset = 0; |
2759 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2676 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2760 socket_data.AddWrite(ConstructSettingsPacket( | 2677 socket_data.AddWrite( |
2761 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2678 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
2762 &header_stream_offset)); | |
2763 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2679 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
2764 true, &header_stream_offset)); | 2680 true, &header_stream_offset)); |
2765 socket_data.AddSocketDataToFactory(&socket_factory_); | 2681 socket_data.AddSocketDataToFactory(&socket_factory_); |
2766 | 2682 |
2767 // Create request and QuicHttpStream. | 2683 // Create request and QuicHttpStream. |
2768 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2684 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2769 EXPECT_EQ(ERR_IO_PENDING, | 2685 EXPECT_EQ(ERR_IO_PENDING, |
2770 request.Request(host_port_pair_, privacy_mode_, | 2686 request.Request(host_port_pair_, privacy_mode_, |
2771 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2687 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2772 callback_.callback())); | 2688 callback_.callback())); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2820 | 2736 |
2821 // Verify that response headers on the migrated socket were delivered to the | 2737 // Verify that response headers on the migrated socket were delivered to the |
2822 // stream. | 2738 // stream. |
2823 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 2739 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
2824 EXPECT_EQ(200, response.headers->response_code()); | 2740 EXPECT_EQ(200, response.headers->response_code()); |
2825 | 2741 |
2826 // Create a new request for the same destination and verify that a | 2742 // Create a new request for the same destination and verify that a |
2827 // new session is created. | 2743 // new session is created. |
2828 MockQuicData socket_data2; | 2744 MockQuicData socket_data2; |
2829 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2745 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2830 socket_data2.AddWrite( | 2746 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
2831 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2832 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2833 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2747 socket_data2.AddSocketDataToFactory(&socket_factory_); |
2834 | 2748 |
2835 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2749 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
2836 EXPECT_EQ(ERR_IO_PENDING, | 2750 EXPECT_EQ(ERR_IO_PENDING, |
2837 request2.Request(host_port_pair_, privacy_mode_, | 2751 request2.Request(host_port_pair_, privacy_mode_, |
2838 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2752 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2839 callback_.callback())); | 2753 callback_.callback())); |
2840 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2754 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
2841 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2755 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
2842 EXPECT_TRUE(stream2.get()); | 2756 EXPECT_TRUE(stream2.get()); |
(...skipping 29 matching lines...) Expand all Loading... |
2872 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 2786 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
2873 } | 2787 } |
2874 | 2788 |
2875 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNoNewNetwork) { | 2789 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNoNewNetwork) { |
2876 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2790 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
2877 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2791 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2878 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2792 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2879 | 2793 |
2880 MockQuicData socket_data; | 2794 MockQuicData socket_data; |
2881 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2795 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2882 socket_data.AddWrite( | 2796 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2883 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2884 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2885 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2797 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2886 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2798 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
2887 socket_data.AddSocketDataToFactory(&socket_factory_); | 2799 socket_data.AddSocketDataToFactory(&socket_factory_); |
2888 | 2800 |
2889 // Create request and QuicHttpStream. | 2801 // Create request and QuicHttpStream. |
2890 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2802 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2891 EXPECT_EQ(ERR_IO_PENDING, | 2803 EXPECT_EQ(ERR_IO_PENDING, |
2892 request.Request(host_port_pair_, privacy_mode_, | 2804 request.Request(host_port_pair_, privacy_mode_, |
2893 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2805 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2894 callback_.callback())); | 2806 callback_.callback())); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2926 } | 2838 } |
2927 | 2839 |
2928 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNonMigratableStream) { | 2840 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNonMigratableStream) { |
2929 InitializeConnectionMigrationTest( | 2841 InitializeConnectionMigrationTest( |
2930 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2842 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2931 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2843 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2932 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2844 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2933 | 2845 |
2934 MockQuicData socket_data; | 2846 MockQuicData socket_data; |
2935 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2847 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2936 socket_data.AddWrite( | 2848 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2937 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2938 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2939 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2849 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2940 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2850 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
2941 socket_data.AddSocketDataToFactory(&socket_factory_); | 2851 socket_data.AddSocketDataToFactory(&socket_factory_); |
2942 | 2852 |
2943 // Create request and QuicHttpStream. | 2853 // Create request and QuicHttpStream. |
2944 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2854 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2945 EXPECT_EQ(ERR_IO_PENDING, | 2855 EXPECT_EQ(ERR_IO_PENDING, |
2946 request.Request(host_port_pair_, privacy_mode_, | 2856 request.Request(host_port_pair_, privacy_mode_, |
2947 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2857 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
2948 callback_.callback())); | 2858 callback_.callback())); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2980 } | 2890 } |
2981 | 2891 |
2982 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyConnectionMigrationDisabled) { | 2892 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyConnectionMigrationDisabled) { |
2983 InitializeConnectionMigrationTest( | 2893 InitializeConnectionMigrationTest( |
2984 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2894 {kDefaultNetworkForTests, kNewNetworkForTests}); |
2985 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2895 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
2986 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2896 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
2987 | 2897 |
2988 MockQuicData socket_data; | 2898 MockQuicData socket_data; |
2989 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2899 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
2990 socket_data.AddWrite( | 2900 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
2991 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
2992 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
2993 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2901 socket_data.AddWrite(client_maker_.MakeRstPacket( |
2994 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2902 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
2995 socket_data.AddSocketDataToFactory(&socket_factory_); | 2903 socket_data.AddSocketDataToFactory(&socket_factory_); |
2996 | 2904 |
2997 // Create request and QuicHttpStream. | 2905 // Create request and QuicHttpStream. |
2998 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2906 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
2999 EXPECT_EQ(ERR_IO_PENDING, | 2907 EXPECT_EQ(ERR_IO_PENDING, |
3000 request.Request(host_port_pair_, privacy_mode_, | 2908 request.Request(host_port_pair_, privacy_mode_, |
3001 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2909 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3002 callback_.callback())); | 2910 callback_.callback())); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3040 IoMode write_error_mode) { | 2948 IoMode write_error_mode) { |
3041 InitializeConnectionMigrationTest( | 2949 InitializeConnectionMigrationTest( |
3042 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2950 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3043 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2951 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3044 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2952 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3045 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2953 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3046 | 2954 |
3047 MockQuicData socket_data; | 2955 MockQuicData socket_data; |
3048 QuicStreamOffset header_stream_offset = 0; | 2956 QuicStreamOffset header_stream_offset = 0; |
3049 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2957 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3050 socket_data.AddWrite(ConstructSettingsPacket( | 2958 socket_data.AddWrite( |
3051 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2959 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3052 &header_stream_offset)); | |
3053 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 2960 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
3054 socket_data.AddSocketDataToFactory(&socket_factory_); | 2961 socket_data.AddSocketDataToFactory(&socket_factory_); |
3055 | 2962 |
3056 // Create request and QuicHttpStream. | 2963 // Create request and QuicHttpStream. |
3057 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2964 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3058 EXPECT_EQ(ERR_IO_PENDING, | 2965 EXPECT_EQ(ERR_IO_PENDING, |
3059 request.Request(host_port_pair_, privacy_mode_, | 2966 request.Request(host_port_pair_, privacy_mode_, |
3060 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2967 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3061 callback_.callback())); | 2968 callback_.callback())); |
3062 EXPECT_EQ(OK, callback_.WaitForResult()); | 2969 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3130 IoMode write_error_mode) { | 3037 IoMode write_error_mode) { |
3131 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3038 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
3132 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3039 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3133 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3040 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3134 | 3041 |
3135 // Use the test task runner, to force the migration alarm timeout later. | 3042 // Use the test task runner, to force the migration alarm timeout later. |
3136 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 3043 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
3137 | 3044 |
3138 MockQuicData socket_data; | 3045 MockQuicData socket_data; |
3139 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3046 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3140 socket_data.AddWrite( | 3047 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
3141 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
3142 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
3143 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3048 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
3144 socket_data.AddSocketDataToFactory(&socket_factory_); | 3049 socket_data.AddSocketDataToFactory(&socket_factory_); |
3145 | 3050 |
3146 // Create request and QuicHttpStream. | 3051 // Create request and QuicHttpStream. |
3147 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3052 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3148 EXPECT_EQ(ERR_IO_PENDING, | 3053 EXPECT_EQ(ERR_IO_PENDING, |
3149 request.Request(host_port_pair_, privacy_mode_, | 3054 request.Request(host_port_pair_, privacy_mode_, |
3150 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3055 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3151 callback_.callback())); | 3056 callback_.callback())); |
3152 EXPECT_EQ(OK, callback_.WaitForResult()); | 3057 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3221 IoMode write_error_mode) { | 3126 IoMode write_error_mode) { |
3222 DVLOG(1) << "Mode: " | 3127 DVLOG(1) << "Mode: " |
3223 << ((write_error_mode == SYNCHRONOUS) ? "SYNCHRONOUS" : "ASYNC"); | 3128 << ((write_error_mode == SYNCHRONOUS) ? "SYNCHRONOUS" : "ASYNC"); |
3224 InitializeConnectionMigrationTest( | 3129 InitializeConnectionMigrationTest( |
3225 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3130 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3226 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3131 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3227 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3132 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3228 | 3133 |
3229 MockQuicData socket_data; | 3134 MockQuicData socket_data; |
3230 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3135 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3231 socket_data.AddWrite( | 3136 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
3232 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
3233 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
3234 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3137 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
3235 socket_data.AddSocketDataToFactory(&socket_factory_); | 3138 socket_data.AddSocketDataToFactory(&socket_factory_); |
3236 | 3139 |
3237 // Create request and QuicHttpStream. | 3140 // Create request and QuicHttpStream. |
3238 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3141 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3239 EXPECT_EQ(ERR_IO_PENDING, | 3142 EXPECT_EQ(ERR_IO_PENDING, |
3240 request.Request(host_port_pair_, privacy_mode_, | 3143 request.Request(host_port_pair_, privacy_mode_, |
3241 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3144 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3242 callback_.callback())); | 3145 callback_.callback())); |
3243 EXPECT_EQ(OK, callback_.WaitForResult()); | 3146 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3287 | 3190 |
3288 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorMigrationDisabled( | 3191 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorMigrationDisabled( |
3289 IoMode write_error_mode) { | 3192 IoMode write_error_mode) { |
3290 InitializeConnectionMigrationTest( | 3193 InitializeConnectionMigrationTest( |
3291 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3194 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3292 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3195 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3293 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3196 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3294 | 3197 |
3295 MockQuicData socket_data; | 3198 MockQuicData socket_data; |
3296 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3199 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3297 socket_data.AddWrite( | 3200 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
3298 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
3299 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
3300 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3201 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
3301 socket_data.AddSocketDataToFactory(&socket_factory_); | 3202 socket_data.AddSocketDataToFactory(&socket_factory_); |
3302 | 3203 |
3303 // Create request and QuicHttpStream. | 3204 // Create request and QuicHttpStream. |
3304 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3205 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3305 EXPECT_EQ(ERR_IO_PENDING, | 3206 EXPECT_EQ(ERR_IO_PENDING, |
3306 request.Request(host_port_pair_, privacy_mode_, | 3207 request.Request(host_port_pair_, privacy_mode_, |
3307 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3208 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3308 callback_.callback())); | 3209 callback_.callback())); |
3309 EXPECT_EQ(OK, callback_.WaitForResult()); | 3210 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3363 | 3264 |
3364 // Set up kMaxReadersPerQuicSession socket data providers, since | 3265 // Set up kMaxReadersPerQuicSession socket data providers, since |
3365 // migration will cause kMaxReadersPerQuicSession write failures as | 3266 // migration will cause kMaxReadersPerQuicSession write failures as |
3366 // the session hops repeatedly between the two networks. | 3267 // the session hops repeatedly between the two networks. |
3367 MockQuicData socket_data[kMaxReadersPerQuicSession + 1]; | 3268 MockQuicData socket_data[kMaxReadersPerQuicSession + 1]; |
3368 for (int i = 0; i <= kMaxReadersPerQuicSession; ++i) { | 3269 for (int i = 0; i <= kMaxReadersPerQuicSession; ++i) { |
3369 // The last socket is created but never used. | 3270 // The last socket is created but never used. |
3370 if (i < kMaxReadersPerQuicSession) { | 3271 if (i < kMaxReadersPerQuicSession) { |
3371 socket_data[i].AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3272 socket_data[i].AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3372 if (i == 0) { | 3273 if (i == 0) { |
3373 socket_data[i].AddWrite(ConstructSettingsPacket( | 3274 socket_data[i].AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
3374 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | |
3375 nullptr)); | |
3376 } | 3275 } |
3377 socket_data[i].AddWrite( | 3276 socket_data[i].AddWrite( |
3378 (i % 2 == 0) ? first_write_error_mode : second_write_error_mode, | 3277 (i % 2 == 0) ? first_write_error_mode : second_write_error_mode, |
3379 ERR_FAILED); | 3278 ERR_FAILED); |
3380 } | 3279 } |
3381 socket_data[i].AddSocketDataToFactory(&socket_factory_); | 3280 socket_data[i].AddSocketDataToFactory(&socket_factory_); |
3382 } | 3281 } |
3383 | 3282 |
3384 // Create request and QuicHttpStream. | 3283 // Create request and QuicHttpStream. |
3385 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3284 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3449 bool disconnected) { | 3348 bool disconnected) { |
3450 InitializeConnectionMigrationTest( | 3349 InitializeConnectionMigrationTest( |
3451 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3350 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3452 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3351 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3453 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3352 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3454 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3353 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3455 | 3354 |
3456 MockQuicData socket_data; | 3355 MockQuicData socket_data; |
3457 QuicStreamOffset header_stream_offset = 0; | 3356 QuicStreamOffset header_stream_offset = 0; |
3458 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3357 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3459 socket_data.AddWrite(ConstructSettingsPacket( | 3358 socket_data.AddWrite( |
3460 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3359 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3461 &header_stream_offset)); | |
3462 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); | 3360 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); |
3463 socket_data.AddSocketDataToFactory(&socket_factory_); | 3361 socket_data.AddSocketDataToFactory(&socket_factory_); |
3464 | 3362 |
3465 // Create request and QuicHttpStream. | 3363 // Create request and QuicHttpStream. |
3466 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3364 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3467 EXPECT_EQ(ERR_IO_PENDING, | 3365 EXPECT_EQ(ERR_IO_PENDING, |
3468 request.Request(host_port_pair_, privacy_mode_, | 3366 request.Request(host_port_pair_, privacy_mode_, |
3469 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3367 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3470 callback_.callback())); | 3368 callback_.callback())); |
3471 EXPECT_EQ(OK, callback_.WaitForResult()); | 3369 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3547 bool disconnected) { | 3445 bool disconnected) { |
3548 InitializeConnectionMigrationTest( | 3446 InitializeConnectionMigrationTest( |
3549 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3447 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3550 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3448 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3551 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3449 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3552 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3450 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3553 | 3451 |
3554 MockQuicData socket_data; | 3452 MockQuicData socket_data; |
3555 QuicStreamOffset header_stream_offset = 0; | 3453 QuicStreamOffset header_stream_offset = 0; |
3556 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3454 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3557 socket_data.AddWrite(ConstructSettingsPacket( | 3455 socket_data.AddWrite( |
3558 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3456 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3559 &header_stream_offset)); | |
3560 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); | 3457 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); |
3561 socket_data.AddSocketDataToFactory(&socket_factory_); | 3458 socket_data.AddSocketDataToFactory(&socket_factory_); |
3562 | 3459 |
3563 // Create request and QuicHttpStream. | 3460 // Create request and QuicHttpStream. |
3564 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3461 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3565 EXPECT_EQ(ERR_IO_PENDING, | 3462 EXPECT_EQ(ERR_IO_PENDING, |
3566 request.Request(host_port_pair_, privacy_mode_, | 3463 request.Request(host_port_pair_, privacy_mode_, |
3567 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3464 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3568 callback_.callback())); | 3465 callback_.callback())); |
3569 EXPECT_EQ(OK, callback_.WaitForResult()); | 3466 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3646 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorPauseBeforeConnected( | 3543 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorPauseBeforeConnected( |
3647 IoMode write_error_mode) { | 3544 IoMode write_error_mode) { |
3648 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3545 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
3649 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3650 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3651 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3548 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3652 | 3549 |
3653 MockQuicData socket_data; | 3550 MockQuicData socket_data; |
3654 QuicStreamOffset header_stream_offset = 0; | 3551 QuicStreamOffset header_stream_offset = 0; |
3655 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3552 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3656 socket_data.AddWrite(ConstructSettingsPacket( | 3553 socket_data.AddWrite( |
3657 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3554 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3658 &header_stream_offset)); | |
3659 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); | 3555 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); |
3660 socket_data.AddSocketDataToFactory(&socket_factory_); | 3556 socket_data.AddSocketDataToFactory(&socket_factory_); |
3661 | 3557 |
3662 // Create request and QuicHttpStream. | 3558 // Create request and QuicHttpStream. |
3663 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3559 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3664 EXPECT_EQ(ERR_IO_PENDING, | 3560 EXPECT_EQ(ERR_IO_PENDING, |
3665 request.Request(host_port_pair_, privacy_mode_, | 3561 request.Request(host_port_pair_, privacy_mode_, |
3666 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3562 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3667 callback_.callback())); | 3563 callback_.callback())); |
3668 EXPECT_EQ(OK, callback_.WaitForResult()); | 3564 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3730 // This is the callback for the response headers that returned | 3626 // This is the callback for the response headers that returned |
3731 // pending previously, because no result was available. Check that | 3627 // pending previously, because no result was available. Check that |
3732 // the result is now available due to the successful migration. | 3628 // the result is now available due to the successful migration. |
3733 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3629 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
3734 EXPECT_EQ(200, response.headers->response_code()); | 3630 EXPECT_EQ(200, response.headers->response_code()); |
3735 | 3631 |
3736 // Create a new request for the same destination and verify that a | 3632 // Create a new request for the same destination and verify that a |
3737 // new session is created. | 3633 // new session is created. |
3738 MockQuicData socket_data2; | 3634 MockQuicData socket_data2; |
3739 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3635 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3740 socket_data2.AddWrite( | 3636 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
3741 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
3742 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
3743 socket_data2.AddSocketDataToFactory(&socket_factory_); | 3637 socket_data2.AddSocketDataToFactory(&socket_factory_); |
3744 | 3638 |
3745 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 3639 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
3746 EXPECT_EQ(ERR_IO_PENDING, | 3640 EXPECT_EQ(ERR_IO_PENDING, |
3747 request2.Request(host_port_pair_, privacy_mode_, | 3641 request2.Request(host_port_pair_, privacy_mode_, |
3748 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3642 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3749 callback_.callback())); | 3643 callback_.callback())); |
3750 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3644 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
3751 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 3645 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
3752 EXPECT_TRUE(stream2.get()); | 3646 EXPECT_TRUE(stream2.get()); |
(...skipping 28 matching lines...) Expand all Loading... |
3781 IoMode write_error_mode, | 3675 IoMode write_error_mode, |
3782 bool disconnected) { | 3676 bool disconnected) { |
3783 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3677 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
3784 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3678 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3785 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3679 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3786 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3680 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3787 | 3681 |
3788 MockQuicData socket_data; | 3682 MockQuicData socket_data; |
3789 QuicStreamOffset header_stream_offset = 0; | 3683 QuicStreamOffset header_stream_offset = 0; |
3790 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3684 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3791 socket_data.AddWrite(ConstructSettingsPacket( | 3685 socket_data.AddWrite( |
3792 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3686 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3793 &header_stream_offset)); | |
3794 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); | 3687 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); |
3795 socket_data.AddSocketDataToFactory(&socket_factory_); | 3688 socket_data.AddSocketDataToFactory(&socket_factory_); |
3796 | 3689 |
3797 // Create request and QuicHttpStream. | 3690 // Create request and QuicHttpStream. |
3798 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3691 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3799 EXPECT_EQ(ERR_IO_PENDING, | 3692 EXPECT_EQ(ERR_IO_PENDING, |
3800 request.Request(host_port_pair_, privacy_mode_, | 3693 request.Request(host_port_pair_, privacy_mode_, |
3801 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3694 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3802 callback_.callback())); | 3695 callback_.callback())); |
3803 EXPECT_EQ(OK, callback_.WaitForResult()); | 3696 EXPECT_EQ(OK, callback_.WaitForResult()); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3873 | 3766 |
3874 // Now deliver a CONNECTED notification. Nothing happens since | 3767 // Now deliver a CONNECTED notification. Nothing happens since |
3875 // migration was already finished earlier. | 3768 // migration was already finished earlier. |
3876 scoped_mock_network_change_notifier_->mock_network_change_notifier() | 3769 scoped_mock_network_change_notifier_->mock_network_change_notifier() |
3877 ->NotifyNetworkConnected(kNewNetworkForTests); | 3770 ->NotifyNetworkConnected(kNewNetworkForTests); |
3878 | 3771 |
3879 // Create a new request for the same destination and verify that a | 3772 // Create a new request for the same destination and verify that a |
3880 // new session is created. | 3773 // new session is created. |
3881 MockQuicData socket_data2; | 3774 MockQuicData socket_data2; |
3882 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3775 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3883 socket_data2.AddWrite( | 3776 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
3884 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
3885 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
3886 socket_data2.AddSocketDataToFactory(&socket_factory_); | 3777 socket_data2.AddSocketDataToFactory(&socket_factory_); |
3887 | 3778 |
3888 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 3779 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
3889 EXPECT_EQ(ERR_IO_PENDING, | 3780 EXPECT_EQ(ERR_IO_PENDING, |
3890 request2.Request(host_port_pair_, privacy_mode_, | 3781 request2.Request(host_port_pair_, privacy_mode_, |
3891 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3782 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3892 callback_.callback())); | 3783 callback_.callback())); |
3893 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3784 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
3894 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 3785 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
3895 EXPECT_TRUE(stream2.get()); | 3786 EXPECT_TRUE(stream2.get()); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3936 // socket but the socket is unusable, such as an ipv4/ipv6 mismatch. | 3827 // socket but the socket is unusable, such as an ipv4/ipv6 mismatch. |
3937 InitializeConnectionMigrationTest( | 3828 InitializeConnectionMigrationTest( |
3938 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3829 {kDefaultNetworkForTests, kNewNetworkForTests}); |
3939 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3830 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
3940 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3831 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3941 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3832 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
3942 | 3833 |
3943 MockQuicData socket_data; | 3834 MockQuicData socket_data; |
3944 QuicStreamOffset header_stream_offset = 0; | 3835 QuicStreamOffset header_stream_offset = 0; |
3945 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3836 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
3946 socket_data.AddWrite(ConstructSettingsPacket( | 3837 socket_data.AddWrite( |
3947 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3838 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
3948 &header_stream_offset)); | |
3949 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 3839 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
3950 true, &header_stream_offset)); | 3840 true, &header_stream_offset)); |
3951 socket_data.AddSocketDataToFactory(&socket_factory_); | 3841 socket_data.AddSocketDataToFactory(&socket_factory_); |
3952 | 3842 |
3953 // Create request and QuicHttpStream. | 3843 // Create request and QuicHttpStream. |
3954 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3844 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
3955 EXPECT_EQ(ERR_IO_PENDING, | 3845 EXPECT_EQ(ERR_IO_PENDING, |
3956 request.Request(host_port_pair_, privacy_mode_, | 3846 request.Request(host_port_pair_, privacy_mode_, |
3957 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3847 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
3958 callback_.callback())); | 3848 callback_.callback())); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4000 allow_server_migration_ = true; | 3890 allow_server_migration_ = true; |
4001 Initialize(); | 3891 Initialize(); |
4002 | 3892 |
4003 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3893 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4004 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3894 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4005 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3895 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4006 | 3896 |
4007 MockQuicData socket_data1; | 3897 MockQuicData socket_data1; |
4008 QuicStreamOffset header_stream_offset = 0; | 3898 QuicStreamOffset header_stream_offset = 0; |
4009 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3899 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4010 socket_data1.AddWrite(ConstructSettingsPacket( | 3900 socket_data1.AddWrite( |
4011 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3901 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
4012 &header_stream_offset)); | |
4013 socket_data1.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 3902 socket_data1.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
4014 true, &header_stream_offset)); | 3903 true, &header_stream_offset)); |
4015 socket_data1.AddSocketDataToFactory(&socket_factory_); | 3904 socket_data1.AddSocketDataToFactory(&socket_factory_); |
4016 | 3905 |
4017 // Create request and QuicHttpStream. | 3906 // Create request and QuicHttpStream. |
4018 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3907 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4019 EXPECT_EQ(ERR_IO_PENDING, | 3908 EXPECT_EQ(ERR_IO_PENDING, |
4020 request.Request(host_port_pair_, privacy_mode_, | 3909 request.Request(host_port_pair_, privacy_mode_, |
4021 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3910 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4022 callback_.callback())); | 3911 callback_.callback())); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4143 | 4032 |
4144 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4033 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4145 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4034 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4146 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4035 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4147 | 4036 |
4148 crypto_client_stream_factory_.SetConfig(config); | 4037 crypto_client_stream_factory_.SetConfig(config); |
4149 | 4038 |
4150 // Set up only socket data provider. | 4039 // Set up only socket data provider. |
4151 MockQuicData socket_data1; | 4040 MockQuicData socket_data1; |
4152 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4041 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4153 socket_data1.AddWrite( | 4042 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
4154 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4155 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4156 socket_data1.AddWrite(client_maker_.MakeRstPacket( | 4043 socket_data1.AddWrite(client_maker_.MakeRstPacket( |
4157 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 4044 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
4158 socket_data1.AddSocketDataToFactory(&socket_factory_); | 4045 socket_data1.AddSocketDataToFactory(&socket_factory_); |
4159 | 4046 |
4160 // Create request and QuicHttpStream. | 4047 // Create request and QuicHttpStream. |
4161 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4048 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4162 EXPECT_EQ(ERR_IO_PENDING, | 4049 EXPECT_EQ(ERR_IO_PENDING, |
4163 request.Request(host_port_pair_, privacy_mode_, | 4050 request.Request(host_port_pair_, privacy_mode_, |
4164 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4051 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4165 callback_.callback())); | 4052 callback_.callback())); |
(...skipping 30 matching lines...) Expand all Loading... |
4196 } | 4083 } |
4197 | 4084 |
4198 TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) { | 4085 TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) { |
4199 Initialize(); | 4086 Initialize(); |
4200 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4087 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4201 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4088 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4202 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4089 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4203 | 4090 |
4204 MockQuicData socket_data; | 4091 MockQuicData socket_data; |
4205 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4092 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4206 socket_data.AddWrite( | 4093 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4207 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4208 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4209 socket_data.AddWrite(ConstructClientRstPacket(2)); | 4094 socket_data.AddWrite(ConstructClientRstPacket(2)); |
4210 socket_data.AddSocketDataToFactory(&socket_factory_); | 4095 socket_data.AddSocketDataToFactory(&socket_factory_); |
4211 | 4096 |
4212 MockQuicData socket_data2; | 4097 MockQuicData socket_data2; |
4213 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4098 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4214 socket_data2.AddWrite( | 4099 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
4215 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4216 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4217 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4100 socket_data2.AddSocketDataToFactory(&socket_factory_); |
4218 | 4101 |
4219 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4102 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4220 EXPECT_EQ(ERR_IO_PENDING, | 4103 EXPECT_EQ(ERR_IO_PENDING, |
4221 request.Request(host_port_pair_, privacy_mode_, | 4104 request.Request(host_port_pair_, privacy_mode_, |
4222 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4105 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4223 callback_.callback())); | 4106 callback_.callback())); |
4224 | 4107 |
4225 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4108 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
4226 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4109 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 26 matching lines...) Expand all Loading... |
4253 } | 4136 } |
4254 | 4137 |
4255 TEST_P(QuicStreamFactoryTest, OnCertDBChanged) { | 4138 TEST_P(QuicStreamFactoryTest, OnCertDBChanged) { |
4256 Initialize(); | 4139 Initialize(); |
4257 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4140 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4258 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4141 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4259 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4142 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4260 | 4143 |
4261 MockQuicData socket_data; | 4144 MockQuicData socket_data; |
4262 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4145 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4263 socket_data.AddWrite( | 4146 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4264 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4265 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4266 socket_data.AddWrite(ConstructClientRstPacket(2)); | 4147 socket_data.AddWrite(ConstructClientRstPacket(2)); |
4267 socket_data.AddSocketDataToFactory(&socket_factory_); | 4148 socket_data.AddSocketDataToFactory(&socket_factory_); |
4268 | 4149 |
4269 MockQuicData socket_data2; | 4150 MockQuicData socket_data2; |
4270 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4151 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4271 socket_data2.AddWrite( | 4152 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
4272 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4273 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4274 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4153 socket_data2.AddSocketDataToFactory(&socket_factory_); |
4275 | 4154 |
4276 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4155 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4277 EXPECT_EQ(ERR_IO_PENDING, | 4156 EXPECT_EQ(ERR_IO_PENDING, |
4278 request.Request(host_port_pair_, privacy_mode_, | 4157 request.Request(host_port_pair_, privacy_mode_, |
4279 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4158 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4280 callback_.callback())); | 4159 callback_.callback())); |
4281 | 4160 |
4282 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4161 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
4283 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4162 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4418 reduced_ping_timeout_seconds_ = 10; | 4297 reduced_ping_timeout_seconds_ = 10; |
4419 Initialize(); | 4298 Initialize(); |
4420 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4299 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4421 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4300 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4422 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4301 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4423 | 4302 |
4424 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 4303 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
4425 | 4304 |
4426 MockQuicData socket_data; | 4305 MockQuicData socket_data; |
4427 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4306 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4428 socket_data.AddWrite( | 4307 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4429 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4430 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4431 socket_data.AddSocketDataToFactory(&socket_factory_); | 4308 socket_data.AddSocketDataToFactory(&socket_factory_); |
4432 | 4309 |
4433 MockQuicData socket_data2; | 4310 MockQuicData socket_data2; |
4434 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4311 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4435 socket_data2.AddWrite( | 4312 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
4436 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4437 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4438 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4313 socket_data2.AddSocketDataToFactory(&socket_factory_); |
4439 | 4314 |
4440 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 4315 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
4441 | 4316 |
4442 crypto_client_stream_factory_.set_handshake_mode( | 4317 crypto_client_stream_factory_.set_handshake_mode( |
4443 MockCryptoClientStream::CONFIRM_HANDSHAKE); | 4318 MockCryptoClientStream::CONFIRM_HANDSHAKE); |
4444 host_resolver_.set_synchronous_mode(true); | 4319 host_resolver_.set_synchronous_mode(true); |
4445 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 4320 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
4446 "192.168.0.1", ""); | 4321 "192.168.0.1", ""); |
4447 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 4322 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4517 // factory is initialized correctly. | 4392 // factory is initialized correctly. |
4518 TEST_P(QuicStreamFactoryTest, MaybeInitializeAlternativeProxyServer) { | 4393 TEST_P(QuicStreamFactoryTest, MaybeInitializeAlternativeProxyServer) { |
4519 VerifyInitialization(true); | 4394 VerifyInitialization(true); |
4520 } | 4395 } |
4521 | 4396 |
4522 TEST_P(QuicStreamFactoryTest, StartCertVerifyJob) { | 4397 TEST_P(QuicStreamFactoryTest, StartCertVerifyJob) { |
4523 Initialize(); | 4398 Initialize(); |
4524 | 4399 |
4525 MockQuicData socket_data; | 4400 MockQuicData socket_data; |
4526 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4401 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4527 socket_data.AddWrite( | 4402 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4528 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4529 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4530 socket_data.AddSocketDataToFactory(&socket_factory_); | 4403 socket_data.AddSocketDataToFactory(&socket_factory_); |
4531 | 4404 |
4532 // Save current state of |race_cert_verification|. | 4405 // Save current state of |race_cert_verification|. |
4533 bool race_cert_verification = | 4406 bool race_cert_verification = |
4534 QuicStreamFactoryPeer::GetRaceCertVerification(factory_.get()); | 4407 QuicStreamFactoryPeer::GetRaceCertVerification(factory_.get()); |
4535 | 4408 |
4536 // Load server config. | 4409 // Load server config. |
4537 HostPortPair host_port_pair(kDefaultServerHostName, kDefaultServerPort); | 4410 HostPortPair host_port_pair(kDefaultServerHostName, kDefaultServerPort); |
4538 QuicServerId quic_server_id(host_port_pair_, privacy_mode_); | 4411 QuicServerId quic_server_id(host_port_pair_, privacy_mode_); |
4539 QuicStreamFactoryPeer::CacheDummyServerConfig(factory_.get(), quic_server_id); | 4412 QuicStreamFactoryPeer::CacheDummyServerConfig(factory_.get(), quic_server_id); |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4668 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 4541 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
4669 } | 4542 } |
4670 | 4543 |
4671 TEST_P(QuicStreamFactoryTest, ServerPushSessionAffinity) { | 4544 TEST_P(QuicStreamFactoryTest, ServerPushSessionAffinity) { |
4672 Initialize(); | 4545 Initialize(); |
4673 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4674 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4675 | 4548 |
4676 MockQuicData socket_data; | 4549 MockQuicData socket_data; |
4677 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4550 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4678 socket_data.AddWrite( | 4551 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4679 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4680 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4681 socket_data.AddSocketDataToFactory(&socket_factory_); | 4552 socket_data.AddSocketDataToFactory(&socket_factory_); |
4682 | 4553 |
4683 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4554 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4684 EXPECT_EQ(ERR_IO_PENDING, | 4555 EXPECT_EQ(ERR_IO_PENDING, |
4685 request.Request(host_port_pair_, privacy_mode_, | 4556 request.Request(host_port_pair_, privacy_mode_, |
4686 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4557 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4687 callback_.callback())); | 4558 callback_.callback())); |
4688 | 4559 |
4689 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4560 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
4690 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4561 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 18 matching lines...) Expand all Loading... |
4709 } | 4580 } |
4710 | 4581 |
4711 TEST_P(QuicStreamFactoryTest, ServerPushPrivacyModeMismatch) { | 4582 TEST_P(QuicStreamFactoryTest, ServerPushPrivacyModeMismatch) { |
4712 Initialize(); | 4583 Initialize(); |
4713 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4584 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4714 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4585 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4715 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4586 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4716 | 4587 |
4717 MockQuicData socket_data1; | 4588 MockQuicData socket_data1; |
4718 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4589 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4719 socket_data1.AddWrite( | 4590 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
4720 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4721 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4722 socket_data1.AddWrite(client_maker_.MakeRstPacket( | 4591 socket_data1.AddWrite(client_maker_.MakeRstPacket( |
4723 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); | 4592 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
4724 socket_data1.AddSocketDataToFactory(&socket_factory_); | 4593 socket_data1.AddSocketDataToFactory(&socket_factory_); |
4725 | 4594 |
4726 MockQuicData socket_data2; | 4595 MockQuicData socket_data2; |
4727 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4596 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4728 socket_data2.AddWrite( | 4597 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
4729 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4730 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4731 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4598 socket_data2.AddSocketDataToFactory(&socket_factory_); |
4732 | 4599 |
4733 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4600 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4734 EXPECT_EQ(ERR_IO_PENDING, | 4601 EXPECT_EQ(ERR_IO_PENDING, |
4735 request.Request(host_port_pair_, privacy_mode_, | 4602 request.Request(host_port_pair_, privacy_mode_, |
4736 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4603 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4737 callback_.callback())); | 4604 callback_.callback())); |
4738 | 4605 |
4739 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4606 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
4740 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4607 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4780 Initialize(); | 4647 Initialize(); |
4781 | 4648 |
4782 HostPortPair destination1("first.example.com", 443); | 4649 HostPortPair destination1("first.example.com", 443); |
4783 HostPortPair destination2("second.example.com", 443); | 4650 HostPortPair destination2("second.example.com", 443); |
4784 | 4651 |
4785 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4652 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4786 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4653 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4787 | 4654 |
4788 MockQuicData socket_data; | 4655 MockQuicData socket_data; |
4789 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4656 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4790 socket_data.AddWrite( | 4657 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4791 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4792 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4793 socket_data.AddSocketDataToFactory(&socket_factory_); | 4658 socket_data.AddSocketDataToFactory(&socket_factory_); |
4794 | 4659 |
4795 QuicStreamRequest request1(factory_.get(), &http_server_properties_); | 4660 QuicStreamRequest request1(factory_.get(), &http_server_properties_); |
4796 EXPECT_EQ(ERR_IO_PENDING, | 4661 EXPECT_EQ(ERR_IO_PENDING, |
4797 request1.Request(destination1, privacy_mode_, | 4662 request1.Request(destination1, privacy_mode_, |
4798 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4663 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4799 callback_.callback())); | 4664 callback_.callback())); |
4800 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4665 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
4801 std::unique_ptr<QuicHttpStream> stream1 = request1.CreateStream(); | 4666 std::unique_ptr<QuicHttpStream> stream1 = request1.CreateStream(); |
4802 EXPECT_TRUE(stream1.get()); | 4667 EXPECT_TRUE(stream1.get()); |
(...skipping 22 matching lines...) Expand all Loading... |
4825 | 4690 |
4826 TEST_P(QuicStreamFactoryTest, ForceHolBlockingEnabled) { | 4691 TEST_P(QuicStreamFactoryTest, ForceHolBlockingEnabled) { |
4827 force_hol_blocking_ = true; | 4692 force_hol_blocking_ = true; |
4828 Initialize(); | 4693 Initialize(); |
4829 | 4694 |
4830 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4695 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
4831 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4696 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4832 | 4697 |
4833 MockQuicData socket_data; | 4698 MockQuicData socket_data; |
4834 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4699 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
4835 socket_data.AddWrite( | 4700 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
4836 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
4837 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
4838 socket_data.AddSocketDataToFactory(&socket_factory_); | 4701 socket_data.AddSocketDataToFactory(&socket_factory_); |
4839 | 4702 |
4840 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4703 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
4841 EXPECT_EQ(ERR_IO_PENDING, | 4704 EXPECT_EQ(ERR_IO_PENDING, |
4842 request.Request(host_port_pair_, privacy_mode_, | 4705 request.Request(host_port_pair_, privacy_mode_, |
4843 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4706 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
4844 callback_.callback())); | 4707 callback_.callback())); |
4845 | 4708 |
4846 EXPECT_EQ(OK, callback_.WaitForResult()); | 4709 EXPECT_EQ(OK, callback_.WaitForResult()); |
4847 | 4710 |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4961 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false)); | 4824 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false)); |
4962 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false)); | 4825 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false)); |
4963 | 4826 |
4964 ProofVerifyDetailsChromium verify_details; | 4827 ProofVerifyDetailsChromium verify_details; |
4965 verify_details.cert_verify_result.verified_cert = cert; | 4828 verify_details.cert_verify_result.verified_cert = cert; |
4966 verify_details.cert_verify_result.is_issued_by_known_root = true; | 4829 verify_details.cert_verify_result.is_issued_by_known_root = true; |
4967 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4830 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
4968 | 4831 |
4969 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4832 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
4970 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4833 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
4971 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4834 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
4972 kDefaultMaxUncompressedHeaderSize, true, | |
4973 nullptr)); | |
4974 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4835 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
4975 settings_packet->length(), 1)}; | 4836 settings_packet->length(), 1)}; |
4976 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4837 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
4977 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4838 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
4978 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4839 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
4979 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4840 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
4980 | 4841 |
4981 QuicStreamRequest request1(factory_.get(), &http_server_properties_); | 4842 QuicStreamRequest request1(factory_.get(), &http_server_properties_); |
4982 EXPECT_EQ(ERR_IO_PENDING, | 4843 EXPECT_EQ(ERR_IO_PENDING, |
4983 request1.Request(destination, privacy_mode_, | 4844 request1.Request(destination, privacy_mode_, |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5031 verify_details1.cert_verify_result.is_issued_by_known_root = true; | 4892 verify_details1.cert_verify_result.is_issued_by_known_root = true; |
5032 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); | 4893 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); |
5033 | 4894 |
5034 ProofVerifyDetailsChromium verify_details2; | 4895 ProofVerifyDetailsChromium verify_details2; |
5035 verify_details2.cert_verify_result.verified_cert = cert; | 4896 verify_details2.cert_verify_result.verified_cert = cert; |
5036 verify_details2.cert_verify_result.is_issued_by_known_root = true; | 4897 verify_details2.cert_verify_result.is_issued_by_known_root = true; |
5037 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); | 4898 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); |
5038 | 4899 |
5039 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4900 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
5040 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4901 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
5041 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4902 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
5042 kDefaultMaxUncompressedHeaderSize, true, | |
5043 nullptr)); | |
5044 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4903 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
5045 settings_packet->length(), 1)}; | 4904 settings_packet->length(), 1)}; |
5046 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4905 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
5047 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4906 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
5048 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4907 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
5049 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4908 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
5050 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( | 4909 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( |
5051 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4910 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
5052 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); | 4911 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); |
5053 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); | 4912 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5116 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), false)); | 4975 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), false)); |
5117 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, false)); | 4976 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, false)); |
5118 | 4977 |
5119 ProofVerifyDetailsChromium verify_details2; | 4978 ProofVerifyDetailsChromium verify_details2; |
5120 verify_details2.cert_verify_result.verified_cert = cert2; | 4979 verify_details2.cert_verify_result.verified_cert = cert2; |
5121 verify_details2.cert_verify_result.is_issued_by_known_root = true; | 4980 verify_details2.cert_verify_result.is_issued_by_known_root = true; |
5122 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); | 4981 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); |
5123 | 4982 |
5124 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4983 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
5125 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4984 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
5126 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4985 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
5127 kDefaultMaxUncompressedHeaderSize, true, | |
5128 nullptr)); | |
5129 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4986 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
5130 settings_packet->length(), 1)}; | 4987 settings_packet->length(), 1)}; |
5131 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4988 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
5132 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4989 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
5133 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4990 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
5134 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4991 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
5135 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( | 4992 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( |
5136 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4993 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
5137 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); | 4994 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); |
5138 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); | 4995 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5214 // Clear all cached states. | 5071 // Clear all cached states. |
5215 factory_->ClearCachedStatesInCryptoConfig( | 5072 factory_->ClearCachedStatesInCryptoConfig( |
5216 base::Callback<bool(const GURL&)>()); | 5073 base::Callback<bool(const GURL&)>()); |
5217 EXPECT_TRUE(test_cases[0].state->certs().empty()); | 5074 EXPECT_TRUE(test_cases[0].state->certs().empty()); |
5218 EXPECT_TRUE(test_cases[1].state->certs().empty()); | 5075 EXPECT_TRUE(test_cases[1].state->certs().empty()); |
5219 EXPECT_TRUE(test_cases[2].state->certs().empty()); | 5076 EXPECT_TRUE(test_cases[2].state->certs().empty()); |
5220 } | 5077 } |
5221 | 5078 |
5222 } // namespace test | 5079 } // namespace test |
5223 } // namespace net | 5080 } // namespace net |
OLD | NEW |