summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2017-07-04 05:58:28 +0800
committerLin Jen-Shin <godfat@godfat.org>2017-07-04 21:56:41 +0800
commit28553dbc05989b698777ee085aa2a357ffe576d2 (patch)
tree8005538c73dd33ce949047d201f8d2b55ba2294e
parent005870d5ce1a00b3405d0ae3a639d0c4befcb7a2 (diff)
downloadgitlab-ce-28553dbc05989b698777ee085aa2a357ffe576d2.tar.gz
Update tests due to permission changes
-rw-r--r--spec/controllers/projects/jobs_controller_spec.rb10
-rw-r--r--spec/controllers/projects/pipelines_controller_spec.rb8
-rw-r--r--spec/lib/gitlab/ci/status/build/cancelable_spec.rb2
-rw-r--r--spec/lib/gitlab/ci/status/build/factory_spec.rb25
-rw-r--r--spec/lib/gitlab/ci/status/build/retryable_spec.rb2
-rw-r--r--spec/lib/gitlab/ci/status/build/stop_spec.rb2
-rw-r--r--spec/models/ci/pipeline_spec.rb4
-rw-r--r--spec/serializers/job_entity_spec.rb6
-rw-r--r--spec/serializers/pipeline_details_entity_spec.rb6
-rw-r--r--spec/serializers/pipeline_entity_spec.rb4
-rw-r--r--spec/services/ci/process_pipeline_service_spec.rb2
-rw-r--r--spec/services/ci/retry_build_service_spec.rb4
-rw-r--r--spec/services/ci/retry_pipeline_service_spec.rb20
-rw-r--r--spec/services/create_deployment_service_spec.rb2
14 files changed, 51 insertions, 46 deletions
diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb
index 472e5fc51a0..9ed48d98360 100644
--- a/spec/controllers/projects/jobs_controller_spec.rb
+++ b/spec/controllers/projects/jobs_controller_spec.rb
@@ -218,7 +218,7 @@ describe Projects::JobsController do
describe 'POST retry' do
before do
- project.add_developer(user)
+ project.add_master(user)
sign_in(user)
post_retry
@@ -250,7 +250,7 @@ describe Projects::JobsController do
describe 'POST play' do
before do
- project.add_developer(user)
+ project.add_master(user)
create(:protected_branch, :developers_can_merge,
name: 'master', project: project)
@@ -290,7 +290,7 @@ describe Projects::JobsController do
describe 'POST cancel' do
before do
- project.add_developer(user)
+ project.add_master(user)
sign_in(user)
post_cancel
@@ -326,7 +326,7 @@ describe Projects::JobsController do
describe 'POST cancel_all' do
before do
- project.add_developer(user)
+ project.add_master(user)
sign_in(user)
end
@@ -368,7 +368,7 @@ describe Projects::JobsController do
describe 'POST erase' do
before do
- project.add_developer(user)
+ project.add_master(user)
sign_in(user)
post_erase
diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb
index 734532668d3..3b4d7d069c9 100644
--- a/spec/controllers/projects/pipelines_controller_spec.rb
+++ b/spec/controllers/projects/pipelines_controller_spec.rb
@@ -8,7 +8,7 @@ describe Projects::PipelinesController do
let(:feature) { ProjectFeature::DISABLED }
before do
- project.add_developer(user)
+ project.add_master(user)
project.project_feature.update(
builds_access_level: feature)
@@ -158,7 +158,7 @@ describe Projects::PipelinesController do
context 'when builds are enabled' do
let(:feature) { ProjectFeature::ENABLED }
-
+
it 'retries a pipeline without returning any content' do
expect(response).to have_http_status(:no_content)
expect(build.reload).to be_retried
@@ -175,7 +175,7 @@ describe Projects::PipelinesController do
describe 'POST cancel.json' do
let!(:pipeline) { create(:ci_pipeline, project: project) }
let!(:build) { create(:ci_build, :running, pipeline: pipeline) }
-
+
before do
post :cancel, namespace_id: project.namespace,
project_id: project,
@@ -185,7 +185,7 @@ describe Projects::PipelinesController do
context 'when builds are enabled' do
let(:feature) { ProjectFeature::ENABLED }
-
+
it 'cancels a pipeline without returning any content' do
expect(response).to have_http_status(:no_content)
expect(pipeline.reload).to be_canceled
diff --git a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb
index 114d2490490..e7b880c9b09 100644
--- a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb
@@ -48,7 +48,7 @@ describe Gitlab::Ci::Status::Build::Cancelable do
describe '#has_action?' do
context 'when user is allowed to update build' do
before do
- build.project.team << [user, :developer]
+ build.project.add_master(user)
end
it { is_expected.to have_action }
diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb
index c8a97016f20..bc21b8af67c 100644
--- a/spec/lib/gitlab/ci/status/build/factory_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb
@@ -7,7 +7,7 @@ describe Gitlab::Ci::Status::Build::Factory do
let(:factory) { described_class.new(build, user) }
before do
- project.team << [user, :developer]
+ project.add_master(user)
end
context 'when build is successful' do
@@ -225,19 +225,20 @@ describe Gitlab::Ci::Status::Build::Factory do
end
context 'when user has ability to play action' do
- before do
- project.add_developer(user)
-
- create(:protected_branch, :developers_can_merge,
- name: build.ref, project: project)
- end
-
it 'fabricates status that has action' do
expect(status).to have_action
end
end
context 'when user does not have ability to play action' do
+ before do
+ project.team.truncate
+ project.add_developer(user)
+
+ create(:protected_branch, :no_one_can_push,
+ name: build.ref, project: project)
+ end
+
it 'fabricates status that has no action' do
expect(status).not_to have_action
end
@@ -262,6 +263,14 @@ describe Gitlab::Ci::Status::Build::Factory do
end
context 'when user is not allowed to execute manual action' do
+ before do
+ project.team.truncate
+ project.add_developer(user)
+
+ create(:protected_branch, :no_one_can_push,
+ name: build.ref, project: project)
+ end
+
it 'fabricates status with correct details' do
expect(status.text).to eq 'manual'
expect(status.group).to eq 'manual'
diff --git a/spec/lib/gitlab/ci/status/build/retryable_spec.rb b/spec/lib/gitlab/ci/status/build/retryable_spec.rb
index 099d873fc01..ed9752b4ed6 100644
--- a/spec/lib/gitlab/ci/status/build/retryable_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/retryable_spec.rb
@@ -48,7 +48,7 @@ describe Gitlab::Ci::Status::Build::Retryable do
describe '#has_action?' do
context 'when user is allowed to update build' do
before do
- build.project.team << [user, :developer]
+ build.project.add_master(user)
end
it { is_expected.to have_action }
diff --git a/spec/lib/gitlab/ci/status/build/stop_spec.rb b/spec/lib/gitlab/ci/status/build/stop_spec.rb
index 23902f26b1a..7fe3cf7ea6d 100644
--- a/spec/lib/gitlab/ci/status/build/stop_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/stop_spec.rb
@@ -20,7 +20,7 @@ describe Gitlab::Ci::Status::Build::Stop do
describe '#has_action?' do
context 'when user is allowed to update build' do
before do
- build.project.team << [user, :developer]
+ build.project.add_master(user)
end
it { is_expected.to have_action }
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index 776a674a6d9..7463fb3d379 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -832,7 +832,7 @@ describe Ci::Pipeline, models: true do
context 'on failure and build retry' do
before do
build.drop
- project.add_developer(user)
+ project.add_master(user)
Ci::Build.retry(build, user)
end
@@ -1063,7 +1063,7 @@ describe Ci::Pipeline, models: true do
let(:latest_status) { pipeline.statuses.latest.pluck(:status) }
before do
- project.add_developer(user)
+ project.add_master(user)
end
context 'when there is a failed build and failed external status' do
diff --git a/spec/serializers/job_entity_spec.rb b/spec/serializers/job_entity_spec.rb
index 5ca7bf2fcaf..ec30816654b 100644
--- a/spec/serializers/job_entity_spec.rb
+++ b/spec/serializers/job_entity_spec.rb
@@ -8,7 +8,7 @@ describe JobEntity do
before do
allow(request).to receive(:current_user).and_return(user)
- project.add_developer(user)
+ project.add_master(user)
end
let(:entity) do
@@ -90,6 +90,10 @@ describe JobEntity do
end
context 'when user is not allowed to trigger action' do
+ before do
+ project.team.truncate
+ end
+
it 'does not contain path to play action' do
expect(subject).not_to include(:play_path)
end
diff --git a/spec/serializers/pipeline_details_entity_spec.rb b/spec/serializers/pipeline_details_entity_spec.rb
index d28dec9592a..e9b24b47900 100644
--- a/spec/serializers/pipeline_details_entity_spec.rb
+++ b/spec/serializers/pipeline_details_entity_spec.rb
@@ -52,7 +52,7 @@ describe PipelineDetailsEntity do
context 'user has ability to retry pipeline' do
before do
- project.team << [user, :developer]
+ project.add_master(user)
end
it 'retryable flag is true' do
@@ -80,7 +80,7 @@ describe PipelineDetailsEntity do
context 'user has ability to cancel pipeline' do
before do
- project.add_developer(user)
+ project.add_master(user)
end
it 'cancelable flag is true' do
@@ -97,7 +97,7 @@ describe PipelineDetailsEntity do
context 'when pipeline has commit statuses' do
let(:pipeline) { create(:ci_empty_pipeline) }
-
+
before do
create(:generic_commit_status, pipeline: pipeline)
end
diff --git a/spec/serializers/pipeline_entity_spec.rb b/spec/serializers/pipeline_entity_spec.rb
index 46650f3a80d..46433867b11 100644
--- a/spec/serializers/pipeline_entity_spec.rb
+++ b/spec/serializers/pipeline_entity_spec.rb
@@ -52,7 +52,7 @@ describe PipelineEntity do
context 'user has ability to retry pipeline' do
before do
- project.team << [user, :developer]
+ project.add_master(user)
end
it 'contains retry path' do
@@ -80,7 +80,7 @@ describe PipelineEntity do
context 'user has ability to cancel pipeline' do
before do
- project.add_developer(user)
+ project.add_master(user)
end
it 'contains cancel path' do
diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb
index efcaccc254e..1e938a97f5a 100644
--- a/spec/services/ci/process_pipeline_service_spec.rb
+++ b/spec/services/ci/process_pipeline_service_spec.rb
@@ -9,7 +9,7 @@ describe Ci::ProcessPipelineService, '#execute', :services do
end
before do
- project.add_developer(user)
+ project.add_master(user)
end
context 'when simple pipeline is defined' do
diff --git a/spec/services/ci/retry_build_service_spec.rb b/spec/services/ci/retry_build_service_spec.rb
index ef9927c5969..52c6a4a0bc8 100644
--- a/spec/services/ci/retry_build_service_spec.rb
+++ b/spec/services/ci/retry_build_service_spec.rb
@@ -85,7 +85,7 @@ describe Ci::RetryBuildService, :services do
context 'when user has ability to execute build' do
before do
- project.add_developer(user)
+ project.add_master(user)
end
it_behaves_like 'build duplication'
@@ -131,7 +131,7 @@ describe Ci::RetryBuildService, :services do
context 'when user has ability to execute build' do
before do
- project.add_developer(user)
+ project.add_master(user)
end
it_behaves_like 'build duplication'
diff --git a/spec/services/ci/retry_pipeline_service_spec.rb b/spec/services/ci/retry_pipeline_service_spec.rb
index 3e860203063..7798db3f3b9 100644
--- a/spec/services/ci/retry_pipeline_service_spec.rb
+++ b/spec/services/ci/retry_pipeline_service_spec.rb
@@ -244,13 +244,9 @@ describe Ci::RetryPipelineService, '#execute', :services do
create_build('verify', :canceled, 1)
end
- it 'does not reprocess manual action' do
- service.execute(pipeline)
-
- expect(build('test')).to be_pending
- expect(build('deploy')).to be_failed
- expect(build('verify')).to be_created
- expect(pipeline.reload).to be_running
+ it 'raises an error' do
+ expect { service.execute(pipeline) }
+ .to raise_error Gitlab::Access::AccessDeniedError
end
end
@@ -261,13 +257,9 @@ describe Ci::RetryPipelineService, '#execute', :services do
create_build('verify', :canceled, 2)
end
- it 'does not reprocess manual action' do
- service.execute(pipeline)
-
- expect(build('test')).to be_pending
- expect(build('deploy')).to be_failed
- expect(build('verify')).to be_created
- expect(pipeline.reload).to be_running
+ it 'raises an error' do
+ expect { service.execute(pipeline) }
+ .to raise_error Gitlab::Access::AccessDeniedError
end
end
end
diff --git a/spec/services/create_deployment_service_spec.rb b/spec/services/create_deployment_service_spec.rb
index dfab6ebf372..844d9d63428 100644
--- a/spec/services/create_deployment_service_spec.rb
+++ b/spec/services/create_deployment_service_spec.rb
@@ -244,7 +244,7 @@ describe CreateDeploymentService, services: true do
context 'when job is retried' do
it_behaves_like 'creates deployment' do
before do
- project.add_developer(user)
+ project.add_master(user)
end
let(:deployable) { Ci::Build.retry(job, user) }