spec/config_spec.rb in queue-bus-0.7.0 vs spec/config_spec.rb in queue-bus-0.8.0

- old
+ new

@@ -24,9 +24,43 @@ expect(QueueBus.local_mode).to eq(nil) QueueBus.local_mode = :standalone expect(QueueBus.local_mode).to eq(:standalone) end + describe '#with_local_mode' do + it 'sets the local mode on the thread' do + QueueBus.with_local_mode(:suppress) do + expect(QueueBus.local_mode).to eq :suppress + Thread.new { expect(QueueBus.local_mode).to eq nil }.join + end + end + + it 'supports nesting' do + QueueBus.with_local_mode(:suppress) do + expect(QueueBus.local_mode).to eq :suppress + QueueBus.with_local_mode(:inline) do + expect(QueueBus.local_mode).to eq :inline + end + expect(QueueBus.local_mode).to eq :suppress + end + end + + it 'respects an override of nil' do + QueueBus.local_mode = :suppress + QueueBus.with_local_mode(nil) do + expect(QueueBus.local_mode).to eq nil + end + QueueBus.local_mode = :suppress + end + + it 'resets to the original local mode after the block' do + QueueBus.with_local_mode(:suppress) do + expect(QueueBus.local_mode).to eq :suppress + end + expect(QueueBus.local_mode).to eq nil + end + end + it 'sets the hostname' do expect(QueueBus.hostname).not_to eq(nil) QueueBus.hostname = 'whatever' expect(QueueBus.hostname).to eq('whatever') end