|  | #ifndef QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_INTERFACE_H_ | 
|  | #define QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_INTERFACE_H_ | 
|  |  | 
|  | #include <cstdint> | 
|  |  | 
|  | #include "http2/adapter/http2_visitor_interface.h" | 
|  | #include "common/platform/api/quiche_export.h" | 
|  | #include "common/platform/api/quiche_test.h" | 
|  |  | 
|  | namespace http2 { | 
|  | namespace adapter { | 
|  | namespace test { | 
|  |  | 
|  | // A mock visitor class, for use in tests. | 
|  | class QUICHE_NO_EXPORT MockHttp2Visitor : public Http2VisitorInterface { | 
|  | public: | 
|  | MockHttp2Visitor() { | 
|  | ON_CALL(*this, OnFrameHeader).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnBeginHeadersForStream) | 
|  | .WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnHeaderForStream).WillByDefault(testing::Return(HEADER_OK)); | 
|  | ON_CALL(*this, OnEndHeadersForStream).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnBeginDataForStream).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnDataForStream).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnGoAway).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnInvalidFrame).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnMetadataForStream).WillByDefault(testing::Return(true)); | 
|  | ON_CALL(*this, OnMetadataEndForStream).WillByDefault(testing::Return(true)); | 
|  | } | 
|  |  | 
|  | MOCK_METHOD(int64_t, OnReadyToSend, (absl::string_view serialized), | 
|  | (override)); | 
|  | MOCK_METHOD(void, OnConnectionError, (ConnectionError error), (override)); | 
|  | MOCK_METHOD(bool, OnFrameHeader, | 
|  | (Http2StreamId stream_id, size_t length, uint8_t type, | 
|  | uint8_t flags), | 
|  | (override)); | 
|  | MOCK_METHOD(void, OnSettingsStart, (), (override)); | 
|  | MOCK_METHOD(void, OnSetting, (Http2Setting setting), (override)); | 
|  | MOCK_METHOD(void, OnSettingsEnd, (), (override)); | 
|  | MOCK_METHOD(void, OnSettingsAck, (), (override)); | 
|  | MOCK_METHOD(bool, OnBeginHeadersForStream, (Http2StreamId stream_id), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(OnHeaderResult, OnHeaderForStream, | 
|  | (Http2StreamId stream_id, absl::string_view key, | 
|  | absl::string_view value), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnEndHeadersForStream, (Http2StreamId stream_id), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnBeginDataForStream, | 
|  | (Http2StreamId stream_id, size_t payload_length), (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnDataForStream, | 
|  | (Http2StreamId stream_id, absl::string_view data), (override)); | 
|  |  | 
|  | MOCK_METHOD(void, OnEndStream, (Http2StreamId stream_id), (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnRstStream, | 
|  | (Http2StreamId stream_id, Http2ErrorCode error_code), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnCloseStream, | 
|  | (Http2StreamId stream_id, Http2ErrorCode error_code), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnPriorityForStream, | 
|  | (Http2StreamId stream_id, | 
|  | Http2StreamId parent_stream_id, | 
|  | int weight, | 
|  | bool exclusive), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(void, OnPing, (Http2PingId ping_id, bool is_ack), (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnPushPromiseForStream, | 
|  | (Http2StreamId stream_id, Http2StreamId promised_stream_id), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnGoAway, | 
|  | (Http2StreamId last_accepted_stream_id, Http2ErrorCode error_code, | 
|  | absl::string_view opaque_data), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnWindowUpdate, | 
|  | (Http2StreamId stream_id, int window_increment), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(int, OnBeforeFrameSent, | 
|  | (uint8_t frame_type, Http2StreamId stream_id, size_t length, | 
|  | uint8_t flags), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(int, OnFrameSent, | 
|  | (uint8_t frame_type, Http2StreamId stream_id, size_t length, | 
|  | uint8_t flags, uint32_t error_code), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnInvalidFrame, | 
|  | (Http2StreamId stream_id, InvalidFrameError error), (override)); | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | OnBeginMetadataForStream, | 
|  | (Http2StreamId stream_id, size_t payload_length), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnMetadataForStream, | 
|  | (Http2StreamId stream_id, absl::string_view metadata), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(bool, OnMetadataEndForStream, (Http2StreamId stream_id), | 
|  | (override)); | 
|  |  | 
|  | MOCK_METHOD(void, OnErrorDebug, (absl::string_view message), (override)); | 
|  | }; | 
|  |  | 
|  | }  // namespace test | 
|  | }  // namespace adapter | 
|  | }  // namespace http2 | 
|  |  | 
|  | #endif  // QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_INTERFACE_H_ |