diff --git a/lib/sidekiq/testing.rb b/lib/sidekiq/testing.rb index c99859f2..3a7324d4 100644 --- a/lib/sidekiq/testing.rb +++ b/lib/sidekiq/testing.rb @@ -24,22 +24,12 @@ module Sidekiq # assert_equal 1, Sidekiq::Extensions::DelayedMailer.jobs.size # module ClassMethods - alias_method :perform_async_old, :perform_async - def perform_async(*args) - jobs << { 'class' => self.name, 'args' => args } + alias_method :client_push_old, :client_push + def client_push(opts) + jobs << opts true end - alias_method :perform_in_old, :perform_in - alias_method :perform_at_old, :perform_at - def perform_in(interval, *args) - int = interval.to_f - ts = (int < 1_000_000_000 ? Time.now.to_f + int : int) - jobs << { 'class' => self.name, 'args' => args, 'at' => ts } - true - end - alias_method :perform_at, :perform_in - def jobs @pushed ||= [] end diff --git a/lib/sidekiq/worker.rb b/lib/sidekiq/worker.rb index 36df704e..00fb5b5b 100644 --- a/lib/sidekiq/worker.rb +++ b/lib/sidekiq/worker.rb @@ -32,13 +32,13 @@ module Sidekiq module ClassMethods def perform_async(*args) - Sidekiq::Client.push('class' => self, 'args' => args) + client_push('class' => self, 'args' => args) end def perform_in(interval, *args) int = interval.to_f ts = (int < 1_000_000_000 ? Time.now.to_f + int : int) - Sidekiq::Client.push('class' => self, 'args' => args, 'at' => ts) + client_push('class' => self, 'args' => args, 'at' => ts) end alias_method :perform_at, :perform_in @@ -68,6 +68,11 @@ module Sidekiq end hash end + + def client_push(*args) + Sidekiq::Client.push(*args) + end + end end end diff --git a/test/test_testing.rb b/test/test_testing.rb index 679f93e8..0d1c2c49 100644 --- a/test/test_testing.rb +++ b/test/test_testing.rb @@ -53,11 +53,9 @@ class TestTesting < MiniTest::Unit::TestCase after do # Undo override Sidekiq::Worker::ClassMethods.class_eval do - %w(async at in).each do |token| - remove_method :"perform_#{token}" - alias_method :"perform_#{token}", :"perform_#{token}_old" - remove_method :"perform_#{token}_old" - end + remove_method :client_push + alias_method :client_push, :client_push_old + remove_method :client_push_old end end