Skip to content

Commit 248f64d

Browse files
committed
Test telemetry for muted errors
1 parent 633a7f6 commit 248f64d

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

test/error_tracker/telemetry_test.exs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,36 @@ defmodule ErrorTracker.TelemetryTest do
1111
end
1212

1313
test "events are emitted for new errors" do
14+
{exception, stacktrace} =
15+
try do
16+
raise "This is a test"
17+
rescue
18+
e -> {e, __STACKTRACE__}
19+
end
20+
1421
# Since the error is new, both the new error and new occurrence events will be emitted
15-
report_error(fn -> raise "This is a test" end)
22+
%Occurrence{error: error = %Error{}} = ErrorTracker.report(exception, stacktrace)
1623
assert_receive {:telemetry_event, [:error_tracker, :error, :new], _, %{error: %Error{}}}
1724

1825
assert_receive {:telemetry_event, [:error_tracker, :occurrence, :new], _,
1926
%{occurrence: %Occurrence{}}}
2027

2128
# The error is already known so the new error event won't be emitted
22-
report_error(fn -> raise "This is a test" end)
29+
ErrorTracker.report(exception, stacktrace)
2330

24-
refute_receive {:telemetry_event, [:error_tracker, :error, :new], _,
25-
%{occurrence: %Occurrence{}}},
31+
refute_receive {:telemetry_event, [:error_tracker, :error, :new], _, %{error: %Error{}}},
2632
150
2733

2834
assert_receive {:telemetry_event, [:error_tracker, :occurrence, :new], _,
2935
%{occurrence: %Occurrence{}}}
36+
37+
# The error is muted so the new occurrence event won't be emitted
38+
ErrorTracker.mute(error)
39+
ErrorTracker.report(exception, stacktrace)
40+
41+
refute_receive {:telemetry_event, [:error_tracker, :occurrence, :new], _,
42+
%{occurrence: %Occurrence{}}},
43+
150
3044
end
3145

3246
test "events are emitted for resolved and unresolved errors" do

0 commit comments

Comments
 (0)