/proc/self/cwd/test/mocks/tracing/mocks.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include <string> |
4 | | #include <vector> |
5 | | |
6 | | #include "envoy/tracing/trace_driver.h" |
7 | | #include "envoy/tracing/tracer.h" |
8 | | #include "envoy/tracing/tracer_manager.h" |
9 | | |
10 | | #include "gmock/gmock.h" |
11 | | |
12 | | namespace Envoy { |
13 | | namespace Tracing { |
14 | | |
15 | | class MockConfig : public Config { |
16 | | public: |
17 | | MockConfig(); |
18 | | ~MockConfig() override; |
19 | | |
20 | | MOCK_METHOD(OperationName, operationName, (), (const)); |
21 | | MOCK_METHOD(const CustomTagMap*, customTags, (), (const)); |
22 | | MOCK_METHOD(bool, verbose, (), (const)); |
23 | | MOCK_METHOD(uint32_t, maxPathTagLength, (), (const)); |
24 | | MOCK_METHOD(bool, spawnUpstreamSpan, (), (const)); |
25 | | |
26 | | OperationName operation_name_{OperationName::Ingress}; |
27 | | CustomTagMap custom_tags_; |
28 | | bool verbose_{false}; |
29 | | bool spawn_upstream_span_{false}; |
30 | | }; |
31 | | |
32 | | class MockSpan : public Span { |
33 | | public: |
34 | | MockSpan(); |
35 | | ~MockSpan() override; |
36 | | |
37 | | MOCK_METHOD(void, setOperation, (absl::string_view operation)); |
38 | | MOCK_METHOD(void, setTag, (absl::string_view name, absl::string_view value)); |
39 | | MOCK_METHOD(void, log, (SystemTime timestamp, const std::string& event)); |
40 | | MOCK_METHOD(void, finishSpan, ()); |
41 | | MOCK_METHOD(void, injectContext, |
42 | | (Tracing::TraceContext & request_headers, const Tracing::UpstreamContext& upstream)); |
43 | | MOCK_METHOD(void, setSampled, (const bool sampled)); |
44 | | MOCK_METHOD(void, setBaggage, (absl::string_view key, absl::string_view value)); |
45 | | MOCK_METHOD(std::string, getBaggage, (absl::string_view key)); |
46 | | MOCK_METHOD(std::string, getTraceId, (), (const)); |
47 | | MOCK_METHOD(std::string, getSpanId, (), (const)); |
48 | | |
49 | | SpanPtr spawnChild(const Config& config, const std::string& name, |
50 | 0 | SystemTime start_time) override { |
51 | 0 | return SpanPtr{spawnChild_(config, name, start_time)}; |
52 | 0 | } |
53 | | |
54 | | MOCK_METHOD(Span*, spawnChild_, |
55 | | (const Config& config, const std::string& name, SystemTime start_time)); |
56 | | }; |
57 | | |
58 | | class MockTracer : public Tracer { |
59 | | public: |
60 | | MockTracer(); |
61 | | ~MockTracer() override; |
62 | | |
63 | | SpanPtr startSpan(const Config& config, TraceContext& trace_context, |
64 | | const StreamInfo::StreamInfo& stream_info, |
65 | 0 | Tracing::Decision tracing_decision) override { |
66 | 0 | return SpanPtr{startSpan_(config, trace_context, stream_info, tracing_decision)}; |
67 | 0 | } |
68 | | |
69 | | MOCK_METHOD(Span*, startSpan_, |
70 | | (const Config& config, TraceContext& trace_context, |
71 | | const StreamInfo::StreamInfo& stream_info, Tracing::Decision tracing_decision)); |
72 | | }; |
73 | | |
74 | | class MockDriver : public Driver { |
75 | | public: |
76 | | MockDriver(); |
77 | | ~MockDriver() override; |
78 | | |
79 | | SpanPtr startSpan(const Config& config, TraceContext& trace_context, |
80 | | const StreamInfo::StreamInfo& stream_info, const std::string& operation_name, |
81 | 0 | Tracing::Decision tracing_decision) override { |
82 | 0 | return SpanPtr{ |
83 | 0 | startSpan_(config, trace_context, stream_info, operation_name, tracing_decision)}; |
84 | 0 | } |
85 | | |
86 | | MOCK_METHOD(Span*, startSpan_, |
87 | | (const Config& config, TraceContext& trace_context, |
88 | | const StreamInfo::StreamInfo& stream_info, const std::string& operation_name, |
89 | | Tracing::Decision tracing_decision)); |
90 | | }; |
91 | | |
92 | | class MockTracerManager : public TracerManager { |
93 | | public: |
94 | | MockTracerManager(); |
95 | | ~MockTracerManager() override; |
96 | | |
97 | | MOCK_METHOD(TracerSharedPtr, getOrCreateTracer, (const envoy::config::trace::v3::Tracing_Http*)); |
98 | | }; |
99 | | |
100 | | } // namespace Tracing |
101 | | } // namespace Envoy |