Sha256: fa183963ad2807ba4405fe3c6170636ee37b38da4e78d90895a300c8acc743bb

Contents?: true

Size: 1.23 KB

Versions: 14

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'
require 'shoryuken/manager'
require 'shoryuken/fetcher'

describe Shoryuken::Fetcher do
  let(:queue)      { instance_double('Shoryuken::Queue') }
  let(:queue_name) { 'default' }
  let(:queue_config) { Shoryuken::Polling::QueueConfiguration.new(queue_name, {}) }

  let(:sqs_msg) do
    double(Shoryuken::Message,
      queue_url: queue_name,
      body: 'test',
      message_id: 'fc754df79cc24c4196ca5996a44b771e',
          )
  end

  subject { described_class.new }

  describe '#fetch' do
    it 'calls Shoryuken::Client to receive messages' do
      expect(Shoryuken::Client).to receive(:queues).with(queue_name).and_return(queue)
      expect(queue).to receive(:receive_messages).
        with(max_number_of_messages: 1, attribute_names: ['All'], message_attribute_names: ['All']).
        and_return([])
      subject.fetch(queue_config, 1)
    end

    it 'maxes messages to receive to 10 (SQS limit)' do
      allow(Shoryuken::Client).to receive(:queues).with(queue_name).and_return(queue)
      expect(queue).to receive(:receive_messages).
        with(max_number_of_messages: 10, attribute_names: ['All'], message_attribute_names: ['All']).
        and_return([])
      subject.fetch(queue_config, 20)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
shoryuken-3.0.11 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.10 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.9 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.8 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.7 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.6 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.5 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.4 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.3 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.2 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.1 spec/shoryuken/fetcher_spec.rb
shoryuken-3.0.0 spec/shoryuken/fetcher_spec.rb
shoryuken-2.1.3 spec/shoryuken/fetcher_spec.rb
shoryuken-2.1.2 spec/shoryuken/fetcher_spec.rb