Mosquito::TestBackend
Inherits Mosquito::Backend < Reference < Object
An in-memory noop backend desigend to be used in application testing.
The test mode backend simply makes a copy of job_runs at enqueue time and holds them in a class getter array.
Job run id, config (aka parameters), and runtime class are kept in memory, and a truncate utility function is provided.
Activate test mode configure the test backend like this:
Mosquito.configure do |settings|
settings.backend = Mosquito::TestBackend
end
Then in your tests:
describe "testing" do
it "enqueues the job" do
# build and enqueue a job
job_run = EchoJob.new(text: "hello world").enqueue
# assert that the job was enqueued
lastest_enqueued_job = Mosquito::TestBackend.enqueued_jobs.last
# check the job config
assert_equal "hello world", latest_enqueued_job.config["text"]
# check the job_id matches
assert_equal job_run.id, latest_enqueued_job.id
# optionally, truncate the history
Mosquito::TestBackend.flush_enqueued_jobs!
end
end
Class methods
enqueued_jobs
Sourceflush
Sourceflush_enqueued_jobs!
Sourcelist_queues
Sourcelist_runners
SourceInstance methods
dequeue
Sourcedeschedule
Sourcedump_dead_q
Sourcedump_pending_q
Sourcedump_scheduled_q
Sourcedump_waiting_q
Sourcefinish(job_run : JobRun)
Sourceflush
Sourceterminate(job_run : JobRun)
Source