Sha256: 6d7543c817dda8b32e4edb29f474aba48fadbcdb7b0008a9bbdf918fc93a51b4

Contents?: true

Size: 1017 Bytes

Versions: 24

Compression:

Stored size: 1017 Bytes

Contents

# frozen_string_literal: true
require 'spec_helper'

class Receiver
end

#
class MsgrTestConsumer < Msgr::Consumer
  def index
    Receiver.index
  end

  def error
    Receiver.error
  end
end

describe Msgr do
  let(:queue) { Queue.new }
  let(:client) { Msgr::Client.new size: 1, prefix: SecureRandom.hex(2) }

  before do
    client.routes.configure do
      route 'test.index', to: 'msgr_test#index'
      route 'test.error', to: 'msgr_test#error'
    end

    client.start
  end

  after do
    client.stop delete: true
  end

  it 'should dispatch published methods to consumer' do
    expect(Receiver).to receive(:index) { queue << :end }

    client.publish 'Payload', to: 'test.index'

    Timeout.timeout(4) { queue.pop }
  end

  it 'should redelivery failed messages' do
    expect(Receiver).to receive(:error).ordered.and_raise RuntimeError
    expect(Receiver).to receive(:error).ordered { queue << :end }

    client.publish 'Payload', to: 'test.error'

    Timeout.timeout(4) { queue.pop }
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
msgr-0.15.2.1.b157 spec/msgr/msgr_spec.rb
msgr-0.15.2.1.b156 spec/msgr/msgr_spec.rb
msgr-0.15.2.1.b155 spec/msgr/msgr_spec.rb
msgr-0.15.2.1.b154 spec/msgr/msgr_spec.rb
msgr-0.15.2.1.b152 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b151 spec/msgr/msgr_spec.rb
msgr-0.15.2 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b150 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b146 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b145 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b144 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b143 spec/msgr/msgr_spec.rb
msgr-0.15.1.1.b141 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b140 spec/msgr/msgr_spec.rb
msgr-0.15.1 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b139 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b136 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b135 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b134 spec/msgr/msgr_spec.rb
msgr-0.15.0.1.b131 spec/msgr/msgr_spec.rb