| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/tools/quic/quic_simple_server_stream.h" | 5 #include "net/tools/quic/quic_simple_server_stream.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/string_piece.h" | 10 #include "base/strings/string_piece.h" |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) | 279 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) |
| 280 .Times(AnyNumber()) | 280 .Times(AnyNumber()) |
| 281 .WillRepeatedly(Invoke(MockQuicSession::ConsumeAllData)); | 281 .WillRepeatedly(Invoke(MockQuicSession::ConsumeAllData)); |
| 282 | 282 |
| 283 EXPECT_FALSE(stream_->fin_received()); | 283 EXPECT_FALSE(stream_->fin_received()); |
| 284 EXPECT_FALSE(stream_->rst_received()); | 284 EXPECT_FALSE(stream_->rst_received()); |
| 285 | 285 |
| 286 stream_->set_fin_sent(true); | 286 stream_->set_fin_sent(true); |
| 287 stream_->CloseWriteSide(); | 287 stream_->CloseWriteSide(); |
| 288 | 288 |
| 289 if (GetParam() > QUIC_VERSION_28) { | 289 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1); |
| 290 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1); | |
| 291 } else { | |
| 292 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); | |
| 293 } | |
| 294 stream_->StopReading(); | 290 stream_->StopReading(); |
| 295 } | 291 } |
| 296 | 292 |
| 297 TEST_P(QuicSimpleServerStreamTest, TestFramingExtraData) { | 293 TEST_P(QuicSimpleServerStreamTest, TestFramingExtraData) { |
| 298 string large_body = "hello world!!!!!!"; | 294 string large_body = "hello world!!!!!!"; |
| 299 | 295 |
| 300 // We'll automatically write out an error (headers + body) | 296 // We'll automatically write out an error (headers + body) |
| 301 EXPECT_CALL(session_, WriteHeadersMock(_, _, _, _, _)); | 297 EXPECT_CALL(session_, WriteHeadersMock(_, _, _, _, _)); |
| 302 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) | 298 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) |
| 303 .WillOnce(Invoke(MockQuicSession::ConsumeAllData)); | 299 .WillOnce(Invoke(MockQuicSession::ConsumeAllData)); |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 EXPECT_FALSE(stream_->reading_stopped()); | 590 EXPECT_FALSE(stream_->reading_stopped()); |
| 595 EXPECT_FALSE(stream_->write_side_closed()); | 591 EXPECT_FALSE(stream_->write_side_closed()); |
| 596 } | 592 } |
| 597 | 593 |
| 598 TEST_P(QuicSimpleServerStreamTest, SendQuicRstStreamNoErrorWithEarlyResponse) { | 594 TEST_P(QuicSimpleServerStreamTest, SendQuicRstStreamNoErrorWithEarlyResponse) { |
| 599 InSequence s; | 595 InSequence s; |
| 600 EXPECT_CALL(session_, WriteHeadersMock(stream_->id(), _, false, _, nullptr)); | 596 EXPECT_CALL(session_, WriteHeadersMock(stream_->id(), _, false, _, nullptr)); |
| 601 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) | 597 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) |
| 602 .Times(1) | 598 .Times(1) |
| 603 .WillOnce(Return(QuicConsumedData(3, true))); | 599 .WillOnce(Return(QuicConsumedData(3, true))); |
| 604 if (GetParam() > QUIC_VERSION_28) { | 600 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1); |
| 605 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1); | |
| 606 } else { | |
| 607 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); | |
| 608 } | |
| 609 EXPECT_FALSE(stream_->fin_received()); | 601 EXPECT_FALSE(stream_->fin_received()); |
| 610 QuicSimpleServerStreamPeer::SendErrorResponse(stream_); | 602 QuicSimpleServerStreamPeer::SendErrorResponse(stream_); |
| 611 EXPECT_TRUE(stream_->reading_stopped()); | 603 EXPECT_TRUE(stream_->reading_stopped()); |
| 612 EXPECT_TRUE(stream_->write_side_closed()); | 604 EXPECT_TRUE(stream_->write_side_closed()); |
| 613 } | 605 } |
| 614 | 606 |
| 615 TEST_P(QuicSimpleServerStreamTest, | 607 TEST_P(QuicSimpleServerStreamTest, |
| 616 DoNotSendQuicRstStreamNoErrorWithRstReceived) { | 608 DoNotSendQuicRstStreamNoErrorWithRstReceived) { |
| 617 InSequence s; | 609 InSequence s; |
| 618 EXPECT_FALSE(stream_->reading_stopped()); | 610 EXPECT_FALSE(stream_->reading_stopped()); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 652 }; | 644 }; |
| 653 StringPiece data(arr, arraysize(arr)); | 645 StringPiece data(arr, arraysize(arr)); |
| 654 QuicStreamFrame frame(stream_->id(), true, 0, data); | 646 QuicStreamFrame frame(stream_->id(), true, 0, data); |
| 655 // Verify that we don't crash when we get a invalid headers in stream frame. | 647 // Verify that we don't crash when we get a invalid headers in stream frame. |
| 656 stream_->OnStreamFrame(frame); | 648 stream_->OnStreamFrame(frame); |
| 657 } | 649 } |
| 658 | 650 |
| 659 } // namespace | 651 } // namespace |
| 660 } // namespace test | 652 } // namespace test |
| 661 } // namespace net | 653 } // namespace net |
| OLD | NEW |