Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/lsif_data_spec.rb')
-rw-r--r--spec/requests/api/lsif_data_spec.rb95
1 files changed, 0 insertions, 95 deletions
diff --git a/spec/requests/api/lsif_data_spec.rb b/spec/requests/api/lsif_data_spec.rb
deleted file mode 100644
index a1516046e3e..00000000000
--- a/spec/requests/api/lsif_data_spec.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-# frozen_string_literal: true
-
-require "spec_helper"
-
-describe API::LsifData do
- let_it_be(:user) { create(:user) }
- let_it_be(:project) { create(:project, :repository) }
-
- let(:commit) { project.commit }
-
- describe 'GET lsif/info' do
- subject do
- endpoint_path = "/projects/#{project.id}/commits/#{commit.id}/lsif/info"
-
- get api(endpoint_path, user), params: { paths: ['main.go', 'morestrings/reverse.go'] }
-
- response
- end
-
- context 'user does not have access to the project' do
- before do
- project.add_guest(user)
- end
-
- it { is_expected.to have_gitlab_http_status(:forbidden) }
- end
-
- context 'user has access to the project' do
- before do
- project.add_reporter(user)
- end
-
- context 'there is no job artifact for the passed commit' do
- it { is_expected.to have_gitlab_http_status(:not_found) }
- end
-
- context 'lsif data is stored as a job artifact' do
- let!(:pipeline) { create(:ci_pipeline, project: project, sha: commit.id) }
- let!(:artifact) { create(:ci_job_artifact, :lsif, job: create(:ci_build, pipeline: pipeline)) }
-
- context 'code_navigation feature is disabled' do
- before do
- stub_feature_flags(code_navigation: false)
- end
-
- it { is_expected.to have_gitlab_http_status(:not_found) }
- end
-
- it 'returns code navigation info for a given path', :aggregate_failures do
- expect(subject).to have_gitlab_http_status(:ok)
-
- data_for_main = response.parsed_body['main.go']
- expect(data_for_main.last).to eq({
- 'end_char' => 18,
- 'end_line' => 8,
- 'start_char' => 13,
- 'start_line' => 8,
- 'definition_url' => project_blob_path(project, "#{commit.id}/morestrings/reverse.go", anchor: 'L5'),
- 'hover' => [{
- 'language' => 'go',
- 'value' => Gitlab::Highlight.highlight(nil, 'func Func2(i int) string', language: 'go')
- }]
- })
-
- data_for_reverse = response.parsed_body['morestrings/reverse.go']
- expect(data_for_reverse.last).to eq({
- 'end_char' => 9,
- 'end_line' => 7,
- 'start_char' => 8,
- 'start_line' => 7,
- 'definition_url' => project_blob_path(project, "#{commit.id}/morestrings/reverse.go", anchor: 'L6'),
- 'hover' => [{
- 'language' => 'go',
- 'value' => Gitlab::Highlight.highlight(nil, 'var b string', language: 'go')
- }]
- })
- end
-
- context 'the stored file is too large' do
- before do
- allow_any_instance_of(JobArtifactUploader).to receive(:cached_size).and_return(20.megabytes)
- end
-
- it { is_expected.to have_gitlab_http_status(:payload_too_large) }
- end
-
- context 'the user does not have access to the pipeline' do
- let(:project) { create(:project, :repository, builds_access_level: ProjectFeature::DISABLED) }
-
- it { is_expected.to have_gitlab_http_status(:forbidden) }
- end
- end
- end
- end
-end