Sha256: 72c54717f13940eb2bcf3647f701ec72cb9f8270880d062614b4b88f24a4a1fb
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
require_relative 'helper' require 'sidekiq/scheduled' class TestScheduling < Sidekiq::Test describe 'middleware' do before do Sidekiq::Client.instance_variable_set(:@default, nil) @redis = Minitest::Mock.new # Ugh, this is terrible. Sidekiq.instance_variable_set(:@redis, @redis) def @redis.multi; [yield] * 2 if block_given?; end def @redis.with; yield self; end end after do Sidekiq::Client.instance_variable_set(:@default, nil) Sidekiq.instance_variable_set(:@redis, REDIS) end class ScheduledWorker include Sidekiq::Worker sidekiq_options :queue => :custom_queue def perform(x) end end it 'schedules a job via interval' do @redis.expect :zadd, true, ['schedule', Array] assert ScheduledWorker.perform_in(600, 'mike') @redis.verify end it 'schedules a job via timestamp' do @redis.expect :zadd, true, ['schedule', Array] assert ScheduledWorker.perform_in(5.days.from_now, 'mike') @redis.verify end it 'schedules job right away on negative timestamp/interval' do @redis.expect :sadd, true, ['queues', 'custom_queue'] @redis.expect :lpush, true, ['queue:custom_queue', Array] assert ScheduledWorker.perform_in(-300, 'mike') @redis.verify end it 'schedules multiple jobs at once' do @redis.expect :zadd, true, ['schedule', Array] assert Sidekiq::Client.push_bulk('class' => ScheduledWorker, 'args' => [['mike'], ['mike']], 'at' => 600) @redis.verify end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-3.3.2 | test/test_scheduling.rb |
sidekiq-3.3.1 | test/test_scheduling.rb |