diff options
Diffstat (limited to 'spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb')
-rw-r--r-- | spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb b/spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb index 698758a13fd..dca00c85e30 100644 --- a/spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb +++ b/spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb @@ -62,6 +62,27 @@ RSpec.describe Gitlab::SidekiqMiddleware::ClientMetrics do Sidekiq::Testing.inline! { TestWorker.perform_in(1.second) } end + + it 'sets the scheduled_at field' do + job = { 'at' => Time.current } + + subject.call('TestWorker', job, 'queue', nil) do + expect(job[:scheduled_at]).to eq(job['at']) + end + end + end + + context 'when the worker class cannot be found' do + it 'increments enqueued jobs metric with the worker labels set to NilClass' do + test_anonymous_worker = Class.new(TestWorker) + + expect(enqueued_jobs_metric).to receive(:increment).with(a_hash_including(worker: 'NilClass'), 1) + + # Sidekiq won't be able to create an instance of this class + expect do + Sidekiq::Testing.inline! { test_anonymous_worker.perform_async } + end.to raise_error(NameError) + end end end end |