From 9865665cb15a1f63e6c4d0623d33b8ef11810f8d Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 8 Oct 2019 12:06:01 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../projects/git_http_controller_spec.rb | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'spec/controllers/projects/git_http_controller_spec.rb') diff --git a/spec/controllers/projects/git_http_controller_spec.rb b/spec/controllers/projects/git_http_controller_spec.rb index 88fa2236e33..b756dd5662d 100644 --- a/spec/controllers/projects/git_http_controller_spec.rb +++ b/spec/controllers/projects/git_http_controller_spec.rb @@ -22,5 +22,30 @@ describe Projects::GitHttpController do expect(response.status).to eq(401) end + + context 'with exceptions' do + let(:project) { create(:project, :public, :repository) } + + before do + allow(controller).to receive(:verify_workhorse_api!).and_return(true) + end + + it 'returns 503 with GRPC Unavailable' do + allow(controller).to receive(:access_check).and_raise(GRPC::Unavailable) + + get :info_refs, params: { service: 'git-upload-pack', namespace_id: project.namespace.to_param, project_id: project.path + '.git' } + + expect(response.status).to eq(503) + end + + it 'returns 503 with timeout error' do + allow(controller).to receive(:access_check).and_raise(Gitlab::GitAccess::TimeoutError) + + get :info_refs, params: { service: 'git-upload-pack', namespace_id: project.namespace.to_param, project_id: project.path + '.git' } + + expect(response.status).to eq(503) + expect(response.body).to eq 'Gitlab::GitAccess::TimeoutError' + end + end end end -- cgit v1.2.1