Sha256: ab39e7a2e91e62946ddb51a16b5774c4853a95de419a4de3f3e2e2b69e257f87
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
require 'spec_helper' describe 'Tapping into with exchange identifier' do let(:freddy) { Freddy.build(logger, **config) } let(:connection) { Freddy::Adapters.determine.connect(config) } let(:topic) { 'test_topic_exchange' } let(:channel) { connection.create_channel } let(:message_payload) { { test: 'test' }.to_json } let(:expected_payload) { { test: 'test' } } let(:publish_timestamp) { Time.now.to_i } after do connection.close freddy.close end it 'receives message' do freddy.tap_into('pattern.*', exchange_name: topic) do |payload, _routing_key, timestamp| @received_payload = payload @received_timestamp = timestamp end channel.topic(topic).publish(message_payload, { routing_key: 'pattern.random', timestamp: publish_timestamp }) wait_for { @received_payload } wait_for { @received_timestamp } expect(@received_payload).to eq(expected_payload) expect(@received_timestamp.to_i).to eq(publish_timestamp) end it 'receives message with nil timestamp when timestamp is not published' do received_timestamp = 0 freddy.tap_into('pattern.*', exchange_name: topic) do |_payload, _routing_key, timestamp| received_timestamp = timestamp end channel.topic(topic).publish(message_payload, { routing_key: 'pattern.random' }) default_sleep expect(received_timestamp).to eq(nil) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
freddy-2.8.0 | spec/integration/tap_into_with_exchange_spec.rb |
freddy-2.7.0 | spec/integration/tap_into_with_exchange_spec.rb |