From 795fe952d1d4f6813258596625df31d5c0c0e6e9 Mon Sep 17 00:00:00 2001 From: brainopia Date: Fri, 11 Jan 2013 15:15:12 +0400 Subject: [PATCH] Spec available queues --- spec/integration_spec.rb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 spec/integration_spec.rb diff --git a/spec/integration_spec.rb b/spec/integration_spec.rb new file mode 100644 index 0000000..72b4e84 --- /dev/null +++ b/spec/integration_spec.rb @@ -0,0 +1,35 @@ +require 'sidekiq/limit_fetch' + +describe Sidekiq::LimitFetch do + before(:each) do + Sidekiq.redis do |it| + it.del 'queue:example' + it.rpush 'queue:example', 'task' + it.expire 'queue:example', 30 + end + end + + def queues(fetcher) + fetcher.available_queues.map(&:full_name) + end + + def new_fetcher(options={}) + described_class.new options.merge queues: %w(example example example2 example2) + end + + it 'should retrieve weighted queues' do + fetcher = new_fetcher + queues(fetcher).should =~ %w(queue:example queue:example2) + end + + it 'should retrieve strictly ordered queues' do + fetcher = new_fetcher strict: true + queues(fetcher).should == %w(queue:example queue:example2) + end + + it 'should retrieve limited queues' do + fetcher = new_fetcher strict: true, limits: { 'example' => 2 } + 2.times { queues(fetcher).should == %w(queue:example queue:example2) } + queues(fetcher).should == %w(queue:example2) + end +end