diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-10-26 18:03:40 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-10-26 18:03:40 +0000 |
commit | f2e9148d18c049bb699e60ed31d3804f9ae4b592 (patch) | |
tree | ac2cb61e83d5c7077523c14f928ef6e11ec0384c /spec/requests | |
parent | 578064df4d58fb0409fec51fe03c4b95181a5f5f (diff) | |
parent | c6c17f1ca636f879c245133cffeae531a7d3df55 (diff) | |
download | gitlab-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.rb | 18 |
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) |