From 7bd5e571256aff6de132b118f04224e56abf3228 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 18 Jul 2017 22:32:34 +0800 Subject: [PATCH] Instead of adding master, stub_not_protect_default_branch --- spec/controllers/projects/jobs_controller_spec.rb | 14 +++++++++----- .../projects/pipelines_controller_spec.rb | 3 ++- spec/lib/gitlab/ci/status/build/cancelable_spec.rb | 4 +++- spec/lib/gitlab/ci/status/build/factory_spec.rb | 14 +++++++------- spec/lib/gitlab/ci/status/build/retryable_spec.rb | 4 +++- spec/lib/gitlab/ci/status/build/stop_spec.rb | 4 +++- spec/models/ci/pipeline_spec.rb | 8 ++++++-- spec/serializers/job_entity_spec.rb | 11 ++++++++--- spec/serializers/pipeline_details_entity_spec.rb | 6 ++++-- spec/serializers/pipeline_entity_spec.rb | 6 ++++-- spec/services/ci/process_pipeline_service_spec.rb | 4 +++- spec/services/ci/retry_build_service_spec.rb | 8 ++++++-- spec/services/create_deployment_service_spec.rb | 4 +++- spec/support/stub_configuration.rb | 5 +++++ 14 files changed, 66 insertions(+), 29 deletions(-) diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb index 9ed48d98360..5a295ae47a6 100644 --- a/spec/controllers/projects/jobs_controller_spec.rb +++ b/spec/controllers/projects/jobs_controller_spec.rb @@ -7,6 +7,10 @@ describe Projects::JobsController do let(:pipeline) { create(:ci_pipeline, project: project) } let(:user) { create(:user) } + before do + stub_not_protect_default_branch + end + describe 'GET index' do context 'when scope is pending' do before do @@ -218,7 +222,7 @@ describe Projects::JobsController do describe 'POST retry' do before do - project.add_master(user) + project.add_developer(user) sign_in(user) post_retry @@ -250,7 +254,7 @@ describe Projects::JobsController do describe 'POST play' do before do - project.add_master(user) + project.add_developer(user) create(:protected_branch, :developers_can_merge, name: 'master', project: project) @@ -290,7 +294,7 @@ describe Projects::JobsController do describe 'POST cancel' do before do - project.add_master(user) + project.add_developer(user) sign_in(user) post_cancel @@ -326,7 +330,7 @@ describe Projects::JobsController do describe 'POST cancel_all' do before do - project.add_master(user) + project.add_developer(user) sign_in(user) end @@ -368,7 +372,7 @@ describe Projects::JobsController do describe 'POST erase' do before do - project.add_master(user) + project.add_developer(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 3b4d7d069c9..c8de275ca3e 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -8,7 +8,8 @@ describe Projects::PipelinesController do let(:feature) { ProjectFeature::DISABLED } before do - project.add_master(user) + stub_not_protect_default_branch + project.add_developer(user) project.project_feature.update( builds_access_level: feature) diff --git a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb index e7b880c9b09..5a7a42d84c0 100644 --- a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb @@ -48,7 +48,9 @@ describe Gitlab::Ci::Status::Build::Cancelable do describe '#has_action?' do context 'when user is allowed to update build' do before do - build.project.add_master(user) + stub_not_protect_default_branch + + build.project.add_developer(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 bc21b8af67c..8768302eda1 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -7,7 +7,9 @@ describe Gitlab::Ci::Status::Build::Factory do let(:factory) { described_class.new(build, user) } before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(user) end context 'when build is successful' do @@ -232,11 +234,10 @@ describe Gitlab::Ci::Status::Build::Factory do context 'when user does not have ability to play action' do before do - project.team.truncate - project.add_developer(user) + allow(build.project).to receive(:empty_repo?).and_return(false) create(:protected_branch, :no_one_can_push, - name: build.ref, project: project) + name: build.ref, project: build.project) end it 'fabricates status that has no action' do @@ -264,11 +265,10 @@ describe Gitlab::Ci::Status::Build::Factory do context 'when user is not allowed to execute manual action' do before do - project.team.truncate - project.add_developer(user) + allow(build.project).to receive(:empty_repo?).and_return(false) create(:protected_branch, :no_one_can_push, - name: build.ref, project: project) + name: build.ref, project: build.project) end it 'fabricates status with correct details' do diff --git a/spec/lib/gitlab/ci/status/build/retryable_spec.rb b/spec/lib/gitlab/ci/status/build/retryable_spec.rb index ed9752b4ed6..21026f2c968 100644 --- a/spec/lib/gitlab/ci/status/build/retryable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/retryable_spec.rb @@ -48,7 +48,9 @@ describe Gitlab::Ci::Status::Build::Retryable do describe '#has_action?' do context 'when user is allowed to update build' do before do - build.project.add_master(user) + stub_not_protect_default_branch + + build.project.add_developer(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 7fe3cf7ea6d..e0425103f41 100644 --- a/spec/lib/gitlab/ci/status/build/stop_spec.rb +++ b/spec/lib/gitlab/ci/status/build/stop_spec.rb @@ -20,7 +20,9 @@ describe Gitlab::Ci::Status::Build::Stop do describe '#has_action?' do context 'when user is allowed to update build' do before do - build.project.add_master(user) + stub_not_protect_default_branch + + build.project.add_developer(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 bdfe8706b5e..bbd45f10b1b 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -734,8 +734,10 @@ describe Ci::Pipeline, models: true do context 'on failure and build retry' do before do + stub_not_protect_default_branch + build.drop - project.add_master(user) + project.add_developer(user) Ci::Build.retry(build, user) end @@ -999,7 +1001,9 @@ describe Ci::Pipeline, models: true do let(:latest_status) { pipeline.statuses.latest.pluck(:status) } before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(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 ec30816654b..026360e91a3 100644 --- a/spec/serializers/job_entity_spec.rb +++ b/spec/serializers/job_entity_spec.rb @@ -7,8 +7,10 @@ describe JobEntity do let(:request) { double('request') } before do + stub_not_protect_default_branch allow(request).to receive(:current_user).and_return(user) - project.add_master(user) + + project.add_developer(user) end let(:entity) do @@ -77,7 +79,7 @@ describe JobEntity do project.add_developer(user) create(:protected_branch, :developers_can_merge, - name: 'master', project: project) + name: job.ref, project: job.project) end it 'contains path to play action' do @@ -91,7 +93,10 @@ describe JobEntity do context 'when user is not allowed to trigger action' do before do - project.team.truncate + allow(job.project).to receive(:empty_repo?).and_return(false) + + create(:protected_branch, :no_one_can_push, + name: job.ref, project: job.project) end it 'does not contain path to play action' do diff --git a/spec/serializers/pipeline_details_entity_spec.rb b/spec/serializers/pipeline_details_entity_spec.rb index e9b24b47900..b990370a271 100644 --- a/spec/serializers/pipeline_details_entity_spec.rb +++ b/spec/serializers/pipeline_details_entity_spec.rb @@ -9,6 +9,8 @@ describe PipelineDetailsEntity do end before do + stub_not_protect_default_branch + allow(request).to receive(:current_user).and_return(user) end @@ -52,7 +54,7 @@ describe PipelineDetailsEntity do context 'user has ability to retry pipeline' do before do - project.add_master(user) + project.add_developer(user) end it 'retryable flag is true' do @@ -80,7 +82,7 @@ describe PipelineDetailsEntity do context 'user has ability to cancel pipeline' do before do - project.add_master(user) + project.add_developer(user) end it 'cancelable flag is true' do diff --git a/spec/serializers/pipeline_entity_spec.rb b/spec/serializers/pipeline_entity_spec.rb index 46433867b11..5b01cc4fc9e 100644 --- a/spec/serializers/pipeline_entity_spec.rb +++ b/spec/serializers/pipeline_entity_spec.rb @@ -5,6 +5,8 @@ describe PipelineEntity do let(:request) { double('request') } before do + stub_not_protect_default_branch + allow(request).to receive(:current_user).and_return(user) end @@ -52,7 +54,7 @@ describe PipelineEntity do context 'user has ability to retry pipeline' do before do - project.add_master(user) + project.add_developer(user) end it 'contains retry path' do @@ -80,7 +82,7 @@ describe PipelineEntity do context 'user has ability to cancel pipeline' do before do - project.add_master(user) + project.add_developer(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 1e938a97f5a..5a34ec12c8f 100644 --- a/spec/services/ci/process_pipeline_service_spec.rb +++ b/spec/services/ci/process_pipeline_service_spec.rb @@ -9,7 +9,9 @@ describe Ci::ProcessPipelineService, '#execute', :services do end before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(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 52c6a4a0bc8..2cf62b54666 100644 --- a/spec/services/ci/retry_build_service_spec.rb +++ b/spec/services/ci/retry_build_service_spec.rb @@ -85,7 +85,9 @@ describe Ci::RetryBuildService, :services do context 'when user has ability to execute build' do before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(user) end it_behaves_like 'build duplication' @@ -131,7 +133,9 @@ describe Ci::RetryBuildService, :services do context 'when user has ability to execute build' do before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(user) end it_behaves_like 'build duplication' diff --git a/spec/services/create_deployment_service_spec.rb b/spec/services/create_deployment_service_spec.rb index 844d9d63428..2794721e157 100644 --- a/spec/services/create_deployment_service_spec.rb +++ b/spec/services/create_deployment_service_spec.rb @@ -244,7 +244,9 @@ describe CreateDeploymentService, services: true do context 'when job is retried' do it_behaves_like 'creates deployment' do before do - project.add_master(user) + stub_not_protect_default_branch + + project.add_developer(user) end let(:deployable) { Ci::Build.retry(job, user) } diff --git a/spec/support/stub_configuration.rb b/spec/support/stub_configuration.rb index 48f454c7187..80ecce92dc1 100644 --- a/spec/support/stub_configuration.rb +++ b/spec/support/stub_configuration.rb @@ -9,6 +9,11 @@ module StubConfiguration .to receive_messages(messages) end + def stub_not_protect_default_branch + stub_application_setting( + default_branch_protection: Gitlab::Access::PROTECTION_NONE) + end + def stub_config_setting(messages) allow(Gitlab.config.gitlab).to receive_messages(messages) end