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

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

Issue 2899403002: Change QuicHttpStream to Reset the upload data stream even if the (Closed)
Patch Set: cleanup 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.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/chromium/quic_http_stream_test.cc
diff --git a/net/quic/chromium/quic_http_stream_test.cc b/net/quic/chromium/quic_http_stream_test.cc
index 56ab9fd11bfc41f300bb42cbd68ab91b429dd009..58063a7a67a4960fd4c1ce8ff4d86411b679ff77 100644
--- a/net/quic/chromium/quic_http_stream_test.cc
+++ b/net/quic/chromium/quic_http_stream_test.cc
@@ -567,6 +567,7 @@ class QuicHttpStreamTest : public ::testing::TestWithParam<QuicVersion> {
std::unique_ptr<QuicChromiumConnectionHelper> helper_;
std::unique_ptr<QuicChromiumAlarmFactory> alarm_factory_;
testing::StrictMock<MockQuicConnectionVisitor> visitor_;
+ std::unique_ptr<UploadDataStream> upload_data_stream_;
std::unique_ptr<QuicHttpStream> stream_;
TransportSecurityState transport_security_state_;
std::unique_ptr<QuicChromiumClientSession> session_;
@@ -1129,10 +1130,11 @@ TEST_P(QuicHttpStreamTest, SendPostRequest) {
std::vector<std::unique_ptr<UploadElementReader>> element_readers;
element_readers.push_back(base::MakeUnique<UploadBytesElementReader>(
kUploadData, strlen(kUploadData)));
- ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0);
+ upload_data_stream_ =
+ base::MakeUnique<ElementsUploadDataStream>(std::move(element_readers), 0);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_THAT(request_.upload_data_stream->Init(CompletionCallback(),
NetLogWithSource()),
IsOk());
@@ -1198,12 +1200,14 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequest) {
AddWrite(ConstructClientAckPacket(5, 3, 1, 1));
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
- upload_data_stream.AppendData(kUploadData, chunk_size, false);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
+ auto* chunked_upload_stream =
+ static_cast<ChunkedUploadDataStream*>(upload_data_stream_.get());
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, false);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -1213,7 +1217,7 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequest) {
ASSERT_EQ(ERR_IO_PENDING,
stream_->SendRequest(headers_, &response_, callback_.callback()));
- upload_data_stream.AppendData(kUploadData, chunk_size, true);
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, true);
EXPECT_THAT(callback_.WaitForResult(), IsOk());
// Ack both packets in the request.
@@ -1272,12 +1276,14 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithFinalEmptyDataPacket) {
AddWrite(ConstructClientAckPacket(5, 3, 1, 1));
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
- upload_data_stream.AppendData(kUploadData, chunk_size, false);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
+ auto* chunked_upload_stream =
+ static_cast<ChunkedUploadDataStream*>(upload_data_stream_.get());
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, false);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -1287,7 +1293,7 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithFinalEmptyDataPacket) {
ASSERT_EQ(ERR_IO_PENDING,
stream_->SendRequest(headers_, &response_, callback_.callback()));
- upload_data_stream.AppendData(nullptr, 0, true);
+ chunked_upload_stream->AppendData(nullptr, 0, true);
EXPECT_THAT(callback_.WaitForResult(), IsOk());
ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0));
@@ -1341,11 +1347,13 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithOneEmptyDataPacket) {
AddWrite(ConstructClientAckPacket(4, 3, 1, 1));
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
+ auto* chunked_upload_stream =
+ static_cast<ChunkedUploadDataStream*>(upload_data_stream_.get());
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -1355,7 +1363,7 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithOneEmptyDataPacket) {
ASSERT_EQ(ERR_IO_PENDING,
stream_->SendRequest(headers_, &response_, callback_.callback()));
- upload_data_stream.AppendData(nullptr, 0, true);
+ chunked_upload_stream->AppendData(nullptr, 0, true);
EXPECT_THAT(callback_.WaitForResult(), IsOk());
ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0));
@@ -1542,16 +1550,18 @@ TEST_P(QuicHttpStreamTest, SessionClosedDuringDoLoop) {
AddWrite(SYNCHRONOUS, ERR_FAILED);
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
+ auto* chunked_upload_stream =
+ static_cast<ChunkedUploadDataStream*>(upload_data_stream_.get());
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
size_t chunk_size = strlen(kUploadData);
- upload_data_stream.AppendData(kUploadData, chunk_size, false);
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, false);
ASSERT_EQ(OK,
stream_->InitializeStream(&request_, DEFAULT_PRIORITY,
net_log_.bound(), callback_.callback()));
@@ -1560,7 +1570,7 @@ TEST_P(QuicHttpStreamTest, SessionClosedDuringDoLoop) {
// SendRequest() completes asynchronously after the final chunk is added.
ASSERT_EQ(ERR_IO_PENDING,
stream->SendRequest(headers_, &response_, callback_.callback()));
- upload_data_stream.AppendData(kUploadData, chunk_size, true);
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, true);
int rv = callback_.WaitForResult();
EXPECT_EQ(ERR_QUIC_PROTOCOL_ERROR, rv);
}
@@ -1572,11 +1582,11 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendHeadersComplete) {
AddWrite(SYNCHRONOUS, ERR_FAILED);
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -1599,13 +1609,15 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendBodyComplete) {
AddWrite(SYNCHRONOUS, ERR_FAILED);
Initialize();
- ChunkedUploadDataStream upload_data_stream(0);
+ upload_data_stream_ = base::MakeUnique<ChunkedUploadDataStream>(0);
+ auto* chunked_upload_stream =
+ static_cast<ChunkedUploadDataStream*>(upload_data_stream_.get());
size_t chunk_size = strlen(kUploadData);
- upload_data_stream.AppendData(kUploadData, chunk_size, false);
+ chunked_upload_stream->AppendData(kUploadData, chunk_size, false);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -2105,11 +2117,11 @@ TEST_P(QuicHttpStreamTest, DataReadErrorSynchronous) {
Initialize();
- ReadErrorUploadDataStream upload_data_stream(
+ upload_data_stream_ = base::MakeUnique<ReadErrorUploadDataStream>(
ReadErrorUploadDataStream::FailureMode::SYNC);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
@@ -2141,11 +2153,11 @@ TEST_P(QuicHttpStreamTest, DataReadErrorAsynchronous) {
Initialize();
- ReadErrorUploadDataStream upload_data_stream(
+ upload_data_stream_ = base::MakeUnique<ReadErrorUploadDataStream>(
ReadErrorUploadDataStream::FailureMode::ASYNC);
request_.method = "POST";
request_.url = GURL("https://www.example.org/");
- request_.upload_data_stream = &upload_data_stream;
+ request_.upload_data_stream = upload_data_stream_.get();
ASSERT_EQ(OK, request_.upload_data_stream->Init(
TestCompletionCallback().callback(), NetLogWithSource()));
« no previous file with comments | « net/quic/chromium/quic_http_stream.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698