Sha256: edc50e362e38ae7daa8ffb0d32c1f339c5c5cc85640a3c7b6ba58a2c67d574da

Contents?: true

Size: 948 Bytes

Versions: 2

Compression:

Stored size: 948 Bytes

Contents

require 'helper'
require 'sidekiq'
require 'sidekiq/manager'
require 'timed_queue'

class TestManager < MiniTest::Unit::TestCase
  describe 'with redis' do
    before do
      Sidekiq::Client.redis = @redis = Redis.connect(:url => 'redis://localhost/sidekiq_test')
      @redis.flushdb
      $processed = 0
    end

    class IntegrationWorker
      include Sidekiq::Worker

      def perform(a, b)
        $processed += 1
        a + b
      end
    end

    it 'processes messages' do
      Sidekiq::Client.push(:foo, 'class' => IntegrationWorker, 'args' => [1, 2])
      Sidekiq::Client.push(:foo, 'class' => IntegrationWorker, 'args' => [1, 2])

      q = TimedQueue.new
      mgr = Sidekiq::Manager.new("redis://localhost/sidekiq_test", :queues => [:foo])
      mgr.when_done do |_|
        q << 'done' if $processed == 2
      end
      mgr.start!
      result = q.timed_pop
      assert_equal 'done', result
      mgr.stop
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sidekiq-0.5.1 test/test_manager.rb
sidekiq-0.5.0 test/test_manager.rb