Module: ResqueUnit::SchedulerAssertions

Defined in:
lib/resque_unit/scheduler_assertions.rb

Instance Method Summary collapse

Instance Method Details

#assert_not_queued_at(expected_timestamp, klass, args = nil, message = nil) ⇒ Object

opposite of assert_queued_at



28
29
30
31
32
# File 'lib/resque_unit/scheduler_assertions.rb', line 28

def assert_not_queued_at(expected_timestamp, klass, args = nil, message = nil)
  queue = Resque.queue_for(klass)
  assert !in_timestamped_queue?(queue, expected_timestamp, klass, args),
    (message || "#{klass} should not have been queued in #{queue} before #{expected_timestamp}.")
end

#assert_not_queued_in(expected_time_difference, klass, args = nil, message = nil) ⇒ Object

opposite of assert_queued_in



35
36
37
# File 'lib/resque_unit/scheduler_assertions.rb', line 35

def assert_not_queued_in(expected_time_difference, klass, args = nil, message = nil)
  assert_not_queued_at(Time.now + expected_time_difference, klass, args, message)
end

#assert_queued_at(expected_timestamp, klass, args = nil, message = nil) ⇒ Object

Asserts that klass has been queued into its appropriate queue at least once, with a timestamp less than or equal to expected_timestamp. If the job wasn’t queued with a timestamp, the assertion fails.. If args is nil, it only asserts that the klass has been queued. Otherwise, it asserts that the klass has been queued with the correct arguments. Pass an empty array for args if you want to assert that klass has been queued without arguments.



15
16
17
18
19
# File 'lib/resque_unit/scheduler_assertions.rb', line 15

def assert_queued_at(expected_timestamp, klass, args = nil, message = nil)
  queue = Resque.queue_for(klass)
  assert in_timestamped_queue?(queue, expected_timestamp, klass, args),
    (message || "#{klass} should have been queued in #{queue} before #{expected_timestamp}: #{Resque.queue(queue).inspect}.")
end

#assert_queued_in(expected_time_difference, klass, args = nil, message = nil) ⇒ Object

Similar to assert_queued_at, except it takes an expected time difference (in seconds) instead of a timestamp.



23
24
25
# File 'lib/resque_unit/scheduler_assertions.rb', line 23

def assert_queued_in(expected_time_difference, klass, args = nil, message = nil)
  assert_queued_at(Time.now + expected_time_difference, klass, args, message)
end