OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Common utilities for Quic tests | 5 // Common utilities for Quic tests |
6 | 6 |
7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
9 | 9 |
10 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); } | 505 QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); } |
506 | 506 |
507 MOCK_METHOD3(OnConnectionClosed, | 507 MOCK_METHOD3(OnConnectionClosed, |
508 void(QuicErrorCode error, | 508 void(QuicErrorCode error, |
509 const std::string& error_details, | 509 const std::string& error_details, |
510 ConnectionCloseSource source)); | 510 ConnectionCloseSource source)); |
511 MOCK_METHOD1(CreateIncomingDynamicStream, QuicStream*(QuicStreamId id)); | 511 MOCK_METHOD1(CreateIncomingDynamicStream, QuicStream*(QuicStreamId id)); |
512 MOCK_METHOD1(CreateOutgoingDynamicStream, QuicStream*(SpdyPriority priority)); | 512 MOCK_METHOD1(CreateOutgoingDynamicStream, QuicStream*(SpdyPriority priority)); |
513 MOCK_METHOD1(ShouldCreateIncomingDynamicStream, bool(QuicStreamId id)); | 513 MOCK_METHOD1(ShouldCreateIncomingDynamicStream, bool(QuicStreamId id)); |
514 MOCK_METHOD0(ShouldCreateOutgoingDynamicStream, bool()); | 514 MOCK_METHOD0(ShouldCreateOutgoingDynamicStream, bool()); |
515 MOCK_METHOD6(WritevData, | 515 MOCK_METHOD6( |
516 QuicConsumedData(QuicStream* stream, | 516 WritevData, |
517 QuicStreamId id, | 517 QuicConsumedData(QuicStream* stream, |
518 QuicIOVector data, | 518 QuicStreamId id, |
519 QuicStreamOffset offset, | 519 QuicIOVector data, |
520 bool fin, | 520 QuicStreamOffset offset, |
521 scoped_refptr<QuicAckListenerInterface>)); | 521 bool fin, |
| 522 QuicReferenceCountedPointer<QuicAckListenerInterface>)); |
522 | 523 |
523 MOCK_METHOD3(SendRstStream, | 524 MOCK_METHOD3(SendRstStream, |
524 void(QuicStreamId stream_id, | 525 void(QuicStreamId stream_id, |
525 QuicRstStreamErrorCode error, | 526 QuicRstStreamErrorCode error, |
526 QuicStreamOffset bytes_written)); | 527 QuicStreamOffset bytes_written)); |
527 | 528 |
528 MOCK_METHOD2(OnStreamHeaders, | 529 MOCK_METHOD2(OnStreamHeaders, |
529 void(QuicStreamId stream_id, base::StringPiece headers_data)); | 530 void(QuicStreamId stream_id, base::StringPiece headers_data)); |
530 MOCK_METHOD2(OnStreamHeadersPriority, | 531 MOCK_METHOD2(OnStreamHeadersPriority, |
531 void(QuicStreamId stream_id, SpdyPriority priority)); | 532 void(QuicStreamId stream_id, SpdyPriority priority)); |
532 MOCK_METHOD3(OnStreamHeadersComplete, | 533 MOCK_METHOD3(OnStreamHeadersComplete, |
533 void(QuicStreamId stream_id, bool fin, size_t frame_len)); | 534 void(QuicStreamId stream_id, bool fin, size_t frame_len)); |
534 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool()); | 535 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool()); |
535 | 536 |
536 using QuicSession::ActivateStream; | 537 using QuicSession::ActivateStream; |
537 | 538 |
538 // Returns a QuicConsumedData that indicates all of |data| (and |fin| if set) | 539 // Returns a QuicConsumedData that indicates all of |data| (and |fin| if set) |
539 // has been consumed. | 540 // has been consumed. |
540 static QuicConsumedData ConsumeAllData( | 541 static QuicConsumedData ConsumeAllData( |
541 QuicStream* stream, | 542 QuicStream* stream, |
542 QuicStreamId id, | 543 QuicStreamId id, |
543 const QuicIOVector& data, | 544 const QuicIOVector& data, |
544 QuicStreamOffset offset, | 545 QuicStreamOffset offset, |
545 bool fin, | 546 bool fin, |
546 const scoped_refptr<QuicAckListenerInterface>& ack_notifier_delegate); | 547 const QuicReferenceCountedPointer<QuicAckListenerInterface>& |
| 548 ack_notifier_delegate); |
547 | 549 |
548 private: | 550 private: |
549 std::unique_ptr<QuicCryptoStream> crypto_stream_; | 551 std::unique_ptr<QuicCryptoStream> crypto_stream_; |
550 | 552 |
551 DISALLOW_COPY_AND_ASSIGN(MockQuicSession); | 553 DISALLOW_COPY_AND_ASSIGN(MockQuicSession); |
552 }; | 554 }; |
553 | 555 |
554 class MockQuicSpdySession : public QuicSpdySession { | 556 class MockQuicSpdySession : public QuicSpdySession { |
555 public: | 557 public: |
556 // Takes ownership of |connection|. | 558 // Takes ownership of |connection|. |
557 explicit MockQuicSpdySession(QuicConnection* connection); | 559 explicit MockQuicSpdySession(QuicConnection* connection); |
558 ~MockQuicSpdySession() override; | 560 ~MockQuicSpdySession() override; |
559 | 561 |
560 QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); } | 562 QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); } |
561 const SpdyHeaderBlock& GetWriteHeaders() { return write_headers_; } | 563 const SpdyHeaderBlock& GetWriteHeaders() { return write_headers_; } |
562 | 564 |
563 // From QuicSession. | 565 // From QuicSession. |
564 MOCK_METHOD3(OnConnectionClosed, | 566 MOCK_METHOD3(OnConnectionClosed, |
565 void(QuicErrorCode error, | 567 void(QuicErrorCode error, |
566 const std::string& error_details, | 568 const std::string& error_details, |
567 ConnectionCloseSource source)); | 569 ConnectionCloseSource source)); |
568 MOCK_METHOD1(CreateIncomingDynamicStream, QuicSpdyStream*(QuicStreamId id)); | 570 MOCK_METHOD1(CreateIncomingDynamicStream, QuicSpdyStream*(QuicStreamId id)); |
569 MOCK_METHOD1(CreateOutgoingDynamicStream, | 571 MOCK_METHOD1(CreateOutgoingDynamicStream, |
570 QuicSpdyStream*(SpdyPriority priority)); | 572 QuicSpdyStream*(SpdyPriority priority)); |
571 MOCK_METHOD1(ShouldCreateIncomingDynamicStream, bool(QuicStreamId id)); | 573 MOCK_METHOD1(ShouldCreateIncomingDynamicStream, bool(QuicStreamId id)); |
572 MOCK_METHOD0(ShouldCreateOutgoingDynamicStream, bool()); | 574 MOCK_METHOD0(ShouldCreateOutgoingDynamicStream, bool()); |
573 MOCK_METHOD6( | 575 MOCK_METHOD6( |
574 WritevData, | 576 WritevData, |
575 QuicConsumedData(QuicStream* stream, | 577 QuicConsumedData( |
576 QuicStreamId id, | 578 QuicStream* stream, |
577 QuicIOVector data, | 579 QuicStreamId id, |
578 QuicStreamOffset offset, | 580 QuicIOVector data, |
579 bool fin, | 581 QuicStreamOffset offset, |
580 scoped_refptr<QuicAckListenerInterface> ack_listener)); | 582 bool fin, |
| 583 QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener)); |
581 | 584 |
582 MOCK_METHOD3(SendRstStream, | 585 MOCK_METHOD3(SendRstStream, |
583 void(QuicStreamId stream_id, | 586 void(QuicStreamId stream_id, |
584 QuicRstStreamErrorCode error, | 587 QuicRstStreamErrorCode error, |
585 QuicStreamOffset bytes_written)); | 588 QuicStreamOffset bytes_written)); |
586 | 589 |
587 MOCK_METHOD2(OnStreamHeaders, | 590 MOCK_METHOD2(OnStreamHeaders, |
588 void(QuicStreamId stream_id, StringPiece headers_data)); | 591 void(QuicStreamId stream_id, StringPiece headers_data)); |
589 MOCK_METHOD2(OnStreamHeadersPriority, | 592 MOCK_METHOD2(OnStreamHeadersPriority, |
590 void(QuicStreamId stream_id, SpdyPriority priority)); | 593 void(QuicStreamId stream_id, SpdyPriority priority)); |
(...skipping 11 matching lines...) Expand all Loading... |
602 void(QuicStreamId stream_id, | 605 void(QuicStreamId stream_id, |
603 QuicStreamId promised_stream_id, | 606 QuicStreamId promised_stream_id, |
604 size_t frame_len)); | 607 size_t frame_len)); |
605 MOCK_METHOD4(OnPromiseHeaderList, | 608 MOCK_METHOD4(OnPromiseHeaderList, |
606 void(QuicStreamId stream_id, | 609 void(QuicStreamId stream_id, |
607 QuicStreamId promised_stream_id, | 610 QuicStreamId promised_stream_id, |
608 size_t frame_len, | 611 size_t frame_len, |
609 const QuicHeaderList& header_list)); | 612 const QuicHeaderList& header_list)); |
610 // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be | 613 // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be |
611 // mocked directly. | 614 // mocked directly. |
612 size_t WriteHeaders( | 615 size_t WriteHeaders(QuicStreamId id, |
613 QuicStreamId id, | 616 SpdyHeaderBlock headers, |
614 SpdyHeaderBlock headers, | 617 bool fin, |
615 bool fin, | 618 SpdyPriority priority, |
616 SpdyPriority priority, | 619 QuicReferenceCountedPointer<QuicAckListenerInterface> |
617 scoped_refptr<QuicAckListenerInterface> ack_notifier_delegate) override { | 620 ack_notifier_delegate) override { |
618 write_headers_ = std::move(headers); | 621 write_headers_ = std::move(headers); |
619 return WriteHeadersMock(id, write_headers_, fin, priority, | 622 return WriteHeadersMock(id, write_headers_, fin, priority, |
620 ack_notifier_delegate); | 623 ack_notifier_delegate); |
621 } | 624 } |
622 MOCK_METHOD5(WriteHeadersMock, | 625 MOCK_METHOD5( |
623 size_t(QuicStreamId id, | 626 WriteHeadersMock, |
624 const SpdyHeaderBlock& headers, | 627 size_t(QuicStreamId id, |
625 bool fin, | 628 const SpdyHeaderBlock& headers, |
626 SpdyPriority priority, | 629 bool fin, |
627 const scoped_refptr<QuicAckListenerInterface>& | 630 SpdyPriority priority, |
628 ack_notifier_delegate)); | 631 const QuicReferenceCountedPointer<QuicAckListenerInterface>& |
| 632 ack_notifier_delegate)); |
629 MOCK_METHOD1(OnHeadersHeadOfLineBlocking, void(QuicTime::Delta delta)); | 633 MOCK_METHOD1(OnHeadersHeadOfLineBlocking, void(QuicTime::Delta delta)); |
630 MOCK_METHOD4( | 634 MOCK_METHOD4( |
631 OnStreamFrameData, | 635 OnStreamFrameData, |
632 void(QuicStreamId stream_id, const char* data, size_t len, bool fin)); | 636 void(QuicStreamId stream_id, const char* data, size_t len, bool fin)); |
633 | 637 |
634 using QuicSession::ActivateStream; | 638 using QuicSession::ActivateStream; |
635 | 639 |
636 private: | 640 private: |
637 std::unique_ptr<QuicCryptoStream> crypto_stream_; | 641 std::unique_ptr<QuicCryptoStream> crypto_stream_; |
638 SpdyHeaderBlock write_headers_; | 642 SpdyHeaderBlock write_headers_; |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1056 iov->iov_base = const_cast<char*>(str.data()); | 1060 iov->iov_base = const_cast<char*>(str.data()); |
1057 iov->iov_len = static_cast<size_t>(str.size()); | 1061 iov->iov_len = static_cast<size_t>(str.size()); |
1058 QuicIOVector quic_iov(iov, 1, str.size()); | 1062 QuicIOVector quic_iov(iov, 1, str.size()); |
1059 return quic_iov; | 1063 return quic_iov; |
1060 } | 1064 } |
1061 | 1065 |
1062 } // namespace test | 1066 } // namespace test |
1063 } // namespace net | 1067 } // namespace net |
1064 | 1068 |
1065 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 1069 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
OLD | NEW |