Sha256: 0339da99448bb3056e258b5f3786f2b42b0106598380a2d6ddba0ef3bde812bf
Contents?: true
Size: 1.07 KB
Versions: 4
Compression:
Stored size: 1.07 KB
Contents
require 'spec_helper' describe Freddy::Request do let(:freddy) { Freddy.build(logger, config) } let(:destination) { random_destination } let(:payload) { {pay: 'load'} } let(:request) { freddy.request } after { freddy.close } it 'raises empty responder exception when responding without callback' do expect {@responder = request.respond_to destination }.to raise_error described_class::EmptyResponder end context 'requesting from multiple threads' do let(:nr_of_threads) { 50 } before do freddy.respond_to 'thread-queue' do |payload, msg_handler| msg_handler.success(payload) end end it 'handles multiple threads' do require 'hamster/experimental/mutable_set' msg_counter = Hamster.mutable_set nr_of_threads.times.map do |index| Thread.new do response = freddy.deliver_with_response 'thread-queue', payload msg_counter << index expect(response).to eq(payload) end end.each(&:join) expect(msg_counter.count).to eq(nr_of_threads) end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
freddy-0.4.6 | spec/freddy/request_spec.rb |
freddy-0.4.4 | spec/freddy/request_spec.rb |
freddy-jruby-0.4.3 | spec/freddy/request_spec.rb |
freddy-0.4.3 | spec/freddy/request_spec.rb |