Sha256: 6518d758b1310902c3f1363d3c4f84449935b2b9d5451345db0cbf2d335dcae0

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

require 'spec_helper'

begin
  require 'rollbar/delay/shoryuken'
rescue LoadError
  module Rollbar
    module Delay
      class Shoryuken; end
    end
  end
end

describe Rollbar::Delay::Shoryuken, :if => RUBY_VERSION != '1.8.7' && RUBY_VERSION != '1.9.2' do
  describe '.call' do
    let(:payload) do
      { :key => 'value' }
    end

    let(:loaded_hash) do
      Rollbar::JSON.load(Rollbar::JSON.dump(payload))
    end

    it 'process the payload' do
      Shoryuken.worker_executor = Shoryuken::Worker::InlineExecutor
      expect(Rollbar).to receive(:process_from_async_handler).with(loaded_hash)
      described_class.call(payload)
      Shoryuken.worker_executor = Shoryuken::Worker::DefaultExecutor
    end

    context 'with non-default queue name' do
      let(:sqs_queue) { double('non_default_queue') }

      before do
        Rollbar.configure { |config| config.use_shoryuken(:queue => 'non_default_queue') }
      end

      it 'uses specified queue' do
        expect(Shoryuken::Client).to receive(:queues).with('non_default_queue').and_return(sqs_queue)
        expect(sqs_queue).to receive(:send_message)
        described_class.call(payload)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rollbar-2.18.2 spec/rollbar/delay/shoryuken_spec.rb
rollbar-2.18.0 spec/rollbar/delay/shoryuken_spec.rb
rollbar-2.17.0 spec/rollbar/delay/shoryuken_spec.rb