Sha256: 07c10fc81b00c873a0710463d8cf6c0e585a6786ac938e20667aaaa287c5408f
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
require 'spec_helper' require 'mercury/sync' require 'mercury/monadic' describe Mercury::Sync do include Cps::Methods let!(:source) { 'test-exchange1' } let!(:queue) { 'test-queue1' } let(:headers) { {'X-Domain-Variable' => 'value'} } describe '::publish' do %w{with without}.each do |w| it "publishes synchronously (#{w} publisher confirms)" do use_publisher_confirms = w == 'with' sent = {'a' => 1} received = [] test_with_mercury(wait_for_publisher_confirms: use_publisher_confirms) do |m| seql do and_then { m.start_listener(source, received.method(:push)) } and_lift { Mercury::Sync.publish(source, sent, headers: headers) } and_then { wait_until { received.any? } } and_lift do expect(received.size).to eql 1 expect(received[0].content).to eql sent expect(received[0].headers).to eql headers end end end end end end # the block must return a Cps def test_with_mercury(**kws, &block) sources = [source] queues = [queue] test_with_mercury_cps(sources, queues, **kws, &block) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mercury_amqp-0.10.0 | spec/lib/mercury/sync_spec.rb |
mercury_amqp-0.9.0 | spec/lib/mercury/sync_spec.rb |
mercury_amqp-0.8.0 | spec/lib/mercury/sync_spec.rb |