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

Side by Side Diff: net/quic/chromium/bidirectional_stream_quic_impl_unittest.cc

Issue 2838113002: Simplify QUIC tests by adding a MakeInitialSettingsPacket method (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/bidirectional_stream_quic_impl.h" 5 #include "net/quic/chromium/bidirectional_stream_quic_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 std::unique_ptr<QuicReceivedPacket> ConstructServerAckPacket( 649 std::unique_ptr<QuicReceivedPacket> ConstructServerAckPacket(
650 QuicPacketNumber packet_number, 650 QuicPacketNumber packet_number,
651 QuicPacketNumber largest_received, 651 QuicPacketNumber largest_received,
652 QuicPacketNumber smallest_received, 652 QuicPacketNumber smallest_received,
653 QuicPacketNumber least_unacked) { 653 QuicPacketNumber least_unacked) {
654 return server_maker_.MakeAckPacket(packet_number, largest_received, 654 return server_maker_.MakeAckPacket(packet_number, largest_received,
655 smallest_received, least_unacked, 655 smallest_received, least_unacked,
656 !kIncludeCongestionFeedback); 656 !kIncludeCongestionFeedback);
657 } 657 }
658 658
659 std::unique_ptr<QuicReceivedPacket> ConstructSettingsPacket( 659 std::unique_ptr<QuicReceivedPacket> ConstructInitialSettingsPacket(
660 QuicPacketNumber packet_number, 660 QuicPacketNumber packet_number,
661 SpdySettingsIds id,
662 size_t value,
663 QuicStreamOffset* offset) { 661 QuicStreamOffset* offset) {
664 return client_maker_.MakeSettingsPacket(packet_number, id, value, 662 return client_maker_.MakeInitialSettingsPacket(packet_number, offset);
665 kIncludeVersion, offset);
666 } 663 }
667 664
668 void ExpectLoadTimingValid(const LoadTimingInfo& load_timing_info, 665 void ExpectLoadTimingValid(const LoadTimingInfo& load_timing_info,
669 bool session_reused) { 666 bool session_reused) {
670 EXPECT_EQ(session_reused, load_timing_info.socket_reused); 667 EXPECT_EQ(session_reused, load_timing_info.socket_reused);
671 668
672 if (session_reused) { 669 if (session_reused) {
673 ExpectConnectTimingHasNoTimes(load_timing_info.connect_timing); 670 ExpectConnectTimingHasNoTimes(load_timing_info.connect_timing);
674 } else { 671 } else {
675 ExpectConnectTimingHasTimes( 672 ExpectConnectTimingHasTimes(
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 BidirectionalStreamQuicImplTest, 712 BidirectionalStreamQuicImplTest,
716 ::testing::ValuesIn(AllSupportedVersions())); 713 ::testing::ValuesIn(AllSupportedVersions()));
717 714
718 TEST_P(BidirectionalStreamQuicImplTest, GetRequest) { 715 TEST_P(BidirectionalStreamQuicImplTest, GetRequest) {
719 SetRequest("GET", "/", DEFAULT_PRIORITY); 716 SetRequest("GET", "/", DEFAULT_PRIORITY);
720 size_t spdy_request_headers_frame_length; 717 size_t spdy_request_headers_frame_length;
721 QuicStreamOffset header_stream_offset = 0; 718 QuicStreamOffset header_stream_offset = 0;
722 AddWrite(ConstructRequestHeadersPacketInner( 719 AddWrite(ConstructRequestHeadersPacketInner(
723 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY, 720 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY,
724 &spdy_request_headers_frame_length, &header_stream_offset)); 721 &spdy_request_headers_frame_length, &header_stream_offset));
725 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 722 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
726 kDefaultMaxUncompressedHeaderSize,
727 &header_stream_offset));
728 AddWrite(ConstructClientAckPacket(3, 3, 1, 1)); 723 AddWrite(ConstructClientAckPacket(3, 3, 1, 1));
729 724
730 Initialize(); 725 Initialize();
731 726
732 BidirectionalStreamRequestInfo request; 727 BidirectionalStreamRequestInfo request;
733 request.method = "GET"; 728 request.method = "GET";
734 request.url = GURL("http://www.google.com/"); 729 request.url = GURL("http://www.google.com/");
735 request.end_stream_on_headers = true; 730 request.end_stream_on_headers = true;
736 request.priority = DEFAULT_PRIORITY; 731 request.priority = DEFAULT_PRIORITY;
737 732
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 812
818 TEST_P(BidirectionalStreamQuicImplTest, LoadTimingTwoRequests) { 813 TEST_P(BidirectionalStreamQuicImplTest, LoadTimingTwoRequests) {
819 SetRequest("GET", "/", DEFAULT_PRIORITY); 814 SetRequest("GET", "/", DEFAULT_PRIORITY);
820 QuicStreamOffset offset = 0; 815 QuicStreamOffset offset = 0;
821 AddWrite(ConstructRequestHeadersPacketInner( 816 AddWrite(ConstructRequestHeadersPacketInner(
822 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY, nullptr, &offset)); 817 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY, nullptr, &offset));
823 // SetRequest() again for second request as |request_headers_| was moved. 818 // SetRequest() again for second request as |request_headers_| was moved.
824 SetRequest("GET", "/", DEFAULT_PRIORITY); 819 SetRequest("GET", "/", DEFAULT_PRIORITY);
825 AddWrite(ConstructRequestHeadersPacketInner( 820 AddWrite(ConstructRequestHeadersPacketInner(
826 2, kClientDataStreamId2, kFin, DEFAULT_PRIORITY, nullptr, &offset)); 821 2, kClientDataStreamId2, kFin, DEFAULT_PRIORITY, nullptr, &offset));
827 AddWrite(ConstructSettingsPacket(3, SETTINGS_MAX_HEADER_LIST_SIZE, 822 AddWrite(ConstructInitialSettingsPacket(3, &offset));
828 kDefaultMaxUncompressedHeaderSize, &offset));
829 AddWrite(ConstructClientAckPacket(4, 3, 1, 1)); 823 AddWrite(ConstructClientAckPacket(4, 3, 1, 1));
830 Initialize(); 824 Initialize();
831 825
832 BidirectionalStreamRequestInfo request; 826 BidirectionalStreamRequestInfo request;
833 request.method = "GET"; 827 request.method = "GET";
834 request.url = GURL("http://www.google.com/"); 828 request.url = GURL("http://www.google.com/");
835 request.end_stream_on_headers = true; 829 request.end_stream_on_headers = true;
836 request.priority = DEFAULT_PRIORITY; 830 request.priority = DEFAULT_PRIORITY;
837 831
838 // Start first request. 832 // Start first request.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 EXPECT_EQ(OK, delegate->ReadData(dummy_callback.callback())); 874 EXPECT_EQ(OK, delegate->ReadData(dummy_callback.callback()));
881 EXPECT_EQ(OK, delegate2->ReadData(dummy_callback.callback())); 875 EXPECT_EQ(OK, delegate2->ReadData(dummy_callback.callback()));
882 } 876 }
883 877
884 // Tests that when request headers are not delayed, only data buffers are 878 // Tests that when request headers are not delayed, only data buffers are
885 // coalesced. 879 // coalesced.
886 TEST_P(BidirectionalStreamQuicImplTest, CoalesceDataBuffersNotHeadersFrame) { 880 TEST_P(BidirectionalStreamQuicImplTest, CoalesceDataBuffersNotHeadersFrame) {
887 SetRequest("POST", "/", DEFAULT_PRIORITY); 881 SetRequest("POST", "/", DEFAULT_PRIORITY);
888 size_t spdy_request_headers_frame_length; 882 size_t spdy_request_headers_frame_length;
889 QuicStreamOffset header_stream_offset = 0; 883 QuicStreamOffset header_stream_offset = 0;
890 AddWrite(ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, 884 AddWrite(ConstructInitialSettingsPacket(1, &header_stream_offset));
891 kDefaultMaxUncompressedHeaderSize,
892 &header_stream_offset));
893 const char kBody1[] = "here are some data"; 885 const char kBody1[] = "here are some data";
894 const char kBody2[] = "data keep coming"; 886 const char kBody2[] = "data keep coming";
895 std::vector<std::string> two_writes = {kBody1, kBody2}; 887 std::vector<std::string> two_writes = {kBody1, kBody2};
896 AddWrite(ConstructRequestHeadersPacketInner( 888 AddWrite(ConstructRequestHeadersPacketInner(
897 2, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 889 2, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
898 &spdy_request_headers_frame_length, &header_stream_offset)); 890 &spdy_request_headers_frame_length, &header_stream_offset));
899 AddWrite(ConstructClientMultipleDataFramesPacket(3, kIncludeVersion, !kFin, 0, 891 AddWrite(ConstructClientMultipleDataFramesPacket(3, kIncludeVersion, !kFin, 0,
900 {kBody1, kBody2})); 892 {kBody1, kBody2}));
901 // Ack server's data packet. 893 // Ack server's data packet.
902 AddWrite(ConstructClientAckPacket(4, 3, 1, 1)); 894 AddWrite(ConstructClientAckPacket(4, 3, 1, 1));
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 delegate->GetTotalReceivedBytes()); 986 delegate->GetTotalReceivedBytes());
995 } 987 }
996 988
997 // Tests that when request headers are delayed, SendData triggers coalescing of 989 // Tests that when request headers are delayed, SendData triggers coalescing of
998 // request headers with data buffers. 990 // request headers with data buffers.
999 TEST_P(BidirectionalStreamQuicImplTest, 991 TEST_P(BidirectionalStreamQuicImplTest,
1000 SendDataCoalesceDataBufferAndHeaderFrame) { 992 SendDataCoalesceDataBufferAndHeaderFrame) {
1001 SetRequest("POST", "/", DEFAULT_PRIORITY); 993 SetRequest("POST", "/", DEFAULT_PRIORITY);
1002 size_t spdy_request_headers_frame_length; 994 size_t spdy_request_headers_frame_length;
1003 QuicStreamOffset header_stream_offset = 0; 995 QuicStreamOffset header_stream_offset = 0;
1004 AddWrite(ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, 996 AddWrite(ConstructInitialSettingsPacket(1, &header_stream_offset));
1005 kDefaultMaxUncompressedHeaderSize,
1006 &header_stream_offset));
1007 const char kBody1[] = "here are some data"; 997 const char kBody1[] = "here are some data";
1008 AddWrite(ConstructRequestHeadersAndMultipleDataFramesPacket( 998 AddWrite(ConstructRequestHeadersAndMultipleDataFramesPacket(
1009 2, !kFin, DEFAULT_PRIORITY, &header_stream_offset, 999 2, !kFin, DEFAULT_PRIORITY, &header_stream_offset,
1010 &spdy_request_headers_frame_length, {kBody1})); 1000 &spdy_request_headers_frame_length, {kBody1}));
1011 // Ack server's data packet. 1001 // Ack server's data packet.
1012 AddWrite(ConstructClientAckPacket(3, 3, 1, 1)); 1002 AddWrite(ConstructClientAckPacket(3, 3, 1, 1));
1013 const char kBody2[] = "really small"; 1003 const char kBody2[] = "really small";
1014 QuicStreamOffset data_offset = strlen(kBody1); 1004 QuicStreamOffset data_offset = strlen(kBody1);
1015 AddWrite(ConstructClientMultipleDataFramesPacket(4, !kIncludeVersion, kFin, 1005 AddWrite(ConstructClientMultipleDataFramesPacket(4, !kIncludeVersion, kFin,
1016 data_offset, {kBody2})); 1006 data_offset, {kBody2}));
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 delegate->GetTotalReceivedBytes()); 1081 delegate->GetTotalReceivedBytes());
1092 } 1082 }
1093 1083
1094 // Tests that when request headers are delayed, SendvData triggers coalescing of 1084 // Tests that when request headers are delayed, SendvData triggers coalescing of
1095 // request headers with data buffers. 1085 // request headers with data buffers.
1096 TEST_P(BidirectionalStreamQuicImplTest, 1086 TEST_P(BidirectionalStreamQuicImplTest,
1097 SendvDataCoalesceDataBuffersAndHeaderFrame) { 1087 SendvDataCoalesceDataBuffersAndHeaderFrame) {
1098 SetRequest("POST", "/", DEFAULT_PRIORITY); 1088 SetRequest("POST", "/", DEFAULT_PRIORITY);
1099 size_t spdy_request_headers_frame_length; 1089 size_t spdy_request_headers_frame_length;
1100 QuicStreamOffset header_stream_offset = 0; 1090 QuicStreamOffset header_stream_offset = 0;
1101 AddWrite(ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, 1091 AddWrite(ConstructInitialSettingsPacket(1, &header_stream_offset));
1102 kDefaultMaxUncompressedHeaderSize,
1103 &header_stream_offset));
1104 const char kBody1[] = "here are some data"; 1092 const char kBody1[] = "here are some data";
1105 const char kBody2[] = "data keep coming"; 1093 const char kBody2[] = "data keep coming";
1106 std::vector<std::string> two_writes = {kBody1, kBody2}; 1094 std::vector<std::string> two_writes = {kBody1, kBody2};
1107 AddWrite(ConstructRequestHeadersAndMultipleDataFramesPacket( 1095 AddWrite(ConstructRequestHeadersAndMultipleDataFramesPacket(
1108 2, !kFin, DEFAULT_PRIORITY, &header_stream_offset, 1096 2, !kFin, DEFAULT_PRIORITY, &header_stream_offset,
1109 &spdy_request_headers_frame_length, two_writes)); 1097 &spdy_request_headers_frame_length, two_writes));
1110 // Ack server's data packet. 1098 // Ack server's data packet.
1111 AddWrite(ConstructClientAckPacket(3, 3, 1, 1)); 1099 AddWrite(ConstructClientAckPacket(3, 3, 1, 1));
1112 const char kBody3[] = "hello there"; 1100 const char kBody3[] = "hello there";
1113 const char kBody4[] = "another piece of small data"; 1101 const char kBody4[] = "another piece of small data";
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1199 delegate->GetTotalReceivedBytes()); 1187 delegate->GetTotalReceivedBytes());
1200 } 1188 }
1201 1189
1202 TEST_P(BidirectionalStreamQuicImplTest, PostRequest) { 1190 TEST_P(BidirectionalStreamQuicImplTest, PostRequest) {
1203 SetRequest("POST", "/", DEFAULT_PRIORITY); 1191 SetRequest("POST", "/", DEFAULT_PRIORITY);
1204 size_t spdy_request_headers_frame_length; 1192 size_t spdy_request_headers_frame_length;
1205 QuicStreamOffset header_stream_offset = 0; 1193 QuicStreamOffset header_stream_offset = 0;
1206 AddWrite(ConstructRequestHeadersPacketInner( 1194 AddWrite(ConstructRequestHeadersPacketInner(
1207 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1195 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1208 &spdy_request_headers_frame_length, &header_stream_offset)); 1196 &spdy_request_headers_frame_length, &header_stream_offset));
1209 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1197 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1210 kDefaultMaxUncompressedHeaderSize,
1211 &header_stream_offset));
1212 AddWrite(ConstructDataPacket(3, kIncludeVersion, kFin, 0, kUploadData, 1198 AddWrite(ConstructDataPacket(3, kIncludeVersion, kFin, 0, kUploadData,
1213 &client_maker_)); 1199 &client_maker_));
1214 AddWrite(ConstructClientAckPacket(4, 3, 1, 1)); 1200 AddWrite(ConstructClientAckPacket(4, 3, 1, 1));
1215 1201
1216 Initialize(); 1202 Initialize();
1217 1203
1218 BidirectionalStreamRequestInfo request; 1204 BidirectionalStreamRequestInfo request;
1219 request.method = "POST"; 1205 request.method = "POST";
1220 request.url = GURL("http://www.google.com/"); 1206 request.url = GURL("http://www.google.com/");
1221 request.end_stream_on_headers = false; 1207 request.end_stream_on_headers = false;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 } 1346 }
1361 1347
1362 TEST_P(BidirectionalStreamQuicImplTest, InterleaveReadDataAndSendData) { 1348 TEST_P(BidirectionalStreamQuicImplTest, InterleaveReadDataAndSendData) {
1363 SetRequest("POST", "/", DEFAULT_PRIORITY); 1349 SetRequest("POST", "/", DEFAULT_PRIORITY);
1364 size_t spdy_request_headers_frame_length; 1350 size_t spdy_request_headers_frame_length;
1365 QuicStreamOffset header_stream_offset = 0; 1351 QuicStreamOffset header_stream_offset = 0;
1366 AddWrite(ConstructRequestHeadersPacketInner( 1352 AddWrite(ConstructRequestHeadersPacketInner(
1367 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1353 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1368 &spdy_request_headers_frame_length, &header_stream_offset)); 1354 &spdy_request_headers_frame_length, &header_stream_offset));
1369 1355
1370 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1356 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1371 kDefaultMaxUncompressedHeaderSize,
1372 &header_stream_offset));
1373 AddWrite(ConstructAckAndDataPacket(3, !kIncludeVersion, 2, 1, 1, !kFin, 0, 1357 AddWrite(ConstructAckAndDataPacket(3, !kIncludeVersion, 2, 1, 1, !kFin, 0,
1374 kUploadData, &client_maker_)); 1358 kUploadData, &client_maker_));
1375 AddWrite(ConstructAckAndDataPacket(4, !kIncludeVersion, 3, 3, 3, kFin, 1359 AddWrite(ConstructAckAndDataPacket(4, !kIncludeVersion, 3, 3, 3, kFin,
1376 strlen(kUploadData), kUploadData, 1360 strlen(kUploadData), kUploadData,
1377 &client_maker_)); 1361 &client_maker_));
1378 Initialize(); 1362 Initialize();
1379 1363
1380 BidirectionalStreamRequestInfo request; 1364 BidirectionalStreamRequestInfo request;
1381 request.method = "POST"; 1365 request.method = "POST";
1382 request.url = GURL("http://www.google.com/"); 1366 request.url = GURL("http://www.google.com/");
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1450 delegate->GetTotalReceivedBytes()); 1434 delegate->GetTotalReceivedBytes());
1451 } 1435 }
1452 1436
1453 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterHeaders) { 1437 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterHeaders) {
1454 SetRequest("GET", "/", DEFAULT_PRIORITY); 1438 SetRequest("GET", "/", DEFAULT_PRIORITY);
1455 size_t spdy_request_headers_frame_length; 1439 size_t spdy_request_headers_frame_length;
1456 QuicStreamOffset header_stream_offset = 0; 1440 QuicStreamOffset header_stream_offset = 0;
1457 AddWrite(ConstructRequestHeadersPacketInner( 1441 AddWrite(ConstructRequestHeadersPacketInner(
1458 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY, 1442 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY,
1459 &spdy_request_headers_frame_length, &header_stream_offset)); 1443 &spdy_request_headers_frame_length, &header_stream_offset));
1460 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1444 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1461 kDefaultMaxUncompressedHeaderSize,
1462 &header_stream_offset));
1463 Initialize(); 1445 Initialize();
1464 1446
1465 BidirectionalStreamRequestInfo request; 1447 BidirectionalStreamRequestInfo request;
1466 request.method = "GET"; 1448 request.method = "GET";
1467 request.url = GURL("http://www.google.com/"); 1449 request.url = GURL("http://www.google.com/");
1468 request.end_stream_on_headers = true; 1450 request.end_stream_on_headers = true;
1469 request.priority = DEFAULT_PRIORITY; 1451 request.priority = DEFAULT_PRIORITY;
1470 1452
1471 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 1453 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
1472 std::unique_ptr<TestDelegateBase> delegate( 1454 std::unique_ptr<TestDelegateBase> delegate(
(...skipping 20 matching lines...) Expand all
1493 EXPECT_EQ(0, delegate->GetTotalReceivedBytes()); 1475 EXPECT_EQ(0, delegate->GetTotalReceivedBytes());
1494 } 1476 }
1495 1477
1496 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterReadData) { 1478 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterReadData) {
1497 SetRequest("GET", "/", DEFAULT_PRIORITY); 1479 SetRequest("GET", "/", DEFAULT_PRIORITY);
1498 size_t spdy_request_headers_frame_length; 1480 size_t spdy_request_headers_frame_length;
1499 QuicStreamOffset header_stream_offset = 0; 1481 QuicStreamOffset header_stream_offset = 0;
1500 AddWrite(ConstructRequestHeadersPacketInner( 1482 AddWrite(ConstructRequestHeadersPacketInner(
1501 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY, 1483 1, kClientDataStreamId1, kFin, DEFAULT_PRIORITY,
1502 &spdy_request_headers_frame_length, &header_stream_offset)); 1484 &spdy_request_headers_frame_length, &header_stream_offset));
1503 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1485 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1504 kDefaultMaxUncompressedHeaderSize,
1505 &header_stream_offset));
1506 // Why does QUIC ack Rst? Is this expected? 1486 // Why does QUIC ack Rst? Is this expected?
1507 AddWrite(ConstructClientAckPacket(3, 3, 1, 1)); 1487 AddWrite(ConstructClientAckPacket(3, 3, 1, 1));
1508 1488
1509 Initialize(); 1489 Initialize();
1510 1490
1511 BidirectionalStreamRequestInfo request; 1491 BidirectionalStreamRequestInfo request;
1512 request.method = "GET"; 1492 request.method = "GET";
1513 request.url = GURL("http://www.google.com/"); 1493 request.url = GURL("http://www.google.com/");
1514 request.end_stream_on_headers = true; 1494 request.end_stream_on_headers = true;
1515 request.priority = DEFAULT_PRIORITY; 1495 request.priority = DEFAULT_PRIORITY;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1556 delegate->GetTotalReceivedBytes()); 1536 delegate->GetTotalReceivedBytes());
1557 } 1537 }
1558 1538
1559 TEST_P(BidirectionalStreamQuicImplTest, SessionClosedBeforeReadData) { 1539 TEST_P(BidirectionalStreamQuicImplTest, SessionClosedBeforeReadData) {
1560 SetRequest("POST", "/", DEFAULT_PRIORITY); 1540 SetRequest("POST", "/", DEFAULT_PRIORITY);
1561 size_t spdy_request_headers_frame_length; 1541 size_t spdy_request_headers_frame_length;
1562 QuicStreamOffset header_stream_offset = 0; 1542 QuicStreamOffset header_stream_offset = 0;
1563 AddWrite(ConstructRequestHeadersPacketInner( 1543 AddWrite(ConstructRequestHeadersPacketInner(
1564 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1544 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1565 &spdy_request_headers_frame_length, &header_stream_offset)); 1545 &spdy_request_headers_frame_length, &header_stream_offset));
1566 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1546 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1567 kDefaultMaxUncompressedHeaderSize,
1568 &header_stream_offset));
1569 Initialize(); 1547 Initialize();
1570 1548
1571 BidirectionalStreamRequestInfo request; 1549 BidirectionalStreamRequestInfo request;
1572 request.method = "POST"; 1550 request.method = "POST";
1573 request.url = GURL("http://www.google.com/"); 1551 request.url = GURL("http://www.google.com/");
1574 request.end_stream_on_headers = false; 1552 request.end_stream_on_headers = false;
1575 request.priority = DEFAULT_PRIORITY; 1553 request.priority = DEFAULT_PRIORITY;
1576 1554
1577 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 1555 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
1578 std::unique_ptr<TestDelegateBase> delegate( 1556 std::unique_ptr<TestDelegateBase> delegate(
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1618 delegate->GetTotalReceivedBytes()); 1596 delegate->GetTotalReceivedBytes());
1619 } 1597 }
1620 1598
1621 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamAfterReadData) { 1599 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamAfterReadData) {
1622 SetRequest("POST", "/", DEFAULT_PRIORITY); 1600 SetRequest("POST", "/", DEFAULT_PRIORITY);
1623 size_t spdy_request_headers_frame_length; 1601 size_t spdy_request_headers_frame_length;
1624 QuicStreamOffset header_stream_offset = 0; 1602 QuicStreamOffset header_stream_offset = 0;
1625 AddWrite(ConstructRequestHeadersPacketInner( 1603 AddWrite(ConstructRequestHeadersPacketInner(
1626 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1604 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1627 &spdy_request_headers_frame_length, &header_stream_offset)); 1605 &spdy_request_headers_frame_length, &header_stream_offset));
1628 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1606 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1629 kDefaultMaxUncompressedHeaderSize,
1630 &header_stream_offset));
1631 AddWrite(ConstructClientAckAndRstStreamPacket(3, 2, 1, 1)); 1607 AddWrite(ConstructClientAckAndRstStreamPacket(3, 2, 1, 1));
1632 1608
1633 Initialize(); 1609 Initialize();
1634 1610
1635 BidirectionalStreamRequestInfo request; 1611 BidirectionalStreamRequestInfo request;
1636 request.method = "POST"; 1612 request.method = "POST";
1637 request.url = GURL("http://www.google.com/"); 1613 request.url = GURL("http://www.google.com/");
1638 request.end_stream_on_headers = false; 1614 request.end_stream_on_headers = false;
1639 request.priority = DEFAULT_PRIORITY; 1615 request.priority = DEFAULT_PRIORITY;
1640 1616
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 delegate->GetTotalReceivedBytes()); 1650 delegate->GetTotalReceivedBytes());
1675 } 1651 }
1676 1652
1677 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnHeadersReceived) { 1653 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnHeadersReceived) {
1678 SetRequest("POST", "/", DEFAULT_PRIORITY); 1654 SetRequest("POST", "/", DEFAULT_PRIORITY);
1679 size_t spdy_request_headers_frame_length; 1655 size_t spdy_request_headers_frame_length;
1680 QuicStreamOffset header_stream_offset = 0; 1656 QuicStreamOffset header_stream_offset = 0;
1681 AddWrite(ConstructRequestHeadersPacketInner( 1657 AddWrite(ConstructRequestHeadersPacketInner(
1682 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1658 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1683 &spdy_request_headers_frame_length, &header_stream_offset)); 1659 &spdy_request_headers_frame_length, &header_stream_offset));
1684 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1660 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1685 kDefaultMaxUncompressedHeaderSize,
1686 &header_stream_offset));
1687 AddWrite(ConstructClientAckAndRstStreamPacket(3, 2, 1, 1)); 1661 AddWrite(ConstructClientAckAndRstStreamPacket(3, 2, 1, 1));
1688 1662
1689 Initialize(); 1663 Initialize();
1690 1664
1691 BidirectionalStreamRequestInfo request; 1665 BidirectionalStreamRequestInfo request;
1692 request.method = "POST"; 1666 request.method = "POST";
1693 request.url = GURL("http://www.google.com/"); 1667 request.url = GURL("http://www.google.com/");
1694 request.end_stream_on_headers = false; 1668 request.end_stream_on_headers = false;
1695 request.priority = DEFAULT_PRIORITY; 1669 request.priority = DEFAULT_PRIORITY;
1696 1670
(...skipping 25 matching lines...) Expand all
1722 EXPECT_EQ(0, delegate->on_data_sent_count()); 1696 EXPECT_EQ(0, delegate->on_data_sent_count());
1723 } 1697 }
1724 1698
1725 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnDataRead) { 1699 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnDataRead) {
1726 SetRequest("POST", "/", DEFAULT_PRIORITY); 1700 SetRequest("POST", "/", DEFAULT_PRIORITY);
1727 size_t spdy_request_headers_frame_length; 1701 size_t spdy_request_headers_frame_length;
1728 QuicStreamOffset header_stream_offset = 0; 1702 QuicStreamOffset header_stream_offset = 0;
1729 AddWrite(ConstructRequestHeadersPacketInner( 1703 AddWrite(ConstructRequestHeadersPacketInner(
1730 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY, 1704 1, kClientDataStreamId1, !kFin, DEFAULT_PRIORITY,
1731 &spdy_request_headers_frame_length, &header_stream_offset)); 1705 &spdy_request_headers_frame_length, &header_stream_offset));
1732 AddWrite(ConstructSettingsPacket(2, SETTINGS_MAX_HEADER_LIST_SIZE, 1706 AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
1733 kDefaultMaxUncompressedHeaderSize,
1734 &header_stream_offset));
1735 AddWrite(ConstructClientAckPacket(3, 3, 1, 1)); 1707 AddWrite(ConstructClientAckPacket(3, 3, 1, 1));
1736 AddWrite(ConstructClientRstStreamPacket(4)); 1708 AddWrite(ConstructClientRstStreamPacket(4));
1737 1709
1738 Initialize(); 1710 Initialize();
1739 1711
1740 BidirectionalStreamRequestInfo request; 1712 BidirectionalStreamRequestInfo request;
1741 request.method = "POST"; 1713 request.method = "POST";
1742 request.url = GURL("http://www.google.com/"); 1714 request.url = GURL("http://www.google.com/");
1743 request.end_stream_on_headers = false; 1715 request.end_stream_on_headers = false;
1744 request.priority = DEFAULT_PRIORITY; 1716 request.priority = DEFAULT_PRIORITY;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1844 1816
1845 base::RunLoop().RunUntilIdle(); 1817 base::RunLoop().RunUntilIdle();
1846 1818
1847 EXPECT_EQ(1, delegate->on_data_read_count()); 1819 EXPECT_EQ(1, delegate->on_data_read_count());
1848 EXPECT_EQ(0, delegate->on_data_sent_count()); 1820 EXPECT_EQ(0, delegate->on_data_sent_count());
1849 } 1821 }
1850 1822
1851 } // namespace test 1823 } // namespace test
1852 1824
1853 } // namespace net 1825 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_unittest.cc ('k') | net/quic/chromium/quic_chromium_client_session_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698