@@ -4,7 +4,7 @@ defmodule Sentry.Integrations.Oban.ErrorReporterTest do
44 alias Sentry.Integrations.Oban.ErrorReporter
55
66 defmodule MyWorker do
7- use Oban.Worker
7+ use Oban.Worker , tags: [ "tag1" , "tag2" ]
88
99 @ impl Oban.Worker
1010 def perform ( % Oban.Job { } ) , do: :ok
@@ -33,6 +33,7 @@ defmodule Sentry.Integrations.Oban.ErrorReporterTest do
3333 assert event . tags . oban_queue == "default"
3434 assert event . tags . oban_state == "available"
3535 assert event . tags . oban_worker == "Sentry.Integrations.Oban.ErrorReporterTest.MyWorker"
36+ assert event . tags . oban_tags == "tag1,tag2"
3637 assert % { job: % Oban.Job { } } = event . integration_meta . oban
3738
3839 assert event . fingerprint == [ @ worker_as_string , "{{ default }}" ]
@@ -64,6 +65,7 @@ defmodule Sentry.Integrations.Oban.ErrorReporterTest do
6465 assert event . tags . oban_queue == "default"
6566 assert event . tags . oban_state == "available"
6667 assert event . tags . oban_worker == "Sentry.Integrations.Oban.ErrorReporterTest.MyWorker"
68+ assert event . tags . oban_tags == "tag1,tag2"
6769 assert % { job: % Oban.Job { } } = event . integration_meta . oban
6870
6971 assert event . fingerprint == [ @ worker_as_string , "{{ default }}" ]
@@ -154,11 +156,29 @@ defmodule Sentry.Integrations.Oban.ErrorReporterTest do
154156 assert Sentry.Test . pop_sentry_reports ( ) == [ ]
155157 end
156158 end
159+
160+ test "includes oban_tags when config option is enabled" do
161+ Sentry.Test . start_collecting ( )
162+
163+ emit_telemetry_for_failed_job ( :error , % RuntimeError { message: "oops" } , [ ] , oban_tags: true )
164+
165+ assert [ event ] = Sentry.Test . pop_sentry_reports ( )
166+ assert event . tags . oban_tags == "tag1,tag2"
167+ end
168+
169+ test "excludes oban_tags when config option is disabled" do
170+ Sentry.Test . start_collecting ( )
171+
172+ emit_telemetry_for_failed_job ( :error , % RuntimeError { message: "oops" } , [ ] , oban_tags: false )
173+
174+ assert [ event ] = Sentry.Test . pop_sentry_reports ( )
175+ assert is_nil ( Map . get ( event . tags , :oban_tags ) )
176+ end
157177 end
158178
159179 ## Helpers
160180
161- defp emit_telemetry_for_failed_job ( kind , reason , stacktrace ) do
181+ defp emit_telemetry_for_failed_job ( kind , reason , stacktrace , config \\ [ ] ) do
162182 job =
163183 % { "id" => "123" , "entity" => "user" , "type" => "delete" }
164184 |> MyWorker . new ( )
@@ -169,7 +189,7 @@ defmodule Sentry.Integrations.Oban.ErrorReporterTest do
169189 [ :oban , :job , :exception ] ,
170190 % { } ,
171191 % { job: job , kind: kind , reason: reason , stacktrace: stacktrace } ,
172- :no_config
192+ config
173193 )
174194
175195 job
0 commit comments