/proc/self/cwd/test/mocks/stream_info/mocks.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include "envoy/config/core/v3/base.pb.h" |
4 | | #include "envoy/http/request_id_extension.h" |
5 | | #include "envoy/stream_info/stream_info.h" |
6 | | |
7 | | #include "source/common/network/socket_impl.h" |
8 | | #include "source/common/stream_info/filter_state_impl.h" |
9 | | #include "source/common/stream_info/stream_info_impl.h" |
10 | | |
11 | | #include "test/mocks/upstream/host.h" |
12 | | #include "test/test_common/simulated_time_system.h" |
13 | | |
14 | | #include "gmock/gmock.h" |
15 | | |
16 | | namespace testing { |
17 | | |
18 | | template <> |
19 | | class Matcher<Envoy::StreamInfo::ResponseFlag> |
20 | | : public internal::MatcherBase<Envoy::StreamInfo::ResponseFlag> { |
21 | | public: |
22 | | explicit Matcher() = default; |
23 | | |
24 | | template <typename M, typename = typename std::remove_reference<M>::type::is_gtest_matcher> |
25 | | Matcher(M&& m) : internal::MatcherBase<Envoy::StreamInfo::ResponseFlag>(std::forward<M>(m)) {} |
26 | | |
27 | 0 | Matcher(Envoy::StreamInfo::ResponseFlag value) { *this = Eq(value); } |
28 | 0 | Matcher(Envoy::StreamInfo::CoreResponseFlag value) { |
29 | 0 | *this = Eq(Envoy::StreamInfo::ResponseFlag(value)); |
30 | 0 | } |
31 | | |
32 | | explicit Matcher(const MatcherInterface<const Envoy::StreamInfo::ResponseFlag&>* impl) |
33 | 387k | : internal::MatcherBase<Envoy::StreamInfo::ResponseFlag>(impl) {} |
34 | | |
35 | | template <typename U> |
36 | | explicit Matcher(const MatcherInterface<U>* impl, |
37 | | typename std::enable_if<!std::is_same<U, const U&>::value>::type* = nullptr) |
38 | | : internal::MatcherBase<Envoy::StreamInfo::ResponseFlag>(impl) {} |
39 | | }; |
40 | | |
41 | | } // namespace testing |
42 | | |
43 | | namespace Envoy { |
44 | | namespace StreamInfo { |
45 | | |
46 | | class MockUpstreamInfo : public UpstreamInfo { |
47 | | public: |
48 | | MockUpstreamInfo(); |
49 | | ~MockUpstreamInfo() override; |
50 | | |
51 | | MOCK_METHOD(void, dumpState, (std::ostream & os, int indent_level), (const)); |
52 | | MOCK_METHOD(void, setUpstreamConnectionId, (uint64_t id)); |
53 | | MOCK_METHOD(absl::optional<uint64_t>, upstreamConnectionId, (), (const)); |
54 | | MOCK_METHOD(void, setUpstreamInterfaceName, (absl::string_view interface_name)); |
55 | | MOCK_METHOD(absl::optional<absl::string_view>, upstreamInterfaceName, (), (const)); |
56 | | MOCK_METHOD(void, setUpstreamSslConnection, |
57 | | (const Ssl::ConnectionInfoConstSharedPtr& ssl_connection_info)); |
58 | | MOCK_METHOD(Ssl::ConnectionInfoConstSharedPtr, upstreamSslConnection, (), (const)); |
59 | | MOCK_METHOD(UpstreamTiming&, upstreamTiming, ()); |
60 | | MOCK_METHOD(const UpstreamTiming&, upstreamTiming, (), (const)); |
61 | | MOCK_METHOD(void, setUpstreamLocalAddress, |
62 | | (const Network::Address::InstanceConstSharedPtr& upstream_local_address)); |
63 | | MOCK_METHOD(const Network::Address::InstanceConstSharedPtr&, upstreamLocalAddress, (), (const)); |
64 | | MOCK_METHOD(void, setUpstreamRemoteAddress, |
65 | | (const Network::Address::InstanceConstSharedPtr& upstream_remote_address)); |
66 | | MOCK_METHOD(const Network::Address::InstanceConstSharedPtr&, upstreamRemoteAddress, (), (const)); |
67 | | MOCK_METHOD(void, setUpstreamTransportFailureReason, (absl::string_view failure_reason)); |
68 | | MOCK_METHOD(const std::string&, upstreamTransportFailureReason, (), (const)); |
69 | | MOCK_METHOD(void, setUpstreamHost, (Upstream::HostDescriptionConstSharedPtr host)); |
70 | | MOCK_METHOD(Upstream::HostDescriptionConstSharedPtr, upstreamHost, (), (const)); |
71 | | MOCK_METHOD(const FilterStateSharedPtr&, upstreamFilterState, (), (const)); |
72 | | MOCK_METHOD(void, setUpstreamFilterState, (const FilterStateSharedPtr& filter_state)); |
73 | | MOCK_METHOD(void, setUpstreamNumStreams, (uint64_t num_streams)); |
74 | | MOCK_METHOD(uint64_t, upstreamNumStreams, (), (const)); |
75 | | MOCK_METHOD(void, setUpstreamProtocol, (Http::Protocol protocol)); |
76 | | MOCK_METHOD(absl::optional<Http::Protocol>, upstreamProtocol, (), (const)); |
77 | | |
78 | | absl::optional<uint64_t> upstream_connection_id_; |
79 | | absl::optional<absl::string_view> interface_name_; |
80 | | Ssl::ConnectionInfoConstSharedPtr ssl_connection_info_; |
81 | | UpstreamTiming upstream_timing_; |
82 | | Network::Address::InstanceConstSharedPtr upstream_local_address_; |
83 | | Network::Address::InstanceConstSharedPtr upstream_remote_address_; |
84 | | std::string failure_reason_; |
85 | | Upstream::HostDescriptionConstSharedPtr upstream_host_; |
86 | | FilterStateSharedPtr filter_state_; |
87 | | uint64_t num_streams_ = 0; |
88 | | absl::optional<Http::Protocol> upstream_protocol_; |
89 | | }; |
90 | | |
91 | | class MockStreamInfo : public StreamInfo { |
92 | | public: |
93 | | MockStreamInfo(); |
94 | | ~MockStreamInfo() override; |
95 | | |
96 | | // StreamInfo::StreamInfo |
97 | | MOCK_METHOD(void, setResponseFlag, (ResponseFlag response_flag)); |
98 | | MOCK_METHOD(void, setResponseCode, (uint32_t)); |
99 | | MOCK_METHOD(void, setResponseCodeDetails, (absl::string_view)); |
100 | | MOCK_METHOD(void, setConnectionTerminationDetails, (absl::string_view)); |
101 | | MOCK_METHOD(void, onUpstreamHostSelected, (Upstream::HostDescriptionConstSharedPtr host)); |
102 | | MOCK_METHOD(SystemTime, startTime, (), (const)); |
103 | | MOCK_METHOD(MonotonicTime, startTimeMonotonic, (), (const)); |
104 | | MOCK_METHOD(TimeSource&, timeSource, (), (const)); |
105 | | MOCK_METHOD(void, setUpstreamInfo, (std::shared_ptr<UpstreamInfo>)); |
106 | | MOCK_METHOD(std::shared_ptr<UpstreamInfo>, upstreamInfo, ()); |
107 | | MOCK_METHOD(OptRef<const UpstreamInfo>, upstreamInfo, (), (const)); |
108 | | MOCK_METHOD(void, onRequestComplete, ()); |
109 | | MOCK_METHOD(absl::optional<std::chrono::nanoseconds>, currentDuration, (), (const)); |
110 | | MOCK_METHOD(absl::optional<std::chrono::nanoseconds>, requestComplete, (), (const)); |
111 | | MOCK_METHOD(DownstreamTiming&, downstreamTiming, ()); |
112 | | MOCK_METHOD(OptRef<const DownstreamTiming>, downstreamTiming, (), (const)); |
113 | | MOCK_METHOD(void, addBytesReceived, (uint64_t)); |
114 | | MOCK_METHOD(uint64_t, bytesReceived, (), (const)); |
115 | | MOCK_METHOD(void, addBytesRetransmitted, (uint64_t)); |
116 | | MOCK_METHOD(uint64_t, bytesRetransmitted, (), (const)); |
117 | | MOCK_METHOD(void, addPacketsRetransmitted, (uint64_t)); |
118 | | MOCK_METHOD(uint64_t, packetsRetransmitted, (), (const)); |
119 | | MOCK_METHOD(void, addWireBytesReceived, (uint64_t)); |
120 | | MOCK_METHOD(uint64_t, wireBytesReceived, (), (const)); |
121 | | MOCK_METHOD(void, setVirtualClusterName, |
122 | | (const absl::optional<std::string>& virtual_cluster_name)); |
123 | | MOCK_METHOD(const std::string&, getRouteName, (), (const)); |
124 | | MOCK_METHOD(const absl::optional<std::string>&, virtualClusterName, (), (const)); |
125 | | MOCK_METHOD(absl::optional<Http::Protocol>, protocol, (), (const)); |
126 | | MOCK_METHOD(void, protocol, (Http::Protocol protocol)); |
127 | | MOCK_METHOD(absl::optional<uint32_t>, responseCode, (), (const)); |
128 | | MOCK_METHOD(const absl::optional<std::string>&, responseCodeDetails, (), (const)); |
129 | | MOCK_METHOD(const absl::optional<std::string>&, connectionTerminationDetails, (), (const)); |
130 | | MOCK_METHOD(void, addBytesSent, (uint64_t)); |
131 | | MOCK_METHOD(uint64_t, bytesSent, (), (const)); |
132 | | MOCK_METHOD(void, addWireBytesSent, (uint64_t)); |
133 | | MOCK_METHOD(uint64_t, wireBytesSent, (), (const)); |
134 | | MOCK_METHOD(bool, hasResponseFlag, (ResponseFlag), (const)); |
135 | | MOCK_METHOD(bool, hasAnyResponseFlag, (), (const)); |
136 | | MOCK_METHOD(absl::Span<const ResponseFlag>, responseFlags, (), (const)); |
137 | | MOCK_METHOD(uint64_t, legacyResponseFlags, (), (const)); |
138 | | MOCK_METHOD(bool, healthCheck, (), (const)); |
139 | | MOCK_METHOD(void, healthCheck, (bool is_health_check)); |
140 | | MOCK_METHOD(const Network::ConnectionInfoProvider&, downstreamAddressProvider, (), (const)); |
141 | | MOCK_METHOD(Router::RouteConstSharedPtr, route, (), (const)); |
142 | | MOCK_METHOD(envoy::config::core::v3::Metadata&, dynamicMetadata, ()); |
143 | | MOCK_METHOD(const envoy::config::core::v3::Metadata&, dynamicMetadata, (), (const)); |
144 | | MOCK_METHOD(void, setDynamicMetadata, (const std::string&, const ProtobufWkt::Struct&)); |
145 | | MOCK_METHOD(void, setDynamicMetadata, |
146 | | (const std::string&, const std::string&, const std::string&)); |
147 | | MOCK_METHOD(void, setDynamicTypedMetadata, (const std::string&, const ProtobufWkt::Any& value)); |
148 | | MOCK_METHOD(const FilterStateSharedPtr&, filterState, ()); |
149 | | MOCK_METHOD(const FilterState&, filterState, (), (const)); |
150 | | MOCK_METHOD(void, setRequestHeaders, (const Http::RequestHeaderMap&)); |
151 | | MOCK_METHOD(const Http::RequestHeaderMap*, getRequestHeaders, (), (const)); |
152 | | MOCK_METHOD(void, setUpstreamClusterInfo, (const Upstream::ClusterInfoConstSharedPtr&)); |
153 | | MOCK_METHOD(absl::optional<Upstream::ClusterInfoConstSharedPtr>, upstreamClusterInfo, (), |
154 | | (const)); |
155 | | MOCK_METHOD(OptRef<const StreamIdProvider>, getStreamIdProvider, (), (const)); |
156 | | MOCK_METHOD(void, setStreamIdProvider, (StreamIdProviderSharedPtr provider)); |
157 | | MOCK_METHOD(void, setTraceReason, (Tracing::Reason reason)); |
158 | | MOCK_METHOD(Tracing::Reason, traceReason, (), (const)); |
159 | | MOCK_METHOD(absl::optional<uint64_t>, connectionID, (), (const)); |
160 | | MOCK_METHOD(void, setConnectionID, (uint64_t)); |
161 | | MOCK_METHOD(void, setAttemptCount, (uint32_t), ()); |
162 | | MOCK_METHOD(absl::optional<uint32_t>, attemptCount, (), (const)); |
163 | | MOCK_METHOD(const BytesMeterSharedPtr&, getUpstreamBytesMeter, (), (const)); |
164 | | MOCK_METHOD(const BytesMeterSharedPtr&, getDownstreamBytesMeter, (), (const)); |
165 | | MOCK_METHOD(void, setUpstreamBytesMeter, (const BytesMeterSharedPtr&)); |
166 | | MOCK_METHOD(void, setDownstreamBytesMeter, (const BytesMeterSharedPtr&)); |
167 | | MOCK_METHOD(void, dumpState, (std::ostream & os, int indent_level), (const)); |
168 | | MOCK_METHOD(bool, isShadow, (), (const, override)); |
169 | | MOCK_METHOD(void, setDownstreamTransportFailureReason, (absl::string_view failure_reason)); |
170 | | MOCK_METHOD(absl::string_view, downstreamTransportFailureReason, (), (const)); |
171 | | MOCK_METHOD(bool, shouldSchemeMatchUpstream, (), (const)); |
172 | | MOCK_METHOD(void, setShouldSchemeMatchUpstream, (bool)); |
173 | | MOCK_METHOD(bool, shouldDrainConnectionUponCompletion, (), (const)); |
174 | | MOCK_METHOD(void, setShouldDrainConnectionUponCompletion, (bool)); |
175 | | MOCK_METHOD(void, setParentStreamInfo, (const StreamInfo&), ()); |
176 | | MOCK_METHOD(void, clearParentStreamInfo, ()); |
177 | | MOCK_METHOD(OptRef<const StreamInfo>, parentStreamInfo, (), (const)); |
178 | | |
179 | | Envoy::Event::SimulatedTimeSystem ts_; |
180 | | SystemTime start_time_; |
181 | | MonotonicTime start_time_monotonic_; |
182 | | absl::optional<std::chrono::nanoseconds> end_time_; |
183 | | absl::optional<Http::Protocol> protocol_; |
184 | | absl::optional<uint32_t> response_code_; |
185 | | absl::optional<std::string> response_code_details_; |
186 | | absl::optional<std::string> connection_termination_details_; |
187 | | absl::optional<Upstream::ClusterInfoConstSharedPtr> upstream_cluster_info_; |
188 | | std::shared_ptr<UpstreamInfo> upstream_info_; |
189 | | absl::InlinedVector<ResponseFlag, 4> response_flags_{}; |
190 | | envoy::config::core::v3::Metadata metadata_; |
191 | | FilterStateSharedPtr filter_state_; |
192 | | uint64_t bytes_received_{}; |
193 | | uint64_t bytes_sent_{}; |
194 | | std::shared_ptr<Network::ConnectionInfoSetterImpl> downstream_connection_info_provider_; |
195 | | BytesMeterSharedPtr upstream_bytes_meter_; |
196 | | BytesMeterSharedPtr downstream_bytes_meter_; |
197 | | Ssl::ConnectionInfoConstSharedPtr downstream_connection_info_; |
198 | | std::string route_name_; |
199 | | absl::optional<uint32_t> attempt_count_; |
200 | | absl::optional<std::string> virtual_cluster_name_; |
201 | | DownstreamTiming downstream_timing_; |
202 | | std::string downstream_transport_failure_reason_; |
203 | | }; |
204 | | |
205 | | } // namespace StreamInfo |
206 | | } // namespace Envoy |