summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-10-19 13:51:35 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-10-19 13:51:35 +0200
commitaf7860521f7d776e879f2cc0925937b3c7681805 (patch)
tree81e8e7c74f44379a07507a1cb716c04d7ba5bb31
parentee890c26552fbeabbd9ffeb55a4bc6e8b007f7bf (diff)
downloadgitlab-ce-forbid-repository-access.tar.gz
-rw-r--r--features/steps/shared/builds.rb2
-rw-r--r--spec/features/commits_spec.rb4
-rw-r--r--spec/features/merge_requests/merge_when_build_succeeds_spec.rb5
-rw-r--r--spec/features/projects/badges/coverage_spec.rb4
-rw-r--r--spec/features/projects/builds_spec.rb1
-rw-r--r--spec/features/projects/pipelines_spec.rb1
-rw-r--r--spec/lib/gitlab/badge/build/status_spec.rb4
-rw-r--r--spec/lib/gitlab/badge/coverage/report_spec.rb4
-rw-r--r--spec/mailers/emails/builds_spec.rb4
-rw-r--r--spec/models/build_spec.rb4
-rw-r--r--spec/models/ci/pipeline_spec.rb8
-rw-r--r--spec/models/project_services/hipchat_service_spec.rb2
-rw-r--r--spec/requests/api/builds_spec.rb4
-rw-r--r--spec/requests/api/commit_statuses_spec.rb4
-rw-r--r--spec/requests/api/pipelines_spec.rb4
-rw-r--r--spec/requests/api/triggers_spec.rb4
-rw-r--r--spec/requests/ci/api/builds_spec.rb4
-rw-r--r--spec/requests/ci/api/triggers_spec.rb4
-rw-r--r--spec/services/ci/create_pipeline_service_spec.rb1
-rw-r--r--spec/services/ci/create_trigger_request_service_spec.rb1
-rw-r--r--spec/services/ci/image_for_build_service_spec.rb4
-rw-r--r--spec/services/ci/process_pipeline_service_spec.rb1
-rw-r--r--spec/services/ci/register_build_service_spec.rb1
-rw-r--r--spec/services/create_deployment_service_spec.rb4
-rw-r--r--spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb6
-rw-r--r--spec/support/stub_gitlab_calls.rb12
-rw-r--r--spec/views/projects/builds/show.html.haml_spec.rb2
-rw-r--r--spec/workers/build_email_worker_spec.rb1
-rw-r--r--spec/workers/post_receive_spec.rb1
-rw-r--r--spec/workers/stuck_ci_builds_worker_spec.rb4
30 files changed, 102 insertions, 3 deletions
diff --git a/features/steps/shared/builds.rb b/features/steps/shared/builds.rb
index 70e6d4836b2..13bf18a8b01 100644
--- a/features/steps/shared/builds.rb
+++ b/features/steps/shared/builds.rb
@@ -15,10 +15,12 @@ module SharedBuilds
end
step 'recent build is successful' do
+ allow(PipelineHooksWorker).to receive(:perform_async).and_return(true)
@build.success
end
step 'recent build failed' do
+ allow(PipelineHooksWorker).to receive(:perform_async).and_return(true)
@build.drop
end
diff --git a/spec/features/commits_spec.rb b/spec/features/commits_spec.rb
index 5910803df51..4ee62aa7703 100644
--- a/spec/features/commits_spec.rb
+++ b/spec/features/commits_spec.rb
@@ -42,6 +42,10 @@ describe 'Commits' do
let!(:build) { FactoryGirl.create :ci_build, pipeline: pipeline }
let(:artifacts_file) { fixture_file_upload(Rails.root + 'spec/fixtures/banana_sample.gif', 'image/gif') }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
context 'when logged as developer' do
before do
project.team << [@user, :developer]
diff --git a/spec/features/merge_requests/merge_when_build_succeeds_spec.rb b/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
index bc2b0ff3e2c..0a18bb04a4e 100644
--- a/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
+++ b/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
@@ -84,7 +84,10 @@ feature 'Merge When Build Succeeds', feature: true, js: true do
end
context 'when build succeeds' do
- background { build.success }
+ background do
+ stub_repository_forbidden_access
+ build.success
+ end
it 'merges merge request' do
visit_merge_request(merge_request) # refresh the page
diff --git a/spec/features/projects/badges/coverage_spec.rb b/spec/features/projects/badges/coverage_spec.rb
index 01a95bf49ac..c9e73d9359d 100644
--- a/spec/features/projects/badges/coverage_spec.rb
+++ b/spec/features/projects/badges/coverage_spec.rb
@@ -4,6 +4,10 @@ feature 'test coverage badge' do
given!(:user) { create(:user) }
given!(:project) { create(:project, :private) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
context 'when user has access to view badge' do
background do
project.team << [user, :developer]
diff --git a/spec/features/projects/builds_spec.rb b/spec/features/projects/builds_spec.rb
index d1685f95503..596ef3852a3 100644
--- a/spec/features/projects/builds_spec.rb
+++ b/spec/features/projects/builds_spec.rb
@@ -5,6 +5,7 @@ describe "Builds" do
let(:artifacts_file) { fixture_file_upload(Rails.root + 'spec/fixtures/banana_sample.gif', 'image/gif') }
before do
+ stub_ci_pipeline_hooks
login_as(:user)
@commit = FactoryGirl.create :ci_pipeline
@build = FactoryGirl.create :ci_build, :trace, pipeline: @commit
diff --git a/spec/features/projects/pipelines_spec.rb b/spec/features/projects/pipelines_spec.rb
index db56a50e058..6c0bfb87950 100644
--- a/spec/features/projects/pipelines_spec.rb
+++ b/spec/features/projects/pipelines_spec.rb
@@ -9,6 +9,7 @@ describe "Pipelines" do
before do
login_as(user)
project.team << [user, :developer]
+ stub_ci_pipeline_hooks
end
describe 'GET /:project/pipelines' do
diff --git a/spec/lib/gitlab/badge/build/status_spec.rb b/spec/lib/gitlab/badge/build/status_spec.rb
index 38eebb2a176..d2294fb0632 100644
--- a/spec/lib/gitlab/badge/build/status_spec.rb
+++ b/spec/lib/gitlab/badge/build/status_spec.rb
@@ -6,6 +6,10 @@ describe Gitlab::Badge::Build::Status do
let(:branch) { 'master' }
let(:badge) { described_class.new(project, branch) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#entity' do
it 'always says build' do
expect(badge.entity).to eq 'build'
diff --git a/spec/lib/gitlab/badge/coverage/report_spec.rb b/spec/lib/gitlab/badge/coverage/report_spec.rb
index 1547bd3228c..52bf0b1c02f 100644
--- a/spec/lib/gitlab/badge/coverage/report_spec.rb
+++ b/spec/lib/gitlab/badge/coverage/report_spec.rb
@@ -8,6 +8,10 @@ describe Gitlab::Badge::Coverage::Report do
described_class.new(project, 'master', job_name)
end
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#entity' do
it 'describes a coverage' do
expect(badge.entity).to eq 'coverage'
diff --git a/spec/mailers/emails/builds_spec.rb b/spec/mailers/emails/builds_spec.rb
index 0df89938e97..27bafc05508 100644
--- a/spec/mailers/emails/builds_spec.rb
+++ b/spec/mailers/emails/builds_spec.rb
@@ -7,6 +7,10 @@ describe Notify do
include_context 'gitlab email notification'
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe 'build notification email' do
let(:build) { create(:ci_build) }
let(:project) { build.project }
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb
index ae185de9ca3..138cd7c5aa4 100644
--- a/spec/models/build_spec.rb
+++ b/spec/models/build_spec.rb
@@ -16,6 +16,10 @@ describe Ci::Build, models: true do
it { is_expected.to respond_to :trace_html }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#first_pending' do
let!(:first) { create(:ci_build, pipeline: pipeline, status: 'pending', created_at: Date.yesterday) }
let!(:second) { create(:ci_build, pipeline: pipeline, status: 'pending') }
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index 43397c5ae39..1364db42d9f 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -20,6 +20,10 @@ describe Ci::Pipeline, models: true do
it { is_expected.to delegate_method(:stages).to(:statuses) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#valid_commit_sha' do
context 'commit.sha can not start with 00000000' do
before do
@@ -425,6 +429,10 @@ describe Ci::Pipeline, models: true do
before do
WebMock.stub_request(:post, hook.url)
+
+ stub_repository_forbidden_access
+
+ allow(PipelineHooksWorker).to receive(:perform_async).and_call_original
end
context 'with multiple builds' do
diff --git a/spec/models/project_services/hipchat_service_spec.rb b/spec/models/project_services/hipchat_service_spec.rb
index 26dd95bdfec..15c8ca3e556 100644
--- a/spec/models/project_services/hipchat_service_spec.rb
+++ b/spec/models/project_services/hipchat_service_spec.rb
@@ -41,6 +41,8 @@ describe HipchatService, models: true do
token: token
)
WebMock.stub_request(:post, api_url)
+
+ stub_repository_forbidden_access
end
it 'tests and return errors' do
diff --git a/spec/requests/api/builds_spec.rb b/spec/requests/api/builds_spec.rb
index 95c7bbf99c9..d1a86ac5a95 100644
--- a/spec/requests/api/builds_spec.rb
+++ b/spec/requests/api/builds_spec.rb
@@ -12,6 +12,10 @@ describe API::API, api: true do
let!(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.id, ref: project.default_branch) }
let!(:build) { create(:ci_build, pipeline: pipeline) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe 'GET /projects/:id/builds ' do
let(:query) { '' }
diff --git a/spec/requests/api/commit_statuses_spec.rb b/spec/requests/api/commit_statuses_spec.rb
index 7aa7e85a9e2..fe5007215a1 100644
--- a/spec/requests/api/commit_statuses_spec.rb
+++ b/spec/requests/api/commit_statuses_spec.rb
@@ -11,6 +11,10 @@ describe API::CommitStatuses, api: true do
let(:developer) { create_user(:developer) }
let(:sha) { commit.id }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe "GET /projects/:id/repository/commits/:sha/statuses" do
let(:get_url) { "/projects/#{project.id}/repository/commits/#{sha}/statuses" }
diff --git a/spec/requests/api/pipelines_spec.rb b/spec/requests/api/pipelines_spec.rb
index 7011bdc9ec0..bb62b96952f 100644
--- a/spec/requests/api/pipelines_spec.rb
+++ b/spec/requests/api/pipelines_spec.rb
@@ -108,6 +108,10 @@ describe API::API, api: true do
let!(:build) { create(:ci_build, :running, pipeline: pipeline) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
context 'authorized user' do
it 'retries failed builds' do
post api("/projects/#{project.id}/pipelines/#{pipeline.id}/cancel", user)
diff --git a/spec/requests/api/triggers_spec.rb b/spec/requests/api/triggers_spec.rb
index 82bba1ce8a4..a9fc8148e9b 100644
--- a/spec/requests/api/triggers_spec.rb
+++ b/spec/requests/api/triggers_spec.rb
@@ -14,6 +14,10 @@ describe API::API do
let!(:trigger2) { create(:ci_trigger, project: project, token: trigger_token_2) }
let!(:trigger_request) { create(:ci_trigger_request, trigger: trigger, created_at: '2015-01-01 12:13:14') }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe 'POST /projects/:project_id/trigger' do
let!(:project2) { create(:empty_project) }
let(:options) do
diff --git a/spec/requests/ci/api/builds_spec.rb b/spec/requests/ci/api/builds_spec.rb
index 7b7d62feb2c..0344549072b 100644
--- a/spec/requests/ci/api/builds_spec.rb
+++ b/spec/requests/ci/api/builds_spec.rb
@@ -6,6 +6,10 @@ describe Ci::API::API do
let(:runner) { FactoryGirl.create(:ci_runner, tag_list: ["mysql", "ruby"]) }
let(:project) { FactoryGirl.create(:empty_project) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe "Builds API for runners" do
let(:pipeline) { create(:ci_pipeline_without_jobs, project: project, ref: 'master') }
diff --git a/spec/requests/ci/api/triggers_spec.rb b/spec/requests/ci/api/triggers_spec.rb
index 0a0f979f57d..374313ba2be 100644
--- a/spec/requests/ci/api/triggers_spec.rb
+++ b/spec/requests/ci/api/triggers_spec.rb
@@ -38,6 +38,10 @@ describe Ci::API::API do
context 'Have a commit' do
let(:pipeline) { project.pipelines.last }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
it 'creates builds' do
post ci_api("/projects/#{project.ci_id}/refs/master/trigger"), options
expect(response).to have_http_status(201)
diff --git a/spec/services/ci/create_pipeline_service_spec.rb b/spec/services/ci/create_pipeline_service_spec.rb
index 4aadd009f3e..59ea0517b5a 100644
--- a/spec/services/ci/create_pipeline_service_spec.rb
+++ b/spec/services/ci/create_pipeline_service_spec.rb
@@ -6,6 +6,7 @@ describe Ci::CreatePipelineService, services: true do
before do
stub_ci_pipeline_to_return_yaml_file
+ stub_ci_pipeline_hooks
end
describe '#execute' do
diff --git a/spec/services/ci/create_trigger_request_service_spec.rb b/spec/services/ci/create_trigger_request_service_spec.rb
index d8c443d29d5..60657ee5cda 100644
--- a/spec/services/ci/create_trigger_request_service_spec.rb
+++ b/spec/services/ci/create_trigger_request_service_spec.rb
@@ -7,6 +7,7 @@ describe Ci::CreateTriggerRequestService, services: true do
before do
stub_ci_pipeline_to_return_yaml_file
+ stub_ci_pipeline_hooks
end
describe '#execute' do
diff --git a/spec/services/ci/image_for_build_service_spec.rb b/spec/services/ci/image_for_build_service_spec.rb
index b3e0a7b9b58..0a50347a7c5 100644
--- a/spec/services/ci/image_for_build_service_spec.rb
+++ b/spec/services/ci/image_for_build_service_spec.rb
@@ -8,6 +8,10 @@ module Ci
let(:pipeline) { project.ensure_pipeline('master', commit_sha) }
let(:build) { FactoryGirl.create(:ci_build, pipeline: pipeline) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#execute' do
before { build }
diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb
index ff113efd916..b62c6a9321f 100644
--- a/spec/services/ci/process_pipeline_service_spec.rb
+++ b/spec/services/ci/process_pipeline_service_spec.rb
@@ -7,6 +7,7 @@ describe Ci::ProcessPipelineService, services: true do
before do
allow(pipeline).to receive(:ci_yaml_file).and_return(config)
+ stub_ci_pipeline_hooks
end
describe '#execute' do
diff --git a/spec/services/ci/register_build_service_spec.rb b/spec/services/ci/register_build_service_spec.rb
index 1e21a32a062..49033e548c8 100644
--- a/spec/services/ci/register_build_service_spec.rb
+++ b/spec/services/ci/register_build_service_spec.rb
@@ -11,6 +11,7 @@ module Ci
before do
specific_runner.assign_to(project)
+ stub_ci_pipeline_hooks
end
describe '#execute' do
diff --git a/spec/services/create_deployment_service_spec.rb b/spec/services/create_deployment_service_spec.rb
index 0b84c7262c3..794067f5220 100644
--- a/spec/services/create_deployment_service_spec.rb
+++ b/spec/services/create_deployment_service_spec.rb
@@ -6,6 +6,10 @@ describe CreateDeploymentService, services: true do
let(:service) { described_class.new(project, user, params) }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
describe '#execute' do
let(:params) do
{ environment: 'production',
diff --git a/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb b/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
index b80cfd8f450..17b1db93d04 100644
--- a/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
+++ b/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
@@ -141,17 +141,19 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
allow_any_instance_of(MergeRequest).to receive(:pipeline).and_wrap_original do
Ci::Pipeline.find(pipeline.id)
end
+
+ stub_ci_pipeline_hooks
end
it "doesn't merge if any of stages failed" do
- expect(MergeWorker).not_to receive(:perform_async)
+ expect(PipelineSuccessWorker).not_to receive(:perform_async)
build.success
test.drop
end
it 'merges when all stages succeeded' do
- expect(MergeWorker).to receive(:perform_async)
+ expect(PipelineSuccessWorker).to receive(:perform_async).and_return(true)
build.success
test.success
diff --git a/spec/support/stub_gitlab_calls.rb b/spec/support/stub_gitlab_calls.rb
index 93f96cacc00..74aa60c283b 100644
--- a/spec/support/stub_gitlab_calls.rb
+++ b/spec/support/stub_gitlab_calls.rb
@@ -13,6 +13,18 @@ module StubGitlabCalls
allow_any_instance_of(Network).to receive(:projects) { project_hash_array }
end
+ def stub_ci_pipeline_hooks
+ allow(PipelineHooksWorker).to receive(:perform_async).and_return(true)
+ end
+
+ def stub_ci_build_hooks
+ allow(BuildHooksWorker).to receive(:perform_async).and_return(true)
+ end
+
+ def stub_repository_forbidden_access
+ allow(Repository).to receive(:is_access_forbidden?).and_return(false)
+ end
+
def stub_ci_pipeline_to_return_yaml_file
stub_ci_pipeline_yaml_file(gitlab_ci_yaml)
end
diff --git a/spec/views/projects/builds/show.html.haml_spec.rb b/spec/views/projects/builds/show.html.haml_spec.rb
index da43622d3f9..929d4023890 100644
--- a/spec/views/projects/builds/show.html.haml_spec.rb
+++ b/spec/views/projects/builds/show.html.haml_spec.rb
@@ -15,6 +15,8 @@ describe 'projects/builds/show' do
assign(:project, project)
allow(view).to receive(:can?).and_return(true)
+
+ stub_ci_pipeline_hooks
end
context 'when build is running' do
diff --git a/spec/workers/build_email_worker_spec.rb b/spec/workers/build_email_worker_spec.rb
index 788b92c1b84..ee27be35384 100644
--- a/spec/workers/build_email_worker_spec.rb
+++ b/spec/workers/build_email_worker_spec.rb
@@ -10,6 +10,7 @@ describe BuildEmailWorker do
subject { BuildEmailWorker.new }
before do
+ stub_ci_pipeline_hooks
allow(build).to receive(:execute_hooks).and_return(false)
build.success
end
diff --git a/spec/workers/post_receive_spec.rb b/spec/workers/post_receive_spec.rb
index 984acdade36..d800248d534 100644
--- a/spec/workers/post_receive_spec.rb
+++ b/spec/workers/post_receive_spec.rb
@@ -59,6 +59,7 @@ describe PostReceive do
end
allow_any_instance_of(Ci::CreatePipelineService).to receive(:branch?).and_return(true)
stub_ci_pipeline_to_return_yaml_file
+ stub_ci_pipeline_hooks
end
it { expect{ subject }.to change{ Ci::Pipeline.count }.by(2) }
diff --git a/spec/workers/stuck_ci_builds_worker_spec.rb b/spec/workers/stuck_ci_builds_worker_spec.rb
index 801fa31b45d..930da4c220a 100644
--- a/spec/workers/stuck_ci_builds_worker_spec.rb
+++ b/spec/workers/stuck_ci_builds_worker_spec.rb
@@ -4,6 +4,10 @@ describe StuckCiBuildsWorker do
let!(:build) { create :ci_build }
let(:worker) { described_class.new }
+ before do
+ stub_ci_pipeline_hooks
+ end
+
subject do
build.reload
build.status