test/scheduler_test.rb in resque-scheduler-3.1.0 vs test/scheduler_test.rb in resque-scheduler-4.0.0

- old
+ new

@@ -54,22 +54,22 @@ Resque.expects(:enqueue_to).with('high', SomeIvarJob) Resque::Scheduler.enqueue_from_config(config) end test 'config makes it into the rufus_scheduler' do - assert_equal(0, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(0, Resque::Scheduler.rufus_scheduler.jobs.size) Resque.schedule = { some_ivar_job: { 'cron' => '* * * * *', 'class' => 'SomeIvarJob', 'args' => '/tmp' } } Resque::Scheduler.load_schedule! - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert Resque::Scheduler.scheduled_jobs.include?('some_ivar_job') end test 'can reload schedule' do Resque::Scheduler.dynamic = true @@ -81,21 +81,21 @@ } } Resque::Scheduler.load_schedule! - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert Resque::Scheduler.scheduled_jobs.include?('some_ivar_job') Resque.redis.del(:schedules) Resque.redis.hset(:schedules, 'some_ivar_job2', Resque.encode( 'cron' => '* * * * *', 'class' => 'SomeIvarJob', 'args' => '/tmp/2' )) Resque::Scheduler.reload_schedule! - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal '/tmp/2', Resque.schedule['some_ivar_job2']['args'] assert Resque::Scheduler.scheduled_jobs.include?('some_ivar_job2') end @@ -105,11 +105,11 @@ 'cron' => '* * * * *', 'class' => 'SomeIvarJob', 'args' => '/tmp' ) - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(1, Resque::Scheduler.scheduled_jobs.size) assert Resque::Scheduler.scheduled_jobs.keys.include?('some_ivar_job') end test 'load_schedule_job with every with options' do @@ -118,40 +118,40 @@ 'every' => ['30s', { 'first_in' => '60s' }], 'class' => 'SomeIvarJob', 'args' => '/tmp' ) - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(1, Resque::Scheduler.scheduled_jobs.size) assert Resque::Scheduler.scheduled_jobs.keys.include?('some_ivar_job') job = Resque::Scheduler.scheduled_jobs['some_ivar_job'] - assert job.params.keys.include?(:first_in) + assert job.opts.keys.include?(:first_in) end test 'load_schedule_job with cron with options' do Resque::Scheduler.load_schedule_job( 'some_ivar_job', 'cron' => ['* * * * *', { 'allow_overlapping' => 'true' }], 'class' => 'SomeIvarJob', 'args' => '/tmp' ) - assert_equal(1, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(1, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(1, Resque::Scheduler.scheduled_jobs.size) assert Resque::Scheduler.scheduled_jobs.keys.include?('some_ivar_job') job = Resque::Scheduler.scheduled_jobs['some_ivar_job'] - assert job.params.keys.include?(:allow_overlapping) + assert job.opts.keys.include?(:allow_overlapping) end test 'load_schedule_job without cron' do Resque::Scheduler.load_schedule_job( 'some_ivar_job', 'class' => 'SomeIvarJob', 'args' => '/tmp' ) - assert_equal(0, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(0, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(0, Resque::Scheduler.scheduled_jobs.size) assert !Resque::Scheduler.scheduled_jobs.keys.include?('some_ivar_job') end test 'load_schedule_job with an empty cron' do @@ -160,11 +160,11 @@ 'cron' => '', 'class' => 'SomeIvarJob', 'args' => '/tmp' ) - assert_equal(0, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(0, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(0, Resque::Scheduler.scheduled_jobs.size) assert !Resque::Scheduler.scheduled_jobs.keys.include?('some_ivar_job') end test 'update_schedule' do @@ -197,21 +197,41 @@ ) Resque.remove_schedule('another_ivar_job') Resque::Scheduler.update_schedule - assert_equal(3, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(3, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(3, Resque::Scheduler.scheduled_jobs.size) %w(some_ivar_job new_ivar_job stay_put_job).each do |job_name| assert Resque::Scheduler.scheduled_jobs.keys.include?(job_name) assert Resque.schedule.keys.include?(job_name) end assert !Resque::Scheduler.scheduled_jobs.keys.include?('another_ivar_job') assert !Resque.schedule.keys.include?('another_ivar_job') assert_equal 0, Resque.redis.scard(:schedules_changed) end + test 'update_schedule when all jobs have been removed' do + Resque::Scheduler.dynamic = true + Resque.schedule = { + 'some_ivar_job' => { + 'cron' => '* * * * *', 'class' => 'SomeIvarJob', 'args' => '/tmp' + } + } + + Resque::Scheduler.load_schedule! + + Resque.remove_schedule('some_ivar_job') + + Resque::Scheduler.update_schedule + + assert_equal(0, Resque::Scheduler.rufus_scheduler.jobs.size) + assert_equal(0, Resque::Scheduler.scheduled_jobs.size) + assert_equal([], Resque::Scheduler.scheduled_jobs.keys) + assert_equal 0, Resque.redis.scard(:schedules_changed) + end + test 'update_schedule with mocks' do Resque::Scheduler.dynamic = true Resque.schedule = { 'some_ivar_job' => { 'cron' => '* * * * *', 'class' => 'SomeIvarJob', 'args' => '/tmp' @@ -269,11 +289,11 @@ ) end background_delayed_update.join Resque::Scheduler.update_schedule - assert_equal(jobs_count, Resque::Scheduler.rufus_scheduler.all_jobs.size) + assert_equal(jobs_count, Resque::Scheduler.rufus_scheduler.jobs.size) assert_equal(jobs_count, Resque::Scheduler.scheduled_jobs.size) assert_equal 0, Resque.redis.scard(:schedules_changed) end test 'schedule= sets the schedule' do @@ -433,10 +453,10 @@ Resque::Scheduler.expects(:log!).at_least_once end test 'prints schedule' do fake_rufus_scheduler = mock - fake_rufus_scheduler.expects(:all_jobs).at_least_once + fake_rufus_scheduler.expects(:jobs).at_least_once .returns(foo: OpenStruct.new(t: nil, last: nil)) Resque::Scheduler.expects(:rufus_scheduler).at_least_once .returns(fake_rufus_scheduler) Resque::Scheduler.print_schedule end