summaryrefslogtreecommitdiff
path: root/spec/requests
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-10-26 18:03:40 +0000
committerDouwe Maan <douwe@gitlab.com>2018-10-26 18:03:40 +0000
commitf2e9148d18c049bb699e60ed31d3804f9ae4b592 (patch)
treeac2cb61e83d5c7077523c14f928ef6e11ec0384c /spec/requests
parent578064df4d58fb0409fec51fe03c4b95181a5f5f (diff)
parentc6c17f1ca636f879c245133cffeae531a7d3df55 (diff)
downloadgitlab-ce-f2e9148d18c049bb699e60ed31d3804f9ae4b592.tar.gz
Merge branch '42790-improve-feedback-for-internal-git-access-checks-timeouts' into 'master'
Adds trace of each access check when git push times out Closes #42790 See merge request gitlab-org/gitlab-ce!22265
Diffstat (limited to 'spec/requests')
-rw-r--r--spec/requests/api/internal_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb
index e0b5b34f9c4..2ebcb787d06 100644
--- a/spec/requests/api/internal_spec.rb
+++ b/spec/requests/api/internal_spec.rb
@@ -494,6 +494,24 @@ describe API::Internal do
end
end
+ context 'request times out' do
+ context 'git push' do
+ it 'responds with a gateway timeout' do
+ personal_project = create(:project, namespace: user.namespace)
+
+ expect_next_instance_of(Gitlab::GitAccess) do |access|
+ expect(access).to receive(:check).and_raise(Gitlab::GitAccess::TimeoutError, "Foo")
+ end
+ push(key, personal_project)
+
+ expect(response).to have_gitlab_http_status(503)
+ expect(json_response['status']).to be_falsey
+ expect(json_response['message']).to eq("Foo")
+ expect(user.reload.last_activity_on).to be_nil
+ end
+ end
+ end
+
context "archived project" do
before do
project.add_developer(user)