diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-19 17:16:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-19 17:16:28 +0300 |
commit | e4384360a16dd9a19d4d2d25d0ef1f2b862ed2a6 (patch) | |
tree | 2fcdfa7dcdb9db8f5208b2562f4b4e803d671243 /spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb | |
parent | ffda4e7bcac36987f936b4ba515995a6698698f0 (diff) |
Add latest changes from gitlab-org/gitlab@16-2-stable-eev16.2.0-rc42
Diffstat (limited to 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb')
-rw-r--r-- | spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb b/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb index 1c23a619b38..4e46a26e89f 100644 --- a/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb +++ b/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb @@ -426,7 +426,7 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do end context 'when the job is deferred' do - it 'logs start and end of job with deferred job_status' do + it 'logs start and end of job with "deferred" job_status' do travel_to(timestamp) do expect(logger).to receive(:info).with(start_payload).ordered expect(logger).to receive(:info).with(deferred_payload).ordered @@ -436,10 +436,48 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do call_subject(job, 'test_queue') do job['deferred'] = true job['deferred_by'] = :feature_flag + job['deferred_count'] = 1 end end end end + + context 'when the job is dropped' do + it 'logs start and end of job with "dropped" job_status' do + travel_to(timestamp) do + expect(logger).to receive(:info).with(start_payload).ordered + expect(logger).to receive(:info).with(dropped_payload).ordered + expect(subject).to receive(:log_job_start).and_call_original + expect(subject).to receive(:log_job_done).and_call_original + + call_subject(job, 'test_queue') do + job['dropped'] = true + end + end + end + end + + context 'with a real worker' do + let(:worker_class) { AuthorizedKeysWorker.name } + + let(:expected_end_payload) do + end_payload.merge( + 'urgency' => 'high', + 'target_duration_s' => 10 + ) + end + + it 'logs job done with urgency and target_duration_s fields' do + travel_to(timestamp) do + expect(logger).to receive(:info).with(start_payload).ordered + expect(logger).to receive(:info).with(expected_end_payload).ordered + expect(subject).to receive(:log_job_start).and_call_original + expect(subject).to receive(:log_job_done).and_call_original + + call_subject(job, 'test_queue') {} + end + end + end end describe '#add_time_keys!' do |