Sha256: 4ed2e2391a2db7260b4a80ead35965ba649e24db84eeb0716b818b179703bfe9

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

require 'test_helper'

module Sidekiq
  module Lock
    describe Middleware do
      before do
        Sidekiq.redis = REDIS
        Sidekiq.redis { |c| c.flushdb }
        reset_lock_variable!
      end

      let(:handler) { Sidekiq::Lock::Middleware.new }

      it 'sets lock variable with provided static lock options' do
        handler.call(LockWorker.new, { 'class' => LockWorker, 'args' => [] }, 'default') do
          true
        end

        assert_kind_of RedisLock, lock_container_variable
      end

      it 'sets lock variable with provided dynamic options' do
        handler.call(DynamicLockWorker.new, { 'class' => DynamicLockWorker, 'args' => [1234, 1000] }, 'default') do
          true
        end

        assert_equal "lock:1234", lock_container_variable.name
        assert_equal 2000, lock_container_variable.timeout
      end

      it 'sets nothing for workers without lock options' do
        handler.call(RegularWorker.new, { 'class' => RegularWorker, 'args' => [] }, 'default') do
          true
        end

        assert_nil lock_container_variable
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sidekiq-lock-0.5.0 test/lib/middleware_test.rb
sidekiq-lock-0.4.0 test/lib/middleware_test.rb