]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | // Copyright The OpenTelemetry Authors |
2 | // SPDX-License-Identifier: Apache-2.0 | |
3 | ||
4 | #include <gtest/gtest.h> | |
5 | #include "opentelemetry/sdk/trace/samplers/always_off.h" | |
6 | #include "opentelemetry/trace/span_context_kv_iterable_view.h" | |
7 | ||
8 | using opentelemetry::sdk::trace::AlwaysOffSampler; | |
9 | using opentelemetry::sdk::trace::Decision; | |
10 | using opentelemetry::trace::SpanContext; | |
11 | namespace trace_api = opentelemetry::trace; | |
12 | ||
13 | TEST(AlwaysOffSampler, ShouldSample) | |
14 | { | |
15 | AlwaysOffSampler sampler; | |
16 | ||
17 | trace_api::TraceId trace_id; | |
18 | trace_api::SpanKind span_kind = trace_api::SpanKind::kInternal; | |
19 | ||
20 | using M = std::map<std::string, int>; | |
21 | M m1 = {{}}; | |
22 | ||
23 | using L = std::vector<std::pair<SpanContext, std::map<std::string, std::string>>>; | |
24 | L l1 = {{SpanContext(false, false), {}}, {SpanContext(false, false), {}}}; | |
25 | ||
26 | opentelemetry::common::KeyValueIterableView<M> view{m1}; | |
27 | trace_api::SpanContextKeyValueIterableView<L> links{l1}; | |
28 | ||
29 | auto sampling_result = | |
30 | sampler.ShouldSample(SpanContext::GetInvalid(), trace_id, "", span_kind, view, links); | |
31 | ||
32 | ASSERT_EQ(Decision::DROP, sampling_result.decision); | |
33 | ASSERT_EQ(nullptr, sampling_result.attributes); | |
34 | ASSERT_EQ("", sampling_result.trace_state->ToHeader()); | |
35 | } | |
36 | ||
37 | TEST(AlwaysOffSampler, GetDescription) | |
38 | { | |
39 | AlwaysOffSampler sampler; | |
40 | ||
41 | ASSERT_EQ("AlwaysOffSampler", sampler.GetDescription()); | |
42 | } |