1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Add JID for inline testing, fixes #1454

This commit is contained in:
Mike Perham 2014-01-30 09:22:07 -08:00
parent 3a6cadce49
commit b0107b5d99
3 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,11 @@
HEAD
-----------
- Fix JID support in inline testing, #1454
- Polish worker arguments display in UI, #1453
- Marshal arguments fully to avoid worker mutation, #1452
2.17.3 2.17.3
----------- -----------

View file

@ -1,3 +1,5 @@
require 'securerandom'
module Sidekiq module Sidekiq
class Testing class Testing
@ -64,8 +66,11 @@ module Sidekiq
true true
elsif Sidekiq::Testing.inline? elsif Sidekiq::Testing.inline?
payloads.each do |item| payloads.each do |item|
jid = item['jid'] || SecureRandom.hex(12)
marshalled = Sidekiq.load_json(Sidekiq.dump_json(item)) marshalled = Sidekiq.load_json(Sidekiq.dump_json(item))
marshalled['class'].constantize.new.perform(*marshalled['args']) worker = marshalled['class'].constantize.new
worker.jid = jid
worker.perform(*marshalled['args'])
end end
true true
else else

View file

@ -17,6 +17,7 @@ class TestInline < Sidekiq::Test
class InlineWorker class InlineWorker
include Sidekiq::Worker include Sidekiq::Worker
def perform(pass) def perform(pass)
raise ArgumentError, "no jid" unless jid
raise InlineError unless pass raise InlineError unless pass
end end
end end