@@ -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