From 0ac1322045bd6d069aa74da04df7fb2d2797a3f0 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 6 Mar 2018 21:40:50 +0900 Subject: Fix tests by latest proposal changes --- .../migrate_create_trace_artifact_sidekiq_queue.rb | 66 ---------------------- ...ate_create_trace_artifact_sidekiq_queue_spec.rb | 66 ++++++++++++++++++++++ spec/requests/api/runner_spec.rb | 4 +- spec/tasks/gitlab/traces_rake_spec.rb | 4 +- spec/workers/archive_legacy_trace_worker_spec.rb | 30 ---------- spec/workers/archive_trace_worker_spec.rb | 27 +++++++++ spec/workers/build_finished_worker_spec.rb | 2 +- .../concerns/pipeline_background_queue_spec.rb | 2 +- spec/workers/create_trace_artifact_worker_spec.rb | 27 --------- 9 files changed, 99 insertions(+), 129 deletions(-) delete mode 100644 spec/migrations/migrate_create_trace_artifact_sidekiq_queue.rb create mode 100644 spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb delete mode 100644 spec/workers/archive_legacy_trace_worker_spec.rb create mode 100644 spec/workers/archive_trace_worker_spec.rb delete mode 100644 spec/workers/create_trace_artifact_worker_spec.rb diff --git a/spec/migrations/migrate_create_trace_artifact_sidekiq_queue.rb b/spec/migrations/migrate_create_trace_artifact_sidekiq_queue.rb deleted file mode 100644 index c18ae3b76d3..00000000000 --- a/spec/migrations/migrate_create_trace_artifact_sidekiq_queue.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20180306074045_migrate_create_trace_artifact_sidekiq_queue.rb') - -describe MigrateCreateTraceArtifactSidekiqQueue, :sidekiq, :redis do - include Gitlab::Database::MigrationHelpers - - context 'when there are jobs in the queues' do - it 'correctly migrates queue when migrating up' do - Sidekiq::Testing.disable! do - stubbed_worker(queue: 'pipeline_default:create_trace_artifact').perform_async('Something', [1]) - stubbed_worker(queue: 'pipeline_background:archive_trace').perform_async('Something', [1]) - - described_class.new.up - - expect(sidekiq_queue_length('pipeline_default:create_trace_artifact')).to eq 0 - expect(sidekiq_queue_length('pipeline_background:archive_trace')).to eq 2 - end - end - - it 'does not affect other queues under the same namespace' do - Sidekiq::Testing.disable! do - stubbed_worker(queue: 'pipeline_default:build_coverage').perform_async('Something', [1]) - stubbed_worker(queue: 'pipeline_default:build_trace_sections').perform_async('Something', [1]) - stubbed_worker(queue: 'pipeline_default:pipeline_metrics').perform_async('Something', [1]) - stubbed_worker(queue: 'pipeline_default:pipeline_notification').perform_async('Something', [1]) - stubbed_worker(queue: 'pipeline_default:update_head_pipeline_for_merge_request').perform_async('Something', [1]) - - described_class.new.up - - expect(sidekiq_queue_length('pipeline_default:build_coverage')).to eq 1 - expect(sidekiq_queue_length('pipeline_default:build_trace_sections')).to eq 1 - expect(sidekiq_queue_length('pipeline_default:pipeline_metrics')).to eq 1 - expect(sidekiq_queue_length('pipeline_default:pipeline_notification')).to eq 1 - expect(sidekiq_queue_length('pipeline_default:update_head_pipeline_for_merge_request')).to eq 1 - end - end - - it 'correctly migrates queue when migrating down' do - Sidekiq::Testing.disable! do - stubbed_worker(queue: 'pipeline_background:archive_trace').perform_async('Something', [1]) - - described_class.new.down - - expect(sidekiq_queue_length('pipeline_default:create_trace_artifact')).to eq 1 - expect(sidekiq_queue_length('pipeline_background:archive_trace')).to eq 0 - end - end - end - - context 'when there are no jobs in the queues' do - it 'does not raise error when migrating up' do - expect { described_class.new.up }.not_to raise_error - end - - it 'does not raise error when migrating down' do - expect { described_class.new.down }.not_to raise_error - end - end - - def stubbed_worker(queue:) - Class.new do - include Sidekiq::Worker - sidekiq_options queue: queue - end - end -end diff --git a/spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb b/spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb new file mode 100644 index 00000000000..c18ae3b76d3 --- /dev/null +++ b/spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb @@ -0,0 +1,66 @@ +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20180306074045_migrate_create_trace_artifact_sidekiq_queue.rb') + +describe MigrateCreateTraceArtifactSidekiqQueue, :sidekiq, :redis do + include Gitlab::Database::MigrationHelpers + + context 'when there are jobs in the queues' do + it 'correctly migrates queue when migrating up' do + Sidekiq::Testing.disable! do + stubbed_worker(queue: 'pipeline_default:create_trace_artifact').perform_async('Something', [1]) + stubbed_worker(queue: 'pipeline_background:archive_trace').perform_async('Something', [1]) + + described_class.new.up + + expect(sidekiq_queue_length('pipeline_default:create_trace_artifact')).to eq 0 + expect(sidekiq_queue_length('pipeline_background:archive_trace')).to eq 2 + end + end + + it 'does not affect other queues under the same namespace' do + Sidekiq::Testing.disable! do + stubbed_worker(queue: 'pipeline_default:build_coverage').perform_async('Something', [1]) + stubbed_worker(queue: 'pipeline_default:build_trace_sections').perform_async('Something', [1]) + stubbed_worker(queue: 'pipeline_default:pipeline_metrics').perform_async('Something', [1]) + stubbed_worker(queue: 'pipeline_default:pipeline_notification').perform_async('Something', [1]) + stubbed_worker(queue: 'pipeline_default:update_head_pipeline_for_merge_request').perform_async('Something', [1]) + + described_class.new.up + + expect(sidekiq_queue_length('pipeline_default:build_coverage')).to eq 1 + expect(sidekiq_queue_length('pipeline_default:build_trace_sections')).to eq 1 + expect(sidekiq_queue_length('pipeline_default:pipeline_metrics')).to eq 1 + expect(sidekiq_queue_length('pipeline_default:pipeline_notification')).to eq 1 + expect(sidekiq_queue_length('pipeline_default:update_head_pipeline_for_merge_request')).to eq 1 + end + end + + it 'correctly migrates queue when migrating down' do + Sidekiq::Testing.disable! do + stubbed_worker(queue: 'pipeline_background:archive_trace').perform_async('Something', [1]) + + described_class.new.down + + expect(sidekiq_queue_length('pipeline_default:create_trace_artifact')).to eq 1 + expect(sidekiq_queue_length('pipeline_background:archive_trace')).to eq 0 + end + end + end + + context 'when there are no jobs in the queues' do + it 'does not raise error when migrating up' do + expect { described_class.new.up }.not_to raise_error + end + + it 'does not raise error when migrating down' do + expect { described_class.new.down }.not_to raise_error + end + end + + def stubbed_worker(queue:) + Class.new do + include Sidekiq::Worker + sidekiq_options queue: queue + end + end +end diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb index ce1311ac97c..95c23726a79 100644 --- a/spec/requests/api/runner_spec.rb +++ b/spec/requests/api/runner_spec.rb @@ -698,10 +698,10 @@ describe API::Runner do end end - context 'when tace is given' do + context 'when trace is given' do it 'creates a trace artifact' do allow(BuildFinishedWorker).to receive(:perform_async).with(job.id) do - CreateTraceArtifactWorker.new.perform(job.id) + ArchiveTraceWorker.new.perform(job.id) end update_job(state: 'success', trace: 'BUILD TRACE UPDATED') diff --git a/spec/tasks/gitlab/traces_rake_spec.rb b/spec/tasks/gitlab/traces_rake_spec.rb index d2eaa88f287..bd18e8ffc1e 100644 --- a/spec/tasks/gitlab/traces_rake_spec.rb +++ b/spec/tasks/gitlab/traces_rake_spec.rb @@ -7,7 +7,7 @@ describe 'gitlab:traces rake tasks' do shared_examples 'passes the job id to worker' do it do - expect(ArchiveLegacyTraceWorker).to receive(:bulk_perform_async).with([[job.id]]) + expect(ArchiveTraceWorker).to receive(:bulk_perform_async).with([[job.id]]) run_rake_task('gitlab:traces:archive') end @@ -15,7 +15,7 @@ describe 'gitlab:traces rake tasks' do shared_examples 'does not pass the job id to worker' do it do - expect(ArchiveLegacyTraceWorker).not_to receive(:bulk_perform_async) + expect(ArchiveTraceWorker).not_to receive(:bulk_perform_async) run_rake_task('gitlab:traces:archive') end diff --git a/spec/workers/archive_legacy_trace_worker_spec.rb b/spec/workers/archive_legacy_trace_worker_spec.rb deleted file mode 100644 index 28b247e3058..00000000000 --- a/spec/workers/archive_legacy_trace_worker_spec.rb +++ /dev/null @@ -1,30 +0,0 @@ -require 'spec_helper' - -describe ArchiveLegacyTraceWorker do - it { is_expected.to be_a(ObjectStorageQueue) } - it { is_expected.not_to be_a(PipelineQueue) } - - describe '#perform' do - subject { described_class.new.perform(job&.id) } - - context 'when job is found' do - let(:job) { create(:ci_build) } - - it 'executes service' do - expect_any_instance_of(Gitlab::Ci::Trace).to receive(:archive!) - - subject - end - end - - context 'when job is not found' do - let(:job) { nil } - - it 'does not execute service' do - expect_any_instance_of(Gitlab::Ci::Trace).not_to receive(:archive!) - - subject - end - end - end -end diff --git a/spec/workers/archive_trace_worker_spec.rb b/spec/workers/archive_trace_worker_spec.rb new file mode 100644 index 00000000000..b768588c6e1 --- /dev/null +++ b/spec/workers/archive_trace_worker_spec.rb @@ -0,0 +1,27 @@ +require 'spec_helper' + +describe ArchiveTraceWorker do + describe '#perform' do + subject { described_class.new.perform(job&.id) } + + context 'when job is found' do + let(:job) { create(:ci_build) } + + it 'executes service' do + expect_any_instance_of(Gitlab::Ci::Trace).to receive(:archive!) + + subject + end + end + + context 'when job is not found' do + let(:job) { nil } + + it 'does not execute service' do + expect_any_instance_of(Gitlab::Ci::Trace).not_to receive(:archive!) + + subject + end + end + end +end diff --git a/spec/workers/build_finished_worker_spec.rb b/spec/workers/build_finished_worker_spec.rb index c7ff8cf3b92..acd8da11d8d 100644 --- a/spec/workers/build_finished_worker_spec.rb +++ b/spec/workers/build_finished_worker_spec.rb @@ -14,7 +14,7 @@ describe BuildFinishedWorker do expect_any_instance_of(BuildTraceSectionsWorker).to receive(:perform) expect_any_instance_of(BuildCoverageWorker).to receive(:perform) expect(BuildHooksWorker).to receive(:perform_async) - expect(CreateTraceArtifactWorker).to receive(:perform_async) + expect(ArchiveTraceWorker).to receive(:perform_async) described_class.new.perform(build.id) end diff --git a/spec/workers/concerns/pipeline_background_queue_spec.rb b/spec/workers/concerns/pipeline_background_queue_spec.rb index e1ee85ae238..24c0a3c6a20 100644 --- a/spec/workers/concerns/pipeline_background_queue_spec.rb +++ b/spec/workers/concerns/pipeline_background_queue_spec.rb @@ -14,6 +14,6 @@ describe PipelineBackgroundQueue do it 'sets a default object storage queue automatically' do expect(worker.sidekiq_options['queue']) - .to eq 'object_storage:dummy' + .to eq 'pipeline_background:dummy' end end diff --git a/spec/workers/create_trace_artifact_worker_spec.rb b/spec/workers/create_trace_artifact_worker_spec.rb deleted file mode 100644 index 5fc2b183abc..00000000000 --- a/spec/workers/create_trace_artifact_worker_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -require 'spec_helper' - -describe CreateTraceArtifactWorker do - describe '#perform' do - subject { described_class.new.perform(job&.id) } - - context 'when job is found' do - let(:job) { create(:ci_build) } - - it 'executes service' do - expect_any_instance_of(Gitlab::Ci::Trace).to receive(:archive!) - - subject - end - end - - context 'when job is not found' do - let(:job) { nil } - - it 'does not execute service' do - expect_any_instance_of(Gitlab::Ci::Trace).not_to receive(:archive!) - - subject - end - end - end -end -- cgit v1.2.1