endofunky--sidetiq/test/test_history.rb

63 lines
1.3 KiB
Ruby
Raw Permalink Normal View History

2013-09-16 13:48:51 +00:00
require_relative 'helper'
class TestHistory < Sidetiq::TestCase
class HistoryWorker
include Sidekiq::Worker
include Sidetiq::Schedulable
end
def test_success
middlewared do; end
entry = Sidekiq.redis do |redis|
redis.lrange('sidetiq:TestHistory::HistoryWorker:history', 0, -1)
end
actual = Sidekiq.load_json(entry[0]).symbolize_keys
2013-09-16 13:48:51 +00:00
assert_equal 'success', actual[:status]
assert_empty actual[:error]
assert_empty actual[:backtrace]
assert_empty actual[:exception]
2013-09-16 15:21:54 +00:00
refute_empty actual[:node]
refute_empty actual[:timestamp]
2014-09-05 00:24:28 +00:00
assert actual[:runtime] > 0
2013-09-16 13:48:51 +00:00
end
def test_failure
begin
middlewared do
raise StandardError.new("failed")
end
rescue
end
entry = Sidekiq.redis do |redis|
redis.lrange('sidetiq:TestHistory::HistoryWorker:history', 0, -1)
end
actual = Sidekiq.load_json(entry[0]).symbolize_keys
2013-09-16 13:48:51 +00:00
assert_equal 'failure', actual[:status]
assert_equal "failed", actual[:error]
assert_equal "StandardError", actual[:exception]
refute_empty actual[:backtrace]
2013-09-16 15:21:54 +00:00
refute_empty actual[:node]
refute_empty actual[:timestamp]
2014-09-05 00:24:28 +00:00
assert actual[:runtime] > 0
2013-09-16 13:48:51 +00:00
end
def middlewared
middleware = Sidetiq::Middleware::History.new
middleware.call(HistoryWorker.new, {}, 'default') do
yield
end
end
end