Sha256: 6a4dc1956680c9573c52d35ac62c14a4a896eccac641a88697dcaa38fe4febe6
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'spec_helper' describe 'Concurrency' do let(:freddy) { Freddy.build(logger, config) } it 'supports nested calls in #respond_to' do freddy.respond_to 'Concurrency1' do |payload, msg_handler| begin result = freddy.deliver_with_response 'Concurrency2', msg: 'noop' msg_handler.success(result) rescue Freddy::ErrorResponse => e msg_handler.error(e.response) end end freddy.respond_to 'Concurrency2' do |payload, msg_handler| begin result = freddy.deliver_with_response 'Concurrency3', msg: 'noop' msg_handler.success(result) rescue Freddy::ErrorResponse => e msg_handler.error(e.response) end end freddy.respond_to 'Concurrency3' do |payload, msg_handler| msg_handler.success({from: 'Concurrency3'}) end result = begin freddy.deliver_with_response 'Concurrency1', msg: 'noop' rescue Freddy::ErrorResponse => e e.response end expect(result).to eq(from: 'Concurrency3') end it 'supports nested calls in #tap_into' do received1 = false received2 = false freddy.tap_into 'concurrency.*.queue1' do result = freddy.deliver_with_response 'TapConcurrency', msg: 'noop' expect(result).to eq(from: 'TapConcurrency') received1 = true end freddy.respond_to 'TapConcurrency' do |payload, msg_handler| msg_handler.success({from: 'TapConcurrency'}) received2 = true end freddy.deliver 'concurrency.q.queue1', msg: 'noop' wait_for { received1 && received2 } expect(received1).to be(true) expect(received2).to be(true) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
freddy-0.3.3 | spec/integration/concurrency_spec.rb |