From 8ae26d705abe341b03bc15d4373d6cd0c77c0baf Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 17 Mar 2020 12:09:52 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/workers/concerns/application_worker_spec.rb | 41 +++++++++++++++++++++++- spec/workers/expire_job_cache_worker_spec.rb | 4 +-- 2 files changed, 42 insertions(+), 3 deletions(-) (limited to 'spec/workers') diff --git a/spec/workers/concerns/application_worker_spec.rb b/spec/workers/concerns/application_worker_spec.rb index ae5244e2f62..2fbaaf1131f 100644 --- a/spec/workers/concerns/application_worker_spec.rb +++ b/spec/workers/concerns/application_worker_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe ApplicationWorker do - let(:worker) do + let_it_be(:worker) do Class.new do def self.name 'Gitlab::Foo::Bar::DummyWorker' @@ -13,12 +13,51 @@ describe ApplicationWorker do end end + let(:instance) { worker.new } + describe 'Sidekiq options' do it 'sets the queue name based on the class name' do expect(worker.sidekiq_options['queue']).to eq('foo_bar_dummy') end end + describe '#structured_payload' do + let(:payload) { {} } + + subject(:result) { instance.structured_payload(payload) } + + it 'adds worker related payload' do + instance.jid = 'a jid' + + expect(result).to include( + 'class' => worker.class, + 'job_status' => 'running', + 'queue' => worker.queue, + 'jid' => instance.jid + ) + end + + it 'adds labkit context' do + user = build_stubbed(:user, username: 'jane-doe') + + instance.with_context(user: user) do + expect(result).to include('meta.user' => user.username) + end + end + + it 'adds custom payload converting stringified keys' do + payload[:message] = 'some message' + + expect(result).to include('message' => payload[:message]) + end + + it 'does not override predefined context keys with custom payload' do + payload['class'] = 'custom value' + + expect(result).to include('class' => worker.class) + end + end + describe '.queue_namespace' do it 'sets the queue name based on the class name' do worker.queue_namespace :some_namespace diff --git a/spec/workers/expire_job_cache_worker_spec.rb b/spec/workers/expire_job_cache_worker_spec.rb index 797f110ec68..2776624f14c 100644 --- a/spec/workers/expire_job_cache_worker_spec.rb +++ b/spec/workers/expire_job_cache_worker_spec.rb @@ -21,12 +21,12 @@ describe ExpireJobCacheWorker do allow(Gitlab::EtagCaching::Store).to receive(:new) { spy_store } expect(spy_store).to receive(:touch) - .exactly(IdempotentWorkerHelper::WORKER_EXEC_TIMES).times + .exactly(worker_exec_times).times .with(pipeline_path) .and_call_original expect(spy_store).to receive(:touch) - .exactly(IdempotentWorkerHelper::WORKER_EXEC_TIMES).times + .exactly(worker_exec_times).times .with(job_path) .and_call_original -- cgit v1.2.3