Skip to content

Commit d3f7048

Browse files
committed
Add test for handling invalid traces_sampler return values
1 parent e616c21 commit d3f7048

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

test/sentry/opentelemetry/sampler_test.exs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,31 @@ defmodule Sentry.Opentelemetry.SamplerTest do
442442
Sampler.should_sample(test_ctx, 123, nil, "test span", nil, %{}, drop: [])
443443
end
444444

445+
test "handles invalid traces_sampler return values gracefully" do
446+
test_cases = [
447+
-0.5,
448+
1.5,
449+
2.0,
450+
"invalid",
451+
:invalid,
452+
%{invalid: true},
453+
[1, 2, 3],
454+
nil
455+
]
456+
457+
Enum.each(test_cases, fn invalid_value ->
458+
put_test_config(traces_sampler: fn _ -> invalid_value end)
459+
460+
test_ctx = create_test_span_context()
461+
462+
result = Sampler.should_sample(test_ctx, 123, nil, "test span", nil, %{}, drop: [])
463+
464+
assert {:drop, [], tracestate} = result
465+
assert {"sentry-sample_rate", "0.0"} in tracestate
466+
assert {"sentry-sampled", "false"} in tracestate
467+
end)
468+
end
469+
445470
test "supports MFA tuple for traces_sampler" do
446471
defmodule TestSampler do
447472
def sample(_sampling_context), do: 0.25

0 commit comments

Comments
 (0)