Sha256: 8a1f40773ced6aab59a5277a514e826921672d99feb8a3add658176f3e81e43b
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
require 'fake_smith' class MyAgent < Smith::Agent def run receiver("ack_twice_queue", :auto_ack => false).subscribe(&method(:ack_twice)) receiver("ack_once_queue", :auto_ack => false).subscribe(&method(:ack_once)) receiver("auto_ack_and_ack_queue", :auto_ack => true).subscribe(&method(:auto_ack_and_ack)) end def ack_twice(payload, receiver) receiver.ack receiver.ack end def ack_once(payload, receiver) receiver.ack end def auto_ack_and_ack(payload, receiver) receiver.ack end end describe FakeSmith do let(:receiver) { double(:receiver, :ack => true) } let(:message) { {} } let(:agent) { MyAgent.new } before(:each) do agent.run end describe 'acking messages twice' do it 'raises errors' do expect { FakeSmith.send_message("ack_twice_queue", message, receiver) }.to raise_error(FakeSmith::MessageAckedTwiceError) end it 'raises errors when acking once and auto_ack' do expect { FakeSmith.send_message("auto_ack_and_ack_queue", message, receiver) }.to raise_error(FakeSmith::MessageAckedTwiceError) end end describe 'acking' do it 'acks the passed in receiver' do expect(receiver).to receive(:ack) FakeSmith.send_message("ack_once_queue", message, receiver) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fake_smith-0.5.0 | spec/fake_smith_spec.rb |
fake_smith-0.4.0 | spec/fake_smith_spec.rb |
fake_smith-0.3.0 | spec/fake_smith_spec.rb |