Sha256: 6e9d3c4230288cc001241232778f30ac9a71de6bebedfa149d6918f2ee4783a8

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

require_relative 'helper'

class TestHistory < Sidetiq::TestCase
  class HistoryWorker
    include Sidekiq::Worker
    include Sidetiq::Schedulable
  end

  def test_success
    middlewared do; end

    entry = Sidekiq.redis do |redis|
      redis.lrange('sidetiq:TestHistory::HistoryWorker:history', 0, -1)
    end

    actual = JSON.parse(entry[0], symbolize_names: true)

    assert_equal 'success', actual[:status]

    assert_empty actual[:error]
    assert_empty actual[:backtrace]
    assert_empty actual[:exception]

    refute_empty actual[:node]
    refute_empty actual[:timestamp]
  end

  def test_failure
    begin
      middlewared do
        raise StandardError.new("failed")
      end
    rescue
    end

    entry = Sidekiq.redis do |redis|
      redis.lrange('sidetiq:TestHistory::HistoryWorker:history', 0, -1)
    end

    actual = JSON.parse(entry[0], symbolize_names: true)

    assert_equal 'failure', actual[:status]

    assert_equal "failed", actual[:error]
    assert_equal "StandardError", actual[:exception]
    refute_empty actual[:backtrace]

    refute_empty actual[:node]
    refute_empty actual[:timestamp]
  end

  def middlewared
    middleware = Sidetiq::Middleware::History.new

    middleware.call(HistoryWorker.new, {}, 'default') do
      yield
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sidetiq-0.4.0 test/test_history.rb
sidetiq-0.4.0.rc4 test/test_history.rb
sidetiq-0.4.0.rc3 test/test_history.rb
sidetiq-0.4.0.rc2 test/test_history.rb
sidetiq-0.4.0.rc1 test/test_history.rb