Sha256: ae70c6ad286e9882dce90c0684a904dbfab31a5ae922609825b1f4111717482d
Contents?: true
Size: 1.21 KB
Versions: 4
Compression:
Stored size: 1.21 KB
Contents
require 'spec_helper' describe Sufia::Resque::Queue do let(:subject) { Sufia::Resque::Queue.new "test_queue" } let(:job) { double('job') } context "with no retries" do it "queues the job" do expect(::Resque).to receive(:enqueue_to).once.and_return(true) subject.push(job) end end context 'when one run times out' do before do call_count = 0 allow(::Resque).to receive(:enqueue_to) do call_count += 1 call_count == 1 ? raise(Redis::TimeoutError) : true end end it 'retries the job' do expect(::Resque).to receive(:enqueue_to).twice subject.push(job) end end context 'when a job times out three times' do before do allow(::Resque).to receive(:enqueue_to).exactly(3).times.and_raise(Redis::TimeoutError) end it 'raises an error' do expect { subject.push(job) }.to raise_error Redis::TimeoutError end end context 'with no connection to Redis' do before do allow(::Resque).to receive(:enqueue_to).once.and_raise(Redis::CannotConnectError) end it 'logs an error' do expect(ActiveFedora::Base.logger).to receive(:error).with("Redis is down!") subject.push(job) end end end
Version data entries
4 entries across 4 versions & 1 rubygems