mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Update testing to support scheduled API changes, fixes #218
This commit is contained in:
parent
5de88e5ef3
commit
de616bb188
4 changed files with 32 additions and 4 deletions
11
Changes.md
11
Changes.md
|
@ -1,3 +1,14 @@
|
|||
2.0.1
|
||||
-----------
|
||||
|
||||
- Update sidekiq/testing to support new scheduled jobs API:
|
||||
|
||||
require 'sidekiq/testing'
|
||||
DirectWorker.perform_in(10.seconds, 1, 2)
|
||||
assert_equal 1, DirectWorker.jobs.size
|
||||
assert_in_delta 10.seconds.from_now.to_f, DirectWorker.jobs.last['at'], 0.01
|
||||
|
||||
|
||||
2.0.0
|
||||
-----------
|
||||
|
||||
|
|
|
@ -30,6 +30,16 @@ module Sidekiq
|
|||
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
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
module Sidekiq
|
||||
VERSION = "2.0.0"
|
||||
VERSION = "2.0.1"
|
||||
end
|
||||
|
|
|
@ -53,9 +53,11 @@ class TestTesting < MiniTest::Unit::TestCase
|
|||
after do
|
||||
# Undo override
|
||||
Sidekiq::Worker::ClassMethods.class_eval do
|
||||
remove_method :perform_async
|
||||
alias_method :perform_async, :perform_async_old
|
||||
remove_method :perform_async_old
|
||||
%w(async at in).each do |token|
|
||||
remove_method :"perform_#{token}"
|
||||
alias_method :"perform_#{token}", :"perform_#{token}_old"
|
||||
remove_method :"perform_#{token}_old"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -63,6 +65,11 @@ class TestTesting < MiniTest::Unit::TestCase
|
|||
assert_equal 0, DirectWorker.jobs.size
|
||||
assert DirectWorker.perform_async(1, 2)
|
||||
assert_equal 1, DirectWorker.jobs.size
|
||||
assert DirectWorker.perform_in(10, 1, 2)
|
||||
assert_equal 2, DirectWorker.jobs.size
|
||||
assert DirectWorker.perform_at(10, 1, 2)
|
||||
assert_equal 3, DirectWorker.jobs.size
|
||||
assert_in_delta 10.seconds.from_now.to_f, DirectWorker.jobs.last['at'], 0.01
|
||||
end
|
||||
|
||||
it 'stubs the delay call on mailers' do
|
||||
|
|
Loading…
Add table
Reference in a new issue