diff --git a/sentry-ruby/lib/sentry/rspec.rb b/sentry-ruby/lib/sentry/rspec.rb index a158910ec..a9518a5c5 100644 --- a/sentry-ruby/lib/sentry/rspec.rb +++ b/sentry-ruby/lib/sentry/rspec.rb @@ -17,7 +17,7 @@ @tags = tags end - def verify_exception(event, exception: nil, message: nil) + def verify_exception(event, exception: nil, message: nil, **) return true unless exception && message event.exception.values.any? do |sentry_exception| @@ -25,15 +25,15 @@ def verify_exception(event, exception: nil, message: nil) end end - def verify_context(event, **opts) - return true unless @context + def verify_context(event, context: @context, **) + return true unless context - event.contexts.any? { |key, value| value == @context[key] } + event.contexts.any? { |key, value| value == context[key] } end - def verify_tags(event, **opts) - return true unless @tags + def verify_tags(event, tags: @tags, **) + return true unless tags - @tags.all? { |key, value| event.tags.include?(key) && event.tags[key] == value } + tags.all? { |key, value| event.tags.include?(key) && event.tags[key] == value } end end diff --git a/sentry-ruby/spec/sentry/rspec/matchers_spec.rb b/sentry-ruby/spec/sentry/rspec/matchers_spec.rb index 5bc3d3e4c..a7d9e5655 100644 --- a/sentry-ruby/spec/sentry/rspec/matchers_spec.rb +++ b/sentry-ruby/spec/sentry/rspec/matchers_spec.rb @@ -94,5 +94,21 @@ .with_tags({ foo: "bar", baz: "qux" }) .with_context("rails.error" => { some: "stuff" }) end + + it "matches error events with tags and context provided as arguments" do + Sentry.set_tags(foo: "bar", baz: "qux") + Sentry.set_context("rails.error", { some: "stuff" }) + + exception = StandardError.new("Gaah!") + + Sentry.capture_exception(exception) + + expect(sentry_events).to include_sentry_event( + exception: exception.class, + message: exception.message, + tags: { foo: "bar", baz: "qux" }, + context: { "rails.error" => { some: "stuff" } } + ) + end end end