mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Simplify middleware testing
This commit is contained in:
parent
5ec8ac08b0
commit
8adba07887
3 changed files with 24 additions and 20 deletions
|
@ -64,6 +64,10 @@ module Sidekiq
|
|||
entries.map(&:make_new)
|
||||
end
|
||||
|
||||
def clear
|
||||
entries.clear
|
||||
end
|
||||
|
||||
def invoke(*args, &final_action)
|
||||
chain = retrieve.dup
|
||||
traverse_chain = lambda do
|
||||
|
|
|
@ -6,9 +6,22 @@ require 'sidekiq/processor'
|
|||
class TestMiddleware < MiniTest::Unit::TestCase
|
||||
describe 'middleware chain' do
|
||||
before do
|
||||
$errors = []
|
||||
Sidekiq.redis = REDIS
|
||||
end
|
||||
|
||||
it 'handles errors' do
|
||||
handler = Sidekiq::Middleware::Server::ExceptionHandler.new
|
||||
|
||||
assert_raises ArgumentError do
|
||||
handler.call('', { :a => 1 }, 'default') do
|
||||
raise ArgumentError
|
||||
end
|
||||
end
|
||||
assert_equal 1, $errors.size
|
||||
assert_equal({ :a => 1 }, $errors[0][:parameters])
|
||||
end
|
||||
|
||||
class CustomMiddleware
|
||||
def initialize(name, recorder)
|
||||
@name = name
|
||||
|
@ -70,3 +83,10 @@ class TestMiddleware < MiniTest::Unit::TestCase
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
class FakeAirbrake
|
||||
def self.notify(ex, hash)
|
||||
$errors << hash
|
||||
end
|
||||
end
|
||||
Airbrake = FakeAirbrake
|
||||
|
|
|
@ -28,25 +28,5 @@ class TestProcessor < MiniTest::Unit::TestCase
|
|||
assert_equal 1, $invokes
|
||||
assert_equal 0, $errors.size
|
||||
end
|
||||
|
||||
it 'handles exceptions' do
|
||||
msg = { 'class' => MockWorker.to_s, 'args' => ['boom'] }
|
||||
processor = ::Sidekiq::Processor.new(@boss)
|
||||
assert_raises RuntimeError do
|
||||
processor.process(msg, 'default')
|
||||
end
|
||||
@boss.verify
|
||||
assert_equal 0, $invokes
|
||||
assert_equal 1, $errors.size
|
||||
assert_equal msg, $errors[0][:parameters]
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
class FakeAirbrake
|
||||
def self.notify(ex, hash)
|
||||
$errors << hash
|
||||
end
|
||||
end
|
||||
Airbrake = FakeAirbrake
|
||||
|
|
Loading…
Add table
Reference in a new issue