Sha256: 87707effeb2c550d20c50e04702c6e89d7adee042ee486ce2c79a9ff5842f652
Contents?: true
Size: 1.78 KB
Versions: 3
Compression:
Stored size: 1.78 KB
Contents
require 'logger' require 'spec_helper' require 'sneakers' require 'sneakers/runner' class DummyFlag def wait_for_set(*) true end end class DummyEngine include Sneakers::WorkerGroup attr_reader :config def initialize(config) @config = config @stop_flag = DummyFlag.new end end class DefaultsWorker include Sneakers::Worker from_queue 'defaults' def work(msg); end end class StubbedWorker attr_reader :opts def initialize(_, _, opts) @opts = opts end def run true end end describe Sneakers::WorkerGroup do let(:logger) { Logger.new('log/logtest.log') } let(:connection) { Bunny.new(host: 'any-host.local') } let(:runner) { Sneakers::Runner.new([DefaultsWorker]) } let(:runner_config) { runner.instance_variable_get('@runnerconfig') } let(:config) { runner_config.reload_config! } let(:engine) { DummyEngine.new(config) } describe '#run' do describe 'with connecion provided' do before do Sneakers.clear! Sneakers.configure(connection: connection, log: logger) end it 'creates workers with connection: connection' do DefaultsWorker.stub(:new, ->(*args) { StubbedWorker.new(*args) }) do engine.run workers = engine.instance_variable_get('@workers') workers.first.opts[:connection].must_equal(connection) end end end describe 'without connecion provided' do before do Sneakers.clear! Sneakers.configure(log: logger) end it 'creates workers with connection: nil' do DefaultsWorker.stub(:new, ->(*args) { StubbedWorker.new(*args) }) do engine.run workers = engine.instance_variable_get('@workers') assert_nil(workers.first.opts[:connection]) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sneakers-2.12.0 | spec/sneakers/workergroup_spec.rb |
sneakers-2.12.0.rc1 | spec/sneakers/workergroup_spec.rb |
sneakers-2.11.0 | spec/sneakers/workergroup_spec.rb |