Index: net/quic/chromium/quic_chromium_client_session_test.cc |
diff --git a/net/quic/chromium/quic_chromium_client_session_test.cc b/net/quic/chromium/quic_chromium_client_session_test.cc |
index 2242250837c9f5290a999a250bd8be39a88986bf..b8390fd2a275cf6c7c44165b512d99b365d5ac37 100644 |
--- a/net/quic/chromium/quic_chromium_client_session_test.cc |
+++ b/net/quic/chromium/quic_chromium_client_session_test.cc |
@@ -37,7 +37,6 @@ |
#include "net/quic/platform/api/quic_flags.h" |
#include "net/quic/test_tools/crypto_test_utils.h" |
#include "net/quic/test_tools/quic_client_promised_info_peer.h" |
-#include "net/quic/test_tools/quic_spdy_session_peer.h" |
#include "net/quic/test_tools/quic_test_utils.h" |
#include "net/quic/test_tools/simple_quic_framer.h" |
#include "net/socket/datagram_client_socket.h" |
@@ -156,6 +155,14 @@ class QuicChromiumClientSessionTest |
return writer.release(); |
} |
+ QuicStreamId GetNthClientInitiatedStreamId(int n) { |
+ return test::GetNthClientInitiatedStreamId(GetParam(), n); |
+ } |
+ |
+ QuicStreamId GetNthServerInitiatedStreamId(int n) { |
+ return test::GetNthServerInitiatedStreamId(GetParam(), n); |
+ } |
+ |
QuicCryptoClientConfig crypto_config_; |
TestNetLog net_log_; |
BoundTestNetLog bound_test_net_log_; |
@@ -267,8 +274,8 @@ TEST_P(QuicChromiumClientSessionTest, StreamRequestBeforeConfirmation) { |
TEST_P(QuicChromiumClientSessionTest, CancelStreamRequestBeforeRelease) { |
MockQuicData quic_data; |
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(2, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
quic_data.AddRead(ASYNC, ERR_IO_PENDING); |
quic_data.AddRead(ASYNC, OK); // EOF |
quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -291,8 +298,8 @@ TEST_P(QuicChromiumClientSessionTest, CancelStreamRequestBeforeRelease) { |
TEST_P(QuicChromiumClientSessionTest, AsyncStreamRequest) { |
MockQuicData quic_data; |
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(2, true, kClientDataStreamId1, |
- QUIC_RST_ACKNOWLEDGEMENT)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
quic_data.AddRead(ASYNC, ERR_IO_PENDING); |
quic_data.AddRead(ASYNC, OK); // EOF |
quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -315,7 +322,8 @@ TEST_P(QuicChromiumClientSessionTest, AsyncStreamRequest) { |
ASSERT_EQ(ERR_IO_PENDING, stream_request->StartRequest(callback.callback())); |
// Close a stream and ensure the stream request completes. |
- QuicRstStreamFrame rst(kClientDataStreamId1, QUIC_STREAM_CANCELLED, 0); |
+ QuicRstStreamFrame rst(GetNthClientInitiatedStreamId(0), |
+ QUIC_STREAM_CANCELLED, 0); |
session_->OnRstStream(rst); |
ASSERT_TRUE(callback.have_result()); |
EXPECT_THAT(callback.WaitForResult(), IsOk()); |
@@ -329,8 +337,8 @@ TEST_P(QuicChromiumClientSessionTest, AsyncStreamRequest) { |
TEST_P(QuicChromiumClientSessionTest, CancelPendingStreamRequest) { |
MockQuicData quic_data; |
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(2, true, kClientDataStreamId1, |
- QUIC_RST_ACKNOWLEDGEMENT)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
quic_data.AddRead(ASYNC, ERR_IO_PENDING); |
quic_data.AddRead(ASYNC, OK); // EOF |
quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -356,7 +364,8 @@ TEST_P(QuicChromiumClientSessionTest, CancelPendingStreamRequest) { |
stream_request.reset(); |
// Close a stream and ensure that no new stream is created. |
- QuicRstStreamFrame rst(kClientDataStreamId1, QUIC_STREAM_CANCELLED, 0); |
+ QuicRstStreamFrame rst(GetNthClientInitiatedStreamId(0), |
+ QUIC_STREAM_CANCELLED, 0); |
session_->OnRstStream(rst); |
EXPECT_EQ(kMaxOpenStreams - 1, session_->GetNumOpenOutgoingStreams()); |
@@ -453,7 +462,7 @@ TEST_P(QuicChromiumClientSessionTest, MaxNumStreams) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -492,7 +501,7 @@ TEST_P(QuicChromiumClientSessionTest, PushStreamTimedOutNoResponse) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kServerDataStreamId1, QUIC_PUSH_STREAM_TIMED_OUT)); |
+ 2, true, GetNthServerInitiatedStreamId(0), QUIC_PUSH_STREAM_TIMED_OUT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -519,11 +528,11 @@ TEST_P(QuicChromiumClientSessionTest, PushStreamTimedOutNoResponse) { |
promise_headers[":path"] = "/pushed.jpg"; |
// Receive a PUSH PROMISE from the server. |
- EXPECT_TRUE(session_->HandlePromised(stream->id(), kServerDataStreamId1, |
- promise_headers)); |
+ EXPECT_TRUE(session_->HandlePromised( |
+ stream->id(), GetNthServerInitiatedStreamId(0), promise_headers)); |
QuicClientPromisedInfo* promised = |
- session_->GetPromisedById(kServerDataStreamId1); |
+ session_->GetPromisedById(GetNthServerInitiatedStreamId(0)); |
EXPECT_TRUE(promised); |
// Fire alarm to time out the push stream. |
alarm_factory_.FireAlarm(QuicClientPromisedInfoPeer::GetAlarm(promised)); |
@@ -541,7 +550,7 @@ TEST_P(QuicChromiumClientSessionTest, PushStreamTimedOutWithResponse) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kServerDataStreamId1, QUIC_PUSH_STREAM_TIMED_OUT)); |
+ 2, true, GetNthServerInitiatedStreamId(0), QUIC_PUSH_STREAM_TIMED_OUT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -567,17 +576,19 @@ TEST_P(QuicChromiumClientSessionTest, PushStreamTimedOutWithResponse) { |
promise_headers[":scheme"] = "https"; |
promise_headers[":path"] = "/pushed.jpg"; |
- session_->GetOrCreateStream(kServerDataStreamId1); |
+ session_->GetOrCreateStream(GetNthServerInitiatedStreamId(0)); |
// Receive a PUSH PROMISE from the server. |
- EXPECT_TRUE(session_->HandlePromised(stream->id(), kServerDataStreamId1, |
- promise_headers)); |
- session_->OnInitialHeadersComplete(kServerDataStreamId1, SpdyHeaderBlock()); |
+ EXPECT_TRUE(session_->HandlePromised( |
+ stream->id(), GetNthServerInitiatedStreamId(0), promise_headers)); |
+ session_->OnInitialHeadersComplete(GetNthServerInitiatedStreamId(0), |
+ SpdyHeaderBlock()); |
// Read data on the pushed stream. |
- QuicStreamFrame data(kServerDataStreamId1, false, 0, QuicStringPiece("SP")); |
+ QuicStreamFrame data(GetNthServerInitiatedStreamId(0), false, 0, |
+ QuicStringPiece("SP")); |
session_->OnStreamFrame(data); |
QuicClientPromisedInfo* promised = |
- session_->GetPromisedById(kServerDataStreamId1); |
+ session_->GetPromisedById(GetNthServerInitiatedStreamId(0)); |
EXPECT_TRUE(promised); |
// Fire alarm to time out the push stream. |
alarm_factory_.FireAlarm(QuicClientPromisedInfoPeer::GetAlarm(promised)); |
@@ -592,7 +603,7 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
@@ -620,11 +631,11 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) { |
promise_headers[":path"] = "/pushed.jpg"; |
// Receive a PUSH PROMISE from the server. |
- EXPECT_TRUE(session_->HandlePromised(stream->id(), kServerDataStreamId1, |
- promise_headers)); |
+ EXPECT_TRUE(session_->HandlePromised( |
+ stream->id(), GetNthServerInitiatedStreamId(0), promise_headers)); |
QuicClientPromisedInfo* promised = |
- session_->GetPromisedById(kServerDataStreamId1); |
+ session_->GetPromisedById(GetNthServerInitiatedStreamId(0)); |
EXPECT_TRUE(promised); |
// Initiate rendezvous. |
@@ -638,7 +649,7 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) { |
EXPECT_TRUE(session_->GetPromisedByUrl(pushed_url.spec())); |
// Reset the stream now before tear down. |
- session_->CloseStream(kClientDataStreamId1); |
+ session_->CloseStream(GetNthClientInitiatedStreamId(0)); |
} |
TEST_P(QuicChromiumClientSessionTest, CancelPushBeforeReceivingResponse) { |
@@ -647,7 +658,7 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushBeforeReceivingResponse) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
+ 2, true, GetNthServerInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -674,11 +685,11 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushBeforeReceivingResponse) { |
promise_headers[":path"] = "/pushed.jpg"; |
// Receive a PUSH PROMISE from the server. |
- EXPECT_TRUE(session_->HandlePromised(stream->id(), kServerDataStreamId1, |
- promise_headers)); |
+ EXPECT_TRUE(session_->HandlePromised( |
+ stream->id(), GetNthServerInitiatedStreamId(0), promise_headers)); |
QuicClientPromisedInfo* promised = |
- session_->GetPromisedById(kServerDataStreamId1); |
+ session_->GetPromisedById(GetNthServerInitiatedStreamId(0)); |
EXPECT_TRUE(promised); |
// Cancel the push before receiving the response to the pushed request. |
GURL pushed_url("https://www.example.org/pushed.jpg"); |
@@ -697,7 +708,7 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushAfterReceivingResponse) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
+ 2, true, GetNthServerInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -723,17 +734,19 @@ TEST_P(QuicChromiumClientSessionTest, CancelPushAfterReceivingResponse) { |
promise_headers[":scheme"] = "https"; |
promise_headers[":path"] = "/pushed.jpg"; |
- session_->GetOrCreateStream(kServerDataStreamId1); |
+ session_->GetOrCreateStream(GetNthServerInitiatedStreamId(0)); |
// Receive a PUSH PROMISE from the server. |
- EXPECT_TRUE(session_->HandlePromised(stream->id(), kServerDataStreamId1, |
- promise_headers)); |
- session_->OnInitialHeadersComplete(kServerDataStreamId1, SpdyHeaderBlock()); |
+ EXPECT_TRUE(session_->HandlePromised( |
+ stream->id(), GetNthServerInitiatedStreamId(0), promise_headers)); |
+ session_->OnInitialHeadersComplete(GetNthServerInitiatedStreamId(0), |
+ SpdyHeaderBlock()); |
// Read data on the pushed stream. |
- QuicStreamFrame data(kServerDataStreamId1, false, 0, QuicStringPiece("SP")); |
+ QuicStreamFrame data(GetNthServerInitiatedStreamId(0), false, 0, |
+ QuicStringPiece("SP")); |
session_->OnStreamFrame(data); |
QuicClientPromisedInfo* promised = |
- session_->GetPromisedById(kServerDataStreamId1); |
+ session_->GetPromisedById(GetNthServerInitiatedStreamId(0)); |
EXPECT_TRUE(promised); |
// Cancel the push after receiving data on the push stream. |
GURL pushed_url("https://www.example.org/pushed.jpg"); |
@@ -751,7 +764,7 @@ TEST_P(QuicChromiumClientSessionTest, Priority) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |
@@ -779,7 +792,7 @@ TEST_P(QuicChromiumClientSessionTest, MaxNumStreamsViaRequest) { |
std::unique_ptr<QuicEncryptedPacket> settings_packet( |
client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
- 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
+ 2, true, GetNthClientInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT)); |
MockWrite writes[] = { |
MockWrite(ASYNC, settings_packet->data(), settings_packet->length(), 1), |
MockWrite(ASYNC, client_rst->data(), client_rst->length(), 2)}; |