Skip to content

Commit

Permalink
add Lamian::SidekiqRavenMiddleware spec + minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
tycooon committed Dec 26, 2018
1 parent 766999d commit 17a99b8
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 2 deletions.
2 changes: 2 additions & 0 deletions lib/lamian/engine.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ class Engine < ::Rails::Engine
paths["app/views"] << "lib/lamian/rails_views"

initializer "lamian.use_rack_middleware" do |app|
# :nocov:
app.config.middleware.unshift(Lamian::Middleware)
# :nocov:
end
end
end
3 changes: 2 additions & 1 deletion lib/lamian/raven_context_extension.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ module Lamian::RavenContextExtension
# Adds current lamian log to the extra part of all raven events generated inside Lamian.run block
# @see https://www.rubydoc.info/gems/sentry-raven/0.9.2/Raven/Context#extra-instance_method
def extra
log = Lamian.dump(format: :txt) or return super
log = Lamian.dump(format: :txt)
return super unless log
extra = super || {}
extra.merge(lamian_log: log)
end
Expand Down
2 changes: 1 addition & 1 deletion spec/lamian/raven_context_extension_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
context "outside of Lamian.run block" do
it "doesn't add lamian log" do
Raven.capture_message("msg")
expect(extra_info["lamian_log"]).to eq(nil)
expect(extra_info).not_to have_key("lamian_log")
end
end
end
16 changes: 16 additions & 0 deletions spec/lamian/sidekiq_raven_middleware_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# frozen_string_literal: true

describe Lamian::SidekiqRavenMiddleware, :cool_loggers do
it "call Raven.extra_context with proper lamian_log" do
expect(Raven).to receive(:extra_context).with(lamian_log: "some log\n")

middleware_call = proc do
Lamian::SidekiqRavenMiddleware.new.call do
generic_logger.info "some log"
raise "some error"
end
end

expect(middleware_call).to raise_error(RuntimeError, "some error")
end
end

0 comments on commit 17a99b8

Please sign in to comment.