summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/http2/adapter/mock_http2_visitor.h
blob: 96f0978cee1663779b3c743d65f0d9f1ca204d04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#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, OnDataPaddingLength).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, OnDataPaddingLength,
              (Http2StreamId strema_id, size_t padding_length), (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_