diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-23 21:09:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-23 21:09:46 +0300 |
commit | fdd0b0fd4592c74257980d07878db75705d22192 (patch) | |
tree | fcf923555aed86fea3842f1074ec45d2864db20c /spec/controllers | |
parent | 9a9415ab127d5e660c09113238a6fb0a895218e9 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/projects/refs_controller_spec.rb | 34 | ||||
-rw-r--r-- | spec/controllers/projects/snippets_controller_spec.rb | 14 | ||||
-rw-r--r-- | spec/controllers/repositories/git_http_controller_spec.rb | 44 | ||||
-rw-r--r-- | spec/controllers/snippets_controller_spec.rb | 32 |
4 files changed, 25 insertions, 99 deletions
diff --git a/spec/controllers/projects/refs_controller_spec.rb b/spec/controllers/projects/refs_controller_spec.rb index 646c7a7db7c..b043e7f2538 100644 --- a/spec/controllers/projects/refs_controller_spec.rb +++ b/spec/controllers/projects/refs_controller_spec.rb @@ -12,25 +12,27 @@ describe Projects::RefsController do end describe 'GET #logs_tree' do + let(:path) { 'foo/bar/baz.html' } + def default_get(format = :html) get :logs_tree, params: { namespace_id: project.namespace.to_param, project_id: project, id: 'master', - path: 'foo/bar/baz.html' + path: path }, format: format end - def xhr_get(format = :html) + def xhr_get(format = :html, params = {}) get :logs_tree, params: { namespace_id: project.namespace.to_param, project_id: project, id: 'master', - path: 'foo/bar/baz.html', + path: path, format: format - }, xhr: true + }.merge(params), xhr: true end it 'never throws MissingTemplate' do @@ -52,13 +54,27 @@ describe Projects::RefsController do expect(response).to be_successful end - it 'renders JSON' do - expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original + context 'when json is requested' do + it 'renders JSON' do + expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original - xhr_get(:json) + xhr_get(:json) - expect(response).to be_successful - expect(json_response).to be_kind_of(Array) + expect(response).to be_successful + expect(json_response).to be_kind_of(Array) + end + + it 'caches tree summary data', :use_clean_rails_memory_store_caching do + expect_next_instance_of(::Gitlab::TreeSummary) do |instance| + expect(instance).to receive_messages(summarize: ['logs'], next_offset: 50, more?: true) + end + + xhr_get(:json, offset: 25) + + cache_key = "projects/#{project.id}/logs/#{project.commit.id}/#{path}/25" + expect(Rails.cache.fetch(cache_key)).to eq(['logs', 50]) + expect(response.headers['More-Logs-Offset']).to eq(50) + end end end end diff --git a/spec/controllers/projects/snippets_controller_spec.rb b/spec/controllers/projects/snippets_controller_spec.rb index 5335234a87e..b5f4929d8ce 100644 --- a/spec/controllers/projects/snippets_controller_spec.rb +++ b/spec/controllers/projects/snippets_controller_spec.rb @@ -346,20 +346,6 @@ describe Projects::SnippetsController do expect(assigns(:blob)).to eq(project_snippet.blobs.first) end - - context 'when feature flag version_snippets is disabled' do - before do - stub_feature_flags(version_snippets: false) - end - - it 'returns the snippet database content' do - subject - - blob = assigns(:blob) - - expect(blob.data).to eq(project_snippet.content) - end - end end %w[show raw].each do |action| diff --git a/spec/controllers/repositories/git_http_controller_spec.rb b/spec/controllers/repositories/git_http_controller_spec.rb index 59455d90c25..034814bbfdc 100644 --- a/spec/controllers/repositories/git_http_controller_spec.rb +++ b/spec/controllers/repositories/git_http_controller_spec.rb @@ -165,44 +165,6 @@ describe Repositories::GitHttpController do end end - shared_examples 'snippet feature flag disabled behavior' do - before do - stub_feature_flags(version_snippets: false) - - request.headers.merge! auth_env(user.username, user.password, nil) - end - - describe 'GET #info_refs' do - let(:params) { container_params.merge(service: 'git-upload-pack') } - - it 'returns 403' do - expect(controller).not_to receive(:access_check) - - get :info_refs, params: params - - expect(response).to have_gitlab_http_status(:forbidden) - expect(response.body).to eq 'Snippet git access is disabled.' - end - end - - describe 'POST #git_upload_pack' do - before do - allow(controller).to receive(:authenticate_user).and_return(true) - allow(controller).to receive(:verify_workhorse_api!).and_return(true) - allow(controller).to receive(:access_check).and_return(nil) - end - - it 'returns 403' do - expect(controller).not_to receive(:access_check) - - post :git_upload_pack, params: params - - expect(response).to have_gitlab_http_status(:forbidden) - expect(response.body).to eq 'Snippet git access is disabled.' - end - end - end - context 'when repository container is a project' do it_behaves_like 'info_refs behavior' do let(:user) { project.owner } @@ -226,9 +188,6 @@ describe Repositories::GitHttpController do let(:expected_class) { Gitlab::GitAccessSnippet } let(:expected_object) { personal_snippet } end - it_behaves_like 'snippet feature flag disabled behavior' do - let(:user) { personal_snippet.author } - end end context 'when repository container is a project snippet' do @@ -243,8 +202,5 @@ describe Repositories::GitHttpController do let(:expected_class) { Gitlab::GitAccessSnippet } let(:expected_object) { project_snippet } end - it_behaves_like 'snippet feature flag disabled behavior' do - let(:user) { project_snippet.author } - end end end diff --git a/spec/controllers/snippets_controller_spec.rb b/spec/controllers/snippets_controller_spec.rb index 81729122156..aea0e4a097b 100644 --- a/spec/controllers/snippets_controller_spec.rb +++ b/spec/controllers/snippets_controller_spec.rb @@ -86,20 +86,6 @@ describe SnippetsController do expect(assigns(:blob)).to eq(personal_snippet.blobs.first) end - - context 'when feature flag version_snippets is disabled' do - before do - stub_feature_flags(version_snippets: false) - end - - it 'returns the snippet database content' do - subject - - blob = assigns(:blob) - - expect(blob.data).to eq(personal_snippet.content) - end - end end context 'when the personal snippet is private' do @@ -572,24 +558,6 @@ describe SnippetsController do expect(response.cache_control[:public]).to eq snippet.public? end - context 'when feature flag version_snippets is disabled' do - before do - stub_feature_flags(version_snippets: false) - end - - it_behaves_like '200 status' - it_behaves_like 'CRLF line ending' - - it 'returns snippet database content' do - subject - - expect(response.body).to eq snippet.content - expect(response.header['Content-Type']).to eq('text/plain; charset=utf-8') - end - - it_behaves_like 'content disposition headers' - end - context 'when snippet repository is empty' do before do allow_any_instance_of(Repository).to receive(:empty?).and_return(true) |