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

Unified Diff: net/quic/chromium/quic_network_transaction_unittest.cc

Issue 2862563003: Landing Recent QUIC changes until Sat Apr 29 00:22:04 2017 +0000 (Closed)
Patch Set: rebase and fix test bugs detected by swarm bot. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/chromium/quic_http_stream_test.cc ('k') | net/quic/chromium/quic_stream_factory_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/chromium/quic_network_transaction_unittest.cc
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc
index 3020bcc2546466bba65cf8c71329a9386ae2519b..cc8f12cb1cd2d4b4e5c21dc3a55842baafef3283 100644
--- a/net/quic/chromium/quic_network_transaction_unittest.cc
+++ b/net/quic/chromium/quic_network_transaction_unittest.cc
@@ -54,6 +54,7 @@
#include "net/quic/test_tools/crypto_test_utils.h"
#include "net/quic/test_tools/mock_clock.h"
#include "net/quic/test_tools/mock_random.h"
+#include "net/quic/test_tools/quic_spdy_session_peer.h"
#include "net/quic/test_tools/quic_test_utils.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/mock_client_socket_pool_manager.h"
@@ -716,6 +717,14 @@ class QuicNetworkTransactionTest
SendRequestAndExpectHttpResponseFromProxy("hello from http", true, 443);
}
+ QuicStreamId GetNthClientInitiatedStreamId(int n) {
+ return test::GetNthClientInitiatedStreamId(version_, n);
+ }
+
+ QuicStreamId GetNthServerInitiatedStreamId(int n) {
+ return test::GetNthServerInitiatedStreamId(version_, n);
+ }
+
const QuicVersion version_;
QuicFlagSaver flags_; // Save/restore all QUIC flag values.
MockClock clock_;
@@ -778,12 +787,13 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherEnabled) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read
@@ -808,12 +818,13 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherDisabled) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read
@@ -838,12 +849,13 @@ TEST_P(QuicNetworkTransactionTest, ForceQuic) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read
@@ -902,12 +914,13 @@ TEST_P(QuicNetworkTransactionTest, ForceQuicForAll) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read
@@ -930,12 +943,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxy) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "http", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -972,12 +986,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithCert) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "http", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0);
@@ -1025,12 +1040,13 @@ TEST_P(QuicNetworkTransactionTest, AlternativeServicesDifferentHost) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0);
@@ -1067,13 +1083,13 @@ TEST_P(QuicNetworkTransactionTest, RetryMisdirectedRequest) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &request_header_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
- mock_quic_data.AddRead(
- ConstructServerResponseHeadersPacket(1, kClientDataStreamId1, false, true,
- GetResponseHeaders("421"), nullptr));
+ mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
+ 1, GetNthClientInitiatedStreamId(0), false, true,
+ GetResponseHeaders("421"), nullptr));
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket(
- 3, kClientDataStreamId1, QUIC_STREAM_CANCELLED, 1, 1, 1));
+ 3, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 1, 1, 1));
mock_quic_data.AddRead(ASYNC, OK);
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -1178,12 +1194,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuic) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -1216,12 +1233,13 @@ TEST_P(QuicNetworkTransactionTest,
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -1320,12 +1338,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceAllSupportedVersion) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -1345,10 +1364,11 @@ TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
// Read a GoAway packet with
// QuicErrorCode: QUIC_ERROR_MIGRATING_PORT from the peer.
mock_quic_data.AddSynchronousRead(ConstructServerGoAwayPacket(
@@ -1356,9 +1376,9 @@ TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) {
"connection migration with port change only"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddSynchronousRead(ConstructServerDataPacket(
- 3, kClientDataStreamId1, false, true, 0, "hello!"));
+ 3, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket(
- 4, kClientDataStreamId1, QUIC_STREAM_CANCELLED, 3, 3, 1));
+ 4, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 3, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -1416,7 +1436,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) {
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -1506,7 +1526,7 @@ TEST_P(QuicNetworkTransactionTest, TooManyRtosAfterHandshakeConfirmed) {
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -1605,7 +1625,7 @@ TEST_P(QuicNetworkTransactionTest,
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -1614,8 +1634,8 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
- quic_data.AddWrite(client_maker_.MakeRstPacket(3, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 3, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
// TLP 1
quic_data.AddWrite(client_maker_.MakeDataPacket(4, kHeadersStreamId, true,
false, 0, request_data));
@@ -1623,23 +1643,23 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeDataPacket(
5, kHeadersStreamId, true, false, settings_offset, settings_data));
// RTO 1
- quic_data.AddWrite(client_maker_.MakeRstPacket(6, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 6, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
quic_data.AddWrite(client_maker_.MakeDataPacket(7, kHeadersStreamId, true,
false, 0, request_data));
// RTO 2
quic_data.AddWrite(client_maker_.MakeDataPacket(
8, kHeadersStreamId, true, false, settings_offset, settings_data));
- quic_data.AddWrite(client_maker_.MakeRstPacket(9, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 9, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
// RTO 3
quic_data.AddWrite(client_maker_.MakeDataPacket(10, kHeadersStreamId, true,
false, 0, request_data));
quic_data.AddWrite(client_maker_.MakeDataPacket(
11, kHeadersStreamId, true, false, settings_offset, settings_data));
// RTO 4
- quic_data.AddWrite(client_maker_.MakeRstPacket(12, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 12, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true,
false, 0, request_data));
// RTO 5
@@ -1704,7 +1724,7 @@ TEST_P(QuicNetworkTransactionTest, ProtocolErrorAfterHandshakeConfirmed) {
MockQuicData quic_data;
QuicStreamOffset header_stream_offset = 0;
quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
quic_data.AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
// Peer sending data from an non-existing stream causes this end to raise
@@ -1773,7 +1793,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) {
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -1890,7 +1910,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) {
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -2010,7 +2030,7 @@ TEST_P(QuicNetworkTransactionTest,
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -2020,7 +2040,8 @@ TEST_P(QuicNetworkTransactionTest,
2, &header_stream_offset, &settings_data));
quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
// quic_data.AddWrite(ConstructClientAckPacket(3, 1, 1));
quic_data.AddWrite(ConstructClientAckPacket(
3, 1, 1, 1, QuicTime::Delta::FromMilliseconds(25)));
@@ -2121,7 +2142,7 @@ TEST_P(QuicNetworkTransactionTest,
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -2246,7 +2267,7 @@ TEST_P(QuicNetworkTransactionTest,
std::string request_data;
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData(
- 1, kClientDataStreamId1, true, true, priority,
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority,
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset,
&request_data));
@@ -2255,8 +2276,8 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
- quic_data.AddWrite(client_maker_.MakeRstPacket(3, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 3, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
// TLP 1
quic_data.AddWrite(client_maker_.MakeDataPacket(4, kHeadersStreamId, true,
false, 0, request_data));
@@ -2264,23 +2285,23 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeDataPacket(
5, kHeadersStreamId, true, false, settings_offset, settings_data));
// RTO 1
- quic_data.AddWrite(client_maker_.MakeRstPacket(6, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 6, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
quic_data.AddWrite(client_maker_.MakeDataPacket(7, kHeadersStreamId, true,
false, 0, request_data));
// RTO 2
quic_data.AddWrite(client_maker_.MakeDataPacket(
8, kHeadersStreamId, true, false, settings_offset, settings_data));
- quic_data.AddWrite(client_maker_.MakeRstPacket(9, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 9, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
// RTO 3
quic_data.AddWrite(client_maker_.MakeDataPacket(10, kHeadersStreamId, true,
false, 0, request_data));
quic_data.AddWrite(client_maker_.MakeDataPacket(
11, kHeadersStreamId, true, false, settings_offset, settings_data));
// RTO 4
- quic_data.AddWrite(client_maker_.MakeRstPacket(12, true, kClientDataStreamId1,
- QUIC_STREAM_CANCELLED));
+ quic_data.AddWrite(client_maker_.MakeRstPacket(
+ 12, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true,
false, 0, request_data));
// RTO 5
@@ -2350,7 +2371,7 @@ TEST_P(QuicNetworkTransactionTest,
MockQuicData quic_data;
QuicStreamOffset header_stream_offset = 0;
quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
quic_data.AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset));
// Peer sending data from an non-existing stream causes this end to raise
@@ -2476,30 +2497,30 @@ TEST_P(QuicNetworkTransactionTest, UseExistingAlternativeServiceForQuic) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &request_header_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
std::string alt_svc_list =
"quic=\"mail.example.org:444\", quic=\"foo.example.org:443\", "
"quic=\"bar.example.org:445\"";
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false,
+ 1, GetNthClientInitiatedStreamId(0), false, false,
GetResponseHeaders("200 OK", alt_svc_list), &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
// Second QUIC request data.
// Connection pooling, using existing session, no need to include version
// as version negotiation has been completed.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, true,
+ 4, GetNthClientInitiatedStreamId(1), false, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2,
- false, true, 0, "hello!"));
+ 3, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!"));
mock_quic_data.AddWrite(
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -2530,28 +2551,28 @@ TEST_P(QuicNetworkTransactionTest, UseExistingQUICAlternativeProxy) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &request_header_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "http", "/"), &request_header_offset));
std::string alt_svc_list;
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false,
+ 1, GetNthClientInitiatedStreamId(0), false, false,
GetResponseHeaders("200 OK", alt_svc_list), &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
// Second QUIC request data.
// Connection pooling, using existing session, no need to include version
// as version negotiation has been completed.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, true,
+ 4, GetNthClientInitiatedStreamId(1), false, true,
GetRequestHeaders("GET", "http", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2,
- false, true, 0, "hello!"));
+ 3, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!"));
mock_quic_data.AddWrite(
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -2597,24 +2618,24 @@ TEST_P(QuicNetworkTransactionTest, PoolByOrigin) {
ConstructInitialSettingsPacket(1, &request_header_offset));
// First request.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
// Second request.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, true,
+ 4, GetNthClientInitiatedStreamId(1), false, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2,
- false, true, 0, "hello!"));
+ 3, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!"));
mock_quic_data.AddWrite(
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -2665,13 +2686,13 @@ TEST_P(QuicNetworkTransactionTest, PoolByDestination) {
ConstructInitialSettingsPacket(1, &request_header_offset));
// First request.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
// Second request.
@@ -2680,14 +2701,14 @@ TEST_P(QuicNetworkTransactionTest, PoolByDestination) {
QuicTestPacketMaker server_maker2(version_, 0, &clock_, origin2.host(),
Perspective::IS_SERVER);
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, true,
+ 4, GetNthClientInitiatedStreamId(1), false, true,
GetRequestHeaders("GET", "https", "/", &client_maker2),
&request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2,
- false, true, 0, "hello!"));
+ 3, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!"));
mock_quic_data.AddWrite(
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -2778,25 +2799,27 @@ TEST_P(QuicNetworkTransactionTest,
ConstructInitialSettingsPacket(1, &request_header_offset));
// First QUIC request data.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(
- 2, kClientDataStreamId1, false, true, 0, "hello from mail QUIC!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(
+ ConstructServerDataPacket(2, GetNthClientInitiatedStreamId(0), false,
+ true, 0, "hello from mail QUIC!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
// Second QUIC request data.
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, true,
+ 4, GetNthClientInitiatedStreamId(1), false, true,
GetRequestHeaders("GET", "https", "/", &client_maker),
&request_header_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &response_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(
- 4, kClientDataStreamId2, false, true, 0, "hello from mail QUIC!"));
+ 3, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &response_header_offset));
+ mock_quic_data.AddRead(
+ ConstructServerDataPacket(4, GetNthClientInitiatedStreamId(1), false,
+ true, 0, "hello from mail QUIC!"));
mock_quic_data.AddWrite(
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -2868,12 +2891,13 @@ TEST_P(QuicNetworkTransactionTest, ConfirmAlternativeService) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -2919,12 +2943,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuicForHttps) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, 0); // EOF
@@ -2949,12 +2974,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithRacing) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "http", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -3045,12 +3071,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) {
MockQuicData mock_quic_data;
QuicStreamOffset header_stream_offset = 0;
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -3073,12 +3100,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) {
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) {
MockQuicData mock_quic_data;
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/")));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -3144,12 +3172,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithConfirmationRequired) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3196,7 +3225,7 @@ TEST_P(QuicNetworkTransactionTest,
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
// Read a close connection packet with
// QuicErrorCode: QUIC_CRYPTO_VERSION_NOT_SUPPORTED from the peer.
@@ -3249,7 +3278,7 @@ TEST_P(QuicNetworkTransactionTest,
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
// Peer sending data from an non-existing stream causes this end to raise
// error and close connection.
@@ -3304,13 +3333,14 @@ TEST_P(QuicNetworkTransactionTest, RstSteamErrorHandling) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
// Read the response headers, then a RST_STREAM frame.
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
mock_quic_data.AddRead(ConstructServerRstPacket(
- 2, false, kClientDataStreamId1, QUIC_STREAM_CANCELLED));
+ 2, false, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data.
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3366,10 +3396,10 @@ TEST_P(QuicNetworkTransactionTest, RstSteamBeforeHeaders) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerRstPacket(
- 1, false, kClientDataStreamId1, QUIC_STREAM_CANCELLED));
+ 1, false, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data.
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3588,7 +3618,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnect) {
MockQuicData mock_quic_data;
mock_quic_data.AddSynchronousRead(ConstructServerConnectionClosePacket(1));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/")));
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1, 1, 1));
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3654,7 +3684,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnectProxy) {
MockQuicData mock_quic_data;
mock_quic_data.AddSynchronousRead(ConstructServerConnectionClosePacket(1));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 1, kClientDataStreamId1, true, true,
+ 1, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/")));
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1, 1, 1));
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3708,12 +3738,13 @@ TEST_P(QuicNetworkTransactionTest, SecureResourceOverSecureQuic) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data.
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3822,7 +3853,7 @@ TEST_P(QuicNetworkTransactionTest, QuicUploadWriteError) {
QuicStreamOffset offset = 0;
socket_data.AddWrite(ConstructInitialSettingsPacket(1, &offset));
socket_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, false,
+ 2, GetNthClientInitiatedStreamId(0), true, false,
GetRequestHeaders("POST", "https", "/"), &offset));
socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED);
socket_data.AddSocketDataToFactory(&socket_factory_);
@@ -3866,27 +3897,27 @@ TEST_P(QuicNetworkTransactionTest, QuicServerPush) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
QuicStreamOffset server_header_offset = 0;
mock_quic_data.AddRead(ConstructServerPushPromisePacket(
- 1, kClientDataStreamId1, kServerDataStreamId1, false,
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset,
- &server_maker_));
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0),
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"),
+ &server_header_offset, &server_maker_));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
+ 2, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 3, GetNthServerInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1));
mock_quic_data.AddRead(ConstructServerDataPacket(
- 5, kServerDataStreamId1, false, true, 0, "and hello!"));
+ 5, GetNthServerInitiatedStreamId(0), false, true, 0, "and hello!"));
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket(
- 5, kServerDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT, 5, 5, 1));
+ 5, GetNthServerInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT, 5, 5, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
mock_quic_data.AddSocketDataToFactory(&socket_factory_);
@@ -3925,24 +3956,25 @@ TEST_P(QuicNetworkTransactionTest, QuicForceHolBlocking) {
QuicStreamOffset offset = 0;
mock_quic_data.AddWrite(ConstructInitialSettingsPacket(1, &offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, false,
+ 2, GetNthClientInitiatedStreamId(0), true, false,
GetRequestHeaders("POST", "https", "/"), &offset));
std::unique_ptr<QuicEncryptedPacket> packet;
if (version_ == QUIC_VERSION_36) {
- packet = ConstructClientForceHolDataPacket(3, kClientDataStreamId1, true,
- true, &offset, "1");
+ packet = ConstructClientForceHolDataPacket(
+ 3, GetNthClientInitiatedStreamId(0), true, true, &offset, "1");
} else {
- packet =
- ConstructClientDataPacket(3, kClientDataStreamId1, true, true, 0, "1");
+ packet = ConstructClientDataPacket(3, GetNthClientInitiatedStreamId(0),
+ true, true, 0, "1");
}
mock_quic_data.AddWrite(std::move(packet));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK")));
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 2, 1, 1));
@@ -4009,16 +4041,17 @@ TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullRequest) {
headers["user-agent"] = "";
headers["accept-encoding"] = "gzip, deflate";
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true, std::move(headers),
+ 2, GetNthClientInitiatedStreamId(0), true, true, std::move(headers),
&header_stream_offset));
QuicStreamOffset expected_raw_header_response_size = 0;
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &expected_raw_header_response_size));
+ 1, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &expected_raw_header_response_size));
- mock_quic_data.AddRead(ConstructServerDataPacket(
- 2, kClientDataStreamId1, false, true, 0, "Main Resource Data"));
+ mock_quic_data.AddRead(
+ ConstructServerDataPacket(2, GetNthClientInitiatedStreamId(0), false,
+ true, 0, "Main Resource Data"));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -4067,35 +4100,37 @@ TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullPushHeadersFirst) {
headers["user-agent"] = "";
headers["accept-encoding"] = "gzip, deflate";
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true, std::move(headers),
+ 2, GetNthClientInitiatedStreamId(0), true, true, std::move(headers),
&header_stream_offset));
QuicStreamOffset server_header_offset = 0;
QuicStreamOffset expected_raw_header_response_size = 0;
mock_quic_data.AddRead(ConstructServerPushPromisePacket(
- 1, kClientDataStreamId1, kServerDataStreamId1, false,
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset,
- &server_maker_));
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0),
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"),
+ &server_header_offset, &server_maker_));
expected_raw_header_response_size = server_header_offset;
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
+ 2, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
expected_raw_header_response_size =
server_header_offset - expected_raw_header_response_size;
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(
- 4, kServerDataStreamId1, false, true, 0, "Pushed Resource Data"));
+ 3, GetNthServerInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
+ mock_quic_data.AddRead(
+ ConstructServerDataPacket(4, GetNthServerInitiatedStreamId(0), false,
+ true, 0, "Pushed Resource Data"));
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1));
- mock_quic_data.AddRead(ConstructServerDataPacket(
- 5, kClientDataStreamId1, false, true, 0, "Main Resource Data"));
+ mock_quic_data.AddRead(
+ ConstructServerDataPacket(5, GetNthClientInitiatedStreamId(0), false,
+ true, 0, "Main Resource Data"));
mock_quic_data.AddRead(ConstructServerConnectionClosePacket(6));
@@ -4331,6 +4366,10 @@ class QuicNetworkTransactionWithDestinationTest
EXPECT_EQ(443, response->socket_address.port());
}
+ QuicStreamId GetNthClientInitiatedStreamId(int n) {
+ return test::GetNthClientInitiatedStreamId(version_, n);
+ }
+
MockClock clock_;
QuicVersion version_;
DestinationType destination_type_;
@@ -4437,11 +4476,13 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, PoolIfCertificateValid) {
mock_quic_data.AddWrite(ConstructInitialSettingsPacket(
1, &request_header_offset, &client_maker1));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, &request_header_offset, &client_maker1));
+ 2, GetNthClientInitiatedStreamId(0), true, &request_header_offset,
+ &client_maker1));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, &response_header_offset, &server_maker1));
- mock_quic_data.AddRead(
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker1));
+ 1, GetNthClientInitiatedStreamId(0), &response_header_offset,
+ &server_maker1));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), &server_maker1));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1, &client_maker1));
QuicTestPacketMaker client_maker2(version_, 0, &clock_, origin2_,
@@ -4450,11 +4491,13 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, PoolIfCertificateValid) {
Perspective::IS_SERVER);
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 4, kClientDataStreamId2, false, &request_header_offset, &client_maker2));
+ 4, GetNthClientInitiatedStreamId(1), false, &request_header_offset,
+ &client_maker2));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kClientDataStreamId2, &response_header_offset, &server_maker2));
- mock_quic_data.AddRead(
- ConstructServerDataPacket(4, kClientDataStreamId2, &server_maker2));
+ 3, GetNthClientInitiatedStreamId(1), &response_header_offset,
+ &server_maker2));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(1), &server_maker2));
mock_quic_data.AddWrite(ConstructClientAckPacket(5, 4, 3, 1, &client_maker2));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
mock_quic_data.AddRead(ASYNC, 0); // EOF
@@ -4513,11 +4556,12 @@ TEST_P(QuicNetworkTransactionWithDestinationTest,
mock_quic_data1.AddWrite(ConstructInitialSettingsPacket(
1, &header_stream_offset1, &client_maker1));
mock_quic_data1.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, &header_stream_offset1, &client_maker1));
+ 2, GetNthClientInitiatedStreamId(0), true, &header_stream_offset1,
+ &client_maker1));
mock_quic_data1.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, &server_maker1));
- mock_quic_data1.AddRead(
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker1));
+ 1, GetNthClientInitiatedStreamId(0), &server_maker1));
+ mock_quic_data1.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), &server_maker1));
mock_quic_data1.AddWrite(
ConstructClientAckPacket(3, 2, 1, 1, &client_maker1));
mock_quic_data1.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -4537,11 +4581,12 @@ TEST_P(QuicNetworkTransactionWithDestinationTest,
mock_quic_data2.AddWrite(ConstructInitialSettingsPacket(
1, &header_stream_offset2, &client_maker2));
mock_quic_data2.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, &header_stream_offset2, &client_maker2));
+ 2, GetNthClientInitiatedStreamId(0), true, &header_stream_offset2,
+ &client_maker2));
mock_quic_data2.AddRead(ConstructServerResponseHeadersPacket(
- 1, kClientDataStreamId1, &server_maker2));
- mock_quic_data2.AddRead(
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker2));
+ 1, GetNthClientInitiatedStreamId(0), &server_maker2));
+ mock_quic_data2.AddRead(ConstructServerDataPacket(
+ 2, GetNthClientInitiatedStreamId(0), &server_maker2));
mock_quic_data2.AddWrite(
ConstructClientAckPacket(3, 2, 1, 1, &client_maker2));
mock_quic_data2.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
@@ -4568,45 +4613,45 @@ TEST_P(QuicNetworkTransactionTest, QuicServerPushMatchesRequestWithBody) {
mock_quic_data.AddWrite(
ConstructInitialSettingsPacket(1, &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 2, kClientDataStreamId1, true, true,
+ 2, GetNthClientInitiatedStreamId(0), true, true,
GetRequestHeaders("GET", "https", "/"), &header_stream_offset));
QuicStreamOffset server_header_offset = 0;
mock_quic_data.AddRead(ConstructServerPushPromisePacket(
- 1, kClientDataStreamId1, kServerDataStreamId1, false,
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset,
- &server_maker_));
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0),
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"),
+ &server_header_offset, &server_maker_));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
+ 2, GetNthClientInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1));
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId1,
- false, true, 0, "hello!"));
+ 3, GetNthServerInitiatedStreamId(0), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
+ mock_quic_data.AddRead(ConstructServerDataPacket(
+ 4, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1));
mock_quic_data.AddRead(ConstructServerDataPacket(
- 5, kServerDataStreamId1, false, true, 0, "and hello!"));
+ 5, GetNthServerInitiatedStreamId(0), false, true, 0, "and hello!"));
// Because the matching request has a body, we will see the push
// stream get cancelled, and the matching request go out on the
// wire.
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket(
- 5, kServerDataStreamId1, QUIC_STREAM_CANCELLED, 5, 5, 1));
+ 5, GetNthServerInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 5, 5, 1));
const char kBody[] = "1";
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
- 6, kClientDataStreamId2, false, false,
+ 6, GetNthClientInitiatedStreamId(1), false, false,
GetRequestHeaders("GET", "https", "/pushed.jpg"), &header_stream_offset));
mock_quic_data.AddWrite(ConstructClientMultipleDataFramesPacket(
- 7, kClientDataStreamId2, false, true, {kBody}, 0));
+ 7, GetNthClientInitiatedStreamId(1), false, true, {kBody}, 0));
// We see the same response as for the earlier pushed and cancelled
// stream.
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
- 6, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"),
- &server_header_offset));
+ 6, GetNthClientInitiatedStreamId(1), false, false,
+ GetResponseHeaders("200 OK"), &server_header_offset));
mock_quic_data.AddRead(ConstructServerDataPacket(
- 7, kClientDataStreamId2, false, true, 0, "and hello!"));
+ 7, GetNthClientInitiatedStreamId(1), false, true, 0, "and hello!"));
mock_quic_data.AddWrite(ConstructClientAckPacket(8, 7, 6, 1));
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read
« no previous file with comments | « net/quic/chromium/quic_http_stream_test.cc ('k') | net/quic/chromium/quic_stream_factory_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698