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
|
2.0.0
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,16 @@ module Sidekiq
|
||||||
true
|
true
|
||||||
end
|
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
|
def jobs
|
||||||
@pushed ||= []
|
@pushed ||= []
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
module Sidekiq
|
module Sidekiq
|
||||||
VERSION = "2.0.0"
|
VERSION = "2.0.1"
|
||||||
end
|
end
|
||||||
|
|
|
@ -53,9 +53,11 @@ class TestTesting < MiniTest::Unit::TestCase
|
||||||
after do
|
after do
|
||||||
# Undo override
|
# Undo override
|
||||||
Sidekiq::Worker::ClassMethods.class_eval do
|
Sidekiq::Worker::ClassMethods.class_eval do
|
||||||
remove_method :perform_async
|
%w(async at in).each do |token|
|
||||||
alias_method :perform_async, :perform_async_old
|
remove_method :"perform_#{token}"
|
||||||
remove_method :perform_async_old
|
alias_method :"perform_#{token}", :"perform_#{token}_old"
|
||||||
|
remove_method :"perform_#{token}_old"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -63,6 +65,11 @@ class TestTesting < MiniTest::Unit::TestCase
|
||||||
assert_equal 0, DirectWorker.jobs.size
|
assert_equal 0, DirectWorker.jobs.size
|
||||||
assert DirectWorker.perform_async(1, 2)
|
assert DirectWorker.perform_async(1, 2)
|
||||||
assert_equal 1, DirectWorker.jobs.size
|
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
|
end
|
||||||
|
|
||||||
it 'stubs the delay call on mailers' do
|
it 'stubs the delay call on mailers' do
|
||||||
|
|
Loading…
Add table
Reference in a new issue