Skip to content

Commit b5c684a

Browse files
committed
Test wrapped error.
1 parent e4f77cc commit b5c684a

File tree

6 files changed

+16
-11
lines changed

6 files changed

+16
-11
lines changed

lib/lambdakiq/adapter.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ def enqueue(job, options = {})
88
end
99

1010
def enqueue_at(job, timestamp)
11-
puts "DELAY: #{delay_seconds(timestamp)}"
1211
enqueue job, delay_seconds: delay_seconds(timestamp)
1312
end
1413

test/cases/job_test.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@
22

33
class JobTest < LambdakiqSpec
44
it 'must change message visibility to next value for failed jobs' do
5-
stub_get_queue_attributes maxReceiveCount: 8
65
event = event_basic attributes: { ApproximateReceiveCount: '7' }, job_class: 'TestHelper::Jobs::ErrorJob'
76
expect(->{ Lambdakiq::Job.handler(event) }).must_raise 'HELL'
87
expect(change_message_visibility).must_be :present?
98
expect(change_message_visibility_params[:visibility_timeout]).must_equal 1416
109
end
1110

11+
it 'wraps returned errors with no backtrace which avoids excessive/duplicate cloudwatch logging' do
12+
event = event_basic job_class: 'TestHelper::Jobs::ErrorJob'
13+
error = expect(->{ Lambdakiq::Job.handler(event) }).must_raise 'HELL'
14+
expect(error.class.name).must_equal 'Lambdakiq::JobError'
15+
expect(error.backtrace).must_equal []
16+
end
17+
1218
it 'must delete message for failed jobs at the end of the queue/message max receive count' do
13-
stub_get_queue_attributes maxReceiveCount: 8
1419
event = event_basic attributes: { ApproximateReceiveCount: '8' }, job_class: 'TestHelper::Jobs::ErrorJob'
1520
Lambdakiq::Job.handler(event)
1621
expect(delete_message).must_be :present?

test/cases/queue_test.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
class QueueTest < LambdakiqSpec
44
it '#max_receive_count' do
5-
stub_get_queue_attributes maxReceiveCount: 8
65
queue = Lambdakiq.client.queues[queue_name]
76
expect(queue.max_receive_count).must_equal 8
87
end

test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
44
require 'bundler/setup'
55
Bundler.require :default, :development, :test
6+
require 'rails'
67
require 'aws-sdk-sqs'
78
require 'minitest/autorun'
89
require 'minitest/focus'

test/test_helper/client_helpers.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,19 @@ def client_stub_responses
1515
client.stub_responses(:get_queue_url, {
1616
queue_url: 'https://sqs.us-stubbed-1.amazonaws.com'
1717
})
18+
redrive_policy = JSON.dump({maxReceiveCount: max_receive_count.to_s})
19+
client.stub_responses(:get_queue_attributes, {
20+
attributes: { 'RedrivePolicy' => redrive_policy }
21+
})
1822
end
1923

2024
def api_requests
2125
client.api_requests
2226
end
2327

28+
def max_receive_count
29+
8
30+
end
31+
2432
end
2533
end

test/test_helper/queue_helpers.rb

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,5 @@ def queue_name
77
ENV['TEST_QUEUE_NAME']
88
end
99

10-
def stub_get_queue_attributes(maxReceiveCount: 13)
11-
redrive_policy = JSON.dump({maxReceiveCount: maxReceiveCount.to_s})
12-
client.stub_responses(:get_queue_attributes, {
13-
attributes: { 'RedrivePolicy' => redrive_policy }
14-
})
15-
end
16-
1710
end
1811
end

0 commit comments

Comments
 (0)