diff options
Diffstat (limited to 'spec/controllers/projects/tree_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/tree_controller_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/controllers/projects/tree_controller_spec.rb b/spec/controllers/projects/tree_controller_spec.rb index b15a2bc84a5..7f7cabe3b0c 100644 --- a/spec/controllers/projects/tree_controller_spec.rb +++ b/spec/controllers/projects/tree_controller_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' describe Projects::TreeController do @@ -16,6 +18,8 @@ describe Projects::TreeController do render_views before do + expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original + get(:show, params: { namespace_id: project.namespace.to_param, @@ -70,6 +74,26 @@ describe Projects::TreeController do end end + describe 'GET show with whitespace in ref' do + render_views + + let(:id) { "this ref/api/responses" } + + it 'does not call make a Gitaly request' do + allow(::Gitlab::GitalyClient).to receive(:call).and_call_original + expect(::Gitlab::GitalyClient).not_to receive(:call).with(anything, :commit_service, :find_commit, anything, anything) + + get(:show, + params: { + namespace_id: project.namespace.to_param, + project_id: project, + id: id + }) + + expect(response).to have_gitlab_http_status(:not_found) + end + end + describe 'GET show with blob path' do render_views |