summaryrefslogtreecommitdiff
path: root/spec/workers/update_pipeline_worker_spec.rb
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2016-10-06 08:42:35 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2016-10-06 08:42:35 +0000
commit0bbeff3d5e6c1b5ea3b364f052ed6f777c3aa645 (patch)
treec6c96df68d5666875b1c141be191448fa55aa510 /spec/workers/update_pipeline_worker_spec.rb
parentf90b5d5d438e77a6e849f1cc2a3b27fd1dac7ec4 (diff)
parent7f270d041da55e1fd5c378dcf2291ba752a9114d (diff)
downloadgitlab-ce-0bbeff3d5e6c1b5ea3b364f052ed6f777c3aa645.tar.gz
Merge branch 'feature/improve-async-pipeline-processing' into 'master'
Improve asynchronous pipeline processing ## What does this MR do? This MR improves asynchronous processing of pipeline. ## Why was this MR needed? It eliminates some race conditions and improves performance. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - Tests - [x] Added for this feature/bug - [x] All builds are passing ## What are the relevant issue / merge request numbers? Related merge request: !6410 Extracted from !6411 See merge request !6650
Diffstat (limited to 'spec/workers/update_pipeline_worker_spec.rb')
-rw-r--r--spec/workers/update_pipeline_worker_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/workers/update_pipeline_worker_spec.rb b/spec/workers/update_pipeline_worker_spec.rb
new file mode 100644
index 00000000000..fadc42b22f0
--- /dev/null
+++ b/spec/workers/update_pipeline_worker_spec.rb
@@ -0,0 +1,22 @@
+require 'spec_helper'
+
+describe UpdatePipelineWorker do
+ describe '#perform' do
+ context 'when pipeline exists' do
+ let(:pipeline) { create(:ci_pipeline) }
+
+ it 'updates pipeline status' do
+ expect_any_instance_of(Ci::Pipeline).to receive(:update_status)
+
+ described_class.new.perform(pipeline.id)
+ end
+ end
+
+ context 'when pipeline does not exist' do
+ it 'does not raise exception' do
+ expect { described_class.new.perform(123) }
+ .not_to raise_error
+ end
+ end
+ end
+end