xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/http2/adapter/mock_http2_visitor.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 #ifndef QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_H_
2 #define QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_H_
3 
4 #include <cstdint>
5 
6 #include "quiche/http2/adapter/http2_visitor_interface.h"
7 #include "quiche/common/platform/api/quiche_export.h"
8 #include "quiche/common/platform/api/quiche_test.h"
9 
10 namespace http2 {
11 namespace adapter {
12 namespace test {
13 
14 // A mock visitor class, for use in tests.
15 class QUICHE_NO_EXPORT MockHttp2Visitor : public Http2VisitorInterface {
16  public:
MockHttp2Visitor()17   MockHttp2Visitor() {
18     ON_CALL(*this, OnFrameHeader).WillByDefault(testing::Return(true));
19     ON_CALL(*this, OnBeginHeadersForStream)
20         .WillByDefault(testing::Return(true));
21     ON_CALL(*this, OnHeaderForStream).WillByDefault(testing::Return(HEADER_OK));
22     ON_CALL(*this, OnEndHeadersForStream).WillByDefault(testing::Return(true));
23     ON_CALL(*this, OnDataPaddingLength).WillByDefault(testing::Return(true));
24     ON_CALL(*this, OnBeginDataForStream).WillByDefault(testing::Return(true));
25     ON_CALL(*this, OnDataForStream).WillByDefault(testing::Return(true));
26     ON_CALL(*this, OnEndStream).WillByDefault(testing::Return(true));
27     ON_CALL(*this, OnCloseStream).WillByDefault(testing::Return(true));
28     ON_CALL(*this, OnGoAway).WillByDefault(testing::Return(true));
29     ON_CALL(*this, OnInvalidFrame).WillByDefault(testing::Return(true));
30     ON_CALL(*this, OnMetadataForStream).WillByDefault(testing::Return(true));
31     ON_CALL(*this, OnMetadataEndForStream).WillByDefault(testing::Return(true));
32   }
33 
34   MOCK_METHOD(int64_t, OnReadyToSend, (absl::string_view serialized),
35               (override));
36   MOCK_METHOD(void, OnConnectionError, (ConnectionError error), (override));
37   MOCK_METHOD(bool, OnFrameHeader,
38               (Http2StreamId stream_id, size_t length, uint8_t type,
39                uint8_t flags),
40               (override));
41   MOCK_METHOD(void, OnSettingsStart, (), (override));
42   MOCK_METHOD(void, OnSetting, (Http2Setting setting), (override));
43   MOCK_METHOD(void, OnSettingsEnd, (), (override));
44   MOCK_METHOD(void, OnSettingsAck, (), (override));
45   MOCK_METHOD(bool, OnBeginHeadersForStream, (Http2StreamId stream_id),
46               (override));
47 
48   MOCK_METHOD(OnHeaderResult, OnHeaderForStream,
49               (Http2StreamId stream_id, absl::string_view key,
50                absl::string_view value),
51               (override));
52 
53   MOCK_METHOD(bool, OnEndHeadersForStream, (Http2StreamId stream_id),
54               (override));
55 
56   MOCK_METHOD(bool, OnDataPaddingLength,
57               (Http2StreamId strema_id, size_t padding_length), (override));
58 
59   MOCK_METHOD(bool, OnBeginDataForStream,
60               (Http2StreamId stream_id, size_t payload_length), (override));
61 
62   MOCK_METHOD(bool, OnDataForStream,
63               (Http2StreamId stream_id, absl::string_view data), (override));
64 
65   MOCK_METHOD(bool, OnEndStream, (Http2StreamId stream_id), (override));
66 
67   MOCK_METHOD(void, OnRstStream,
68               (Http2StreamId stream_id, Http2ErrorCode error_code), (override));
69 
70   MOCK_METHOD(bool, OnCloseStream,
71               (Http2StreamId stream_id, Http2ErrorCode error_code), (override));
72 
73   MOCK_METHOD(void, OnPriorityForStream,
74               (Http2StreamId stream_id, Http2StreamId parent_stream_id,
75                int weight, bool exclusive),
76               (override));
77 
78   MOCK_METHOD(void, OnPing, (Http2PingId ping_id, bool is_ack), (override));
79 
80   MOCK_METHOD(void, OnPushPromiseForStream,
81               (Http2StreamId stream_id, Http2StreamId promised_stream_id),
82               (override));
83 
84   MOCK_METHOD(bool, OnGoAway,
85               (Http2StreamId last_accepted_stream_id, Http2ErrorCode error_code,
86                absl::string_view opaque_data),
87               (override));
88 
89   MOCK_METHOD(void, OnWindowUpdate,
90               (Http2StreamId stream_id, int window_increment), (override));
91 
92   MOCK_METHOD(int, OnBeforeFrameSent,
93               (uint8_t frame_type, Http2StreamId stream_id, size_t length,
94                uint8_t flags),
95               (override));
96 
97   MOCK_METHOD(int, OnFrameSent,
98               (uint8_t frame_type, Http2StreamId stream_id, size_t length,
99                uint8_t flags, uint32_t error_code),
100               (override));
101 
102   MOCK_METHOD(bool, OnInvalidFrame,
103               (Http2StreamId stream_id, InvalidFrameError error), (override));
104 
105   MOCK_METHOD(void, OnBeginMetadataForStream,
106               (Http2StreamId stream_id, size_t payload_length), (override));
107 
108   MOCK_METHOD(bool, OnMetadataForStream,
109               (Http2StreamId stream_id, absl::string_view metadata),
110               (override));
111 
112   MOCK_METHOD(bool, OnMetadataEndForStream, (Http2StreamId stream_id),
113               (override));
114 
115   MOCK_METHOD(void, OnErrorDebug, (absl::string_view message), (override));
116 };
117 
118 }  // namespace test
119 }  // namespace adapter
120 }  // namespace http2
121 
122 #endif  // QUICHE_HTTP2_ADAPTER_MOCK_HTTP2_VISITOR_H_
123