summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-26 13:00:29 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-26 13:00:29 +0200
commitda15b38850d8d345a17862754285c34a2fbf08b6 (patch)
treebc5811a90a1a6728842592f97f1fa05a591ae430
parentfa3fb23fb18ddea694ea54013059178fe7892c91 (diff)
downloadgitlab-ce-da15b38850d8d345a17862754285c34a2fbf08b6.tar.gz
Add specs for pipeline builder abilities validator
-rw-r--r--app/services/ci/create_pipeline_service.rb3
-rw-r--r--spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb39
2 files changed, 29 insertions, 13 deletions
diff --git a/app/services/ci/create_pipeline_service.rb b/app/services/ci/create_pipeline_service.rb
index 0bf38776afc..af1784fe1dc 100644
--- a/app/services/ci/create_pipeline_service.rb
+++ b/app/services/ci/create_pipeline_service.rb
@@ -46,9 +46,6 @@ module Ci
private
- def process_pipeline_sequence
- end
-
def commit
@commit ||= project.commit(origin_sha || origin_ref)
end
diff --git a/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
index 9e217102886..e6decde475a 100644
--- a/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
@@ -1,22 +1,41 @@
require 'spec_helper'
describe Gitlab::Ci::Pipeline::Chain::Validate::Abilities do
- describe '#allowed_to_create?' do
- let(:user) { create(:user) }
- let(:project) { create(:project, :repository) }
- let(:ref) { 'master' }
+ set(:project) { create(:project, :repository) }
+ set(:user) { create(:user) }
+
+ let(:pipeline) do
+ build_stubbed(:ci_pipeline, ref: ref, project: project)
+ end
+
+ let(:command) do
+ double('command', project: project, current_user: user)
+ end
+
+ let(:step) { described_class.new(pipeline, command) }
- let(:pipeline) do
- build_stubbed(:ci_pipeline, ref: ref, project: project)
+ let(:ref) { 'master' }
+
+ context 'when users has no ability to run a pipeline' do
+ before do
+ step.perform!
end
- let(:command) do
- double('command', project: project, current_user: user)
+ it 'adds an error about insufficient permissions' do
+ expect(pipeline.errors.to_a)
+ .to include /Insufficient permissions/
end
- subject do
- described_class.new(pipeline, command).allowed_to_create?
+ it 'breaks the pipeline builder chain' do
+ expect(step.break?).to eq true
end
+ end
+
+ context 'when user has ability to create a pipeline' do
+ end
+
+ describe '#allowed_to_create?' do
+ subject { step.allowed_to_create? }
context 'when user is a developer' do
before do