Sha256: 678e1eed67696e0e780d4289a049886c3326fc11d754c7d91ba9c930b1eb6669

Contents?: true

Size: 1.15 KB

Versions: 46

Compression:

Stored size: 1.15 KB

Contents

require 'test_helper'

class Workhorse::DbJobTest < WorkhorseTest
  def test_reset_succeeded
    job = Workhorse.enqueue(BasicJob.new(sleep_time: 0))
    work 0.5
    job.reload
    assert_equal 'succeeded', job.state

    job.reset!

    assert_clean job
  end

  def test_reset_failed
    job = Workhorse.enqueue FailingTestJob
    work 0.5
    job.reload
    assert_equal 'failed', job.state

    job.reset!

    assert_clean job
  end

  def test_reset_locked_unforced
    job = Workhorse.enqueue(BasicJob.new(sleep_time: 0))
    job.mark_locked!(42)

    err = assert_raises do
      job.reset!
    end
    assert_equal %(Job #{job.id} is not in state [:succeeded, :failed] but in state "locked".), err.message
  end

  def test_forced_reset
    job = Workhorse.enqueue(BasicJob.new(sleep_time: 0))
    job.mark_locked!(42)

    assert_nothing_raised do
      job.reset!(true)
    end

    assert_clean job
  end

  private

  def assert_clean(job)
    assert_equal 'waiting', job.state
    assert_nil job.locked_by
    assert_nil job.locked_at
    assert_nil job.started_at
    assert_nil job.failed_at
    assert_nil job.succeeded_at
    assert_nil job.last_error
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
workhorse-1.2.24 test/workhorse/db_job_test.rb
workhorse-1.2.23 test/workhorse/db_job_test.rb
workhorse-1.2.22 test/workhorse/db_job_test.rb
workhorse-1.2.21 test/workhorse/db_job_test.rb
workhorse-1.2.20 test/workhorse/db_job_test.rb
workhorse-1.2.17 test/workhorse/db_job_test.rb
workhorse-1.2.17.rc2 test/workhorse/db_job_test.rb
workhorse-1.2.17.rc1 test/workhorse/db_job_test.rb
workhorse-1.2.17.rc0 test/workhorse/db_job_test.rb
workhorse-1.2.16 test/workhorse/db_job_test.rb
workhorse-1.2.15 test/workhorse/db_job_test.rb
workhorse-1.2.14 test/workhorse/db_job_test.rb
workhorse-1.2.13 test/workhorse/db_job_test.rb
workhorse-1.2.12 test/workhorse/db_job_test.rb
workhorse-1.2.11 test/workhorse/db_job_test.rb
workhorse-1.2.10 test/workhorse/db_job_test.rb
workhorse-1.2.9 test/workhorse/db_job_test.rb
workhorse-1.2.8 test/workhorse/db_job_test.rb
workhorse-1.2.7 test/workhorse/db_job_test.rb
workhorse-1.2.6 test/workhorse/db_job_test.rb