diff options
Diffstat (limited to 'spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb')
-rw-r--r-- | spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb b/spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb index dbab67f5996..5569bc01a6a 100644 --- a/spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb +++ b/spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb @@ -26,10 +26,18 @@ RSpec.describe Gitlab::SidekiqMiddleware::ExtraDoneLogMetadata do expect(job).to eq({ 'jid' => 123, 'extra.admin_email_worker.key1' => 15, 'extra.admin_email_worker.key2' => 16 }) end - it 'does not raise when the worker does not respond to #done_log_extra_metadata' do + it 'does not raise when the worker does not respond to #logging_extras' do expect { |b| subject.call(worker_without_application_worker, job, queue, &b) }.to yield_control expect(job).to eq({ 'jid' => 123 }) end + + it 'still merges logging_extras even when an error is raised during job execution' do + worker.log_extra_metadata_on_done(:key1, 15) + worker.log_extra_metadata_on_done(:key2, 16) + expect { subject.call(worker, job, queue) { raise 'an error' } }.to raise_error(StandardError, 'an error') + + expect(job).to eq({ 'jid' => 123, 'extra.admin_email_worker.key1' => 15, 'extra.admin_email_worker.key2' => 16 }) + end end end |