Sha256: 176577ad9720b9e54302c82fd12f3dd948e4295334122f02db1ef8c3aae9ab2c
Contents?: true
Size: 1.99 KB
Versions: 2
Compression:
Stored size: 1.99 KB
Contents
require 'spec_helper' require 'shoryuken/manager' describe Shoryuken::Manager do describe 'Auto Scaling' do it 'decreases weight' do queue1 = 'shoryuken' queue2 = 'uppercut' Shoryuken.queues.clear # [shoryuken, 2] # [uppercut, 1] Shoryuken.queues << queue1 Shoryuken.queues << queue1 Shoryuken.queues << queue2 expect(subject.instance_variable_get('@queues')).to eq [queue1, queue2] subject.pause_queue!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2] end it 'increases weight' do queue1 = 'shoryuken' queue2 = 'uppercut' Shoryuken.queues.clear # [shoryuken, 3] # [uppercut, 1] Shoryuken.queues << queue1 Shoryuken.queues << queue1 Shoryuken.queues << queue1 Shoryuken.queues << queue2 expect(subject.instance_variable_get('@queues')).to eq [queue1, queue2] subject.pause_queue!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2] subject.rebalance_queue_weight!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2, queue1] subject.rebalance_queue_weight!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2, queue1, queue1] subject.rebalance_queue_weight!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2, queue1, queue1, queue1] end it 'adds queue back' do queue1 = 'shoryuken' queue2 = 'uppercut' Shoryuken.queues.clear # [shoryuken, 2] # [uppercut, 1] Shoryuken.queues << queue1 Shoryuken.queues << queue1 Shoryuken.queues << queue2 Shoryuken.options[:delay] = 0.1 fetcher = double('Fetcher').as_null_object subject.fetcher = fetcher subject.pause_queue!(queue1) expect(subject.instance_variable_get('@queues')).to eq [queue2] sleep 0.5 expect(subject.instance_variable_get('@queues')).to eq [queue2, queue1] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shoryuken-0.0.3 | spec/shoryuken/manager_spec.rb |
shoryuken-0.0.2 | spec/shoryuken/manager_spec.rb |