diff --git a/.rubocop_todo/lint/unused_method_argument.yml b/.rubocop_todo/lint/unused_method_argument.yml index b9e10af7ce2ca4a9b4b32946cd58c83123ca7717..68c581f0c3bc73d1c387f1d9a0eb985e0b1b6c20 100644 --- a/.rubocop_todo/lint/unused_method_argument.yml +++ b/.rubocop_todo/lint/unused_method_argument.yml @@ -311,7 +311,6 @@ Lint/UnusedMethodArgument: - 'ee/spec/lib/ee/api/helpers/notes_helpers_spec.rb' - 'ee/spec/lib/ee/gitlab/background_migration/migrate_vulnerabilities_feedback_to_vulnerabilities_state_transition_spec.rb' - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb' - - 'ee/spec/requests/api/project_import_spec.rb' - 'ee/spec/services/ee/resource_events/merge_into_notes_service_spec.rb' - 'ee/spec/support/helpers/ee/geo_helpers.rb' - 'ee/spec/support/helpers/ee/migrations_helpers.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index e1ff7f031e25f6440625df5d802172972d157f7e..6ef7d23bd2ba4911f8e4574757606b45648730ee 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -576,7 +576,6 @@ RSpec/ContextWording: - 'ee/spec/requests/api/project_approval_settings_spec.rb' - 'ee/spec/requests/api/project_approvals_spec.rb' - 'ee/spec/requests/api/project_clusters_spec.rb' - - 'ee/spec/requests/api/project_import_spec.rb' - 'ee/spec/requests/api/project_mirror_spec.rb' - 'ee/spec/requests/api/project_push_rule_spec.rb' - 'ee/spec/requests/api/projects_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 51a5fad3266652971dfd0d043c586c49514da04c..477217ed7e7335ef300c638200fcd47546e42c56 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -786,7 +786,6 @@ RSpec/NamedSubject: - 'ee/spec/requests/api/members_spec.rb' - 'ee/spec/requests/api/merge_trains_spec.rb' - 'ee/spec/requests/api/namespaces_spec.rb' - - 'ee/spec/requests/api/project_import_spec.rb' - 'ee/spec/requests/api/projects_spec.rb' - 'ee/spec/requests/api/releases_spec.rb' - 'ee/spec/requests/api/remote_mirrors_spec.rb' @@ -2913,7 +2912,6 @@ RSpec/NamedSubject: - 'spec/requests/api/notes_spec.rb' - 'spec/requests/api/npm_project_packages_spec.rb' - 'spec/requests/api/project_container_repositories_spec.rb' - - 'spec/requests/api/project_import_spec.rb' - 'spec/requests/api/project_job_token_scope_spec.rb' - 'spec/requests/api/project_packages_spec.rb' - 'spec/requests/api/pypi_packages_spec.rb' diff --git a/ee/spec/requests/api/project_import_spec.rb b/ee/spec/requests/api/project_import_spec.rb index 0f28046fc6fc9b5014f6952469be5350bdb88140..633c728d26e6fa28a356b47fba59fa353e15520a 100644 --- a/ee/spec/requests/api/project_import_spec.rb +++ b/ee/spec/requests/api/project_import_spec.rb @@ -34,26 +34,26 @@ let(:override_params) { { 'external_authorization_classification_label' => 'Hello world' } } - subject do + subject(:perform_archive_upload) do Sidekiq::Testing.inline! do - upload_archive(file_upload, workhorse_headers, params) + upload_archive(workhorse_headers, params) end end it 'overrides the classification label' do - subject + perform_archive_upload import_project = Project.find(json_response['id']) expect(import_project.external_authorization_classification_label).to eq('Hello world') end - context 'feature is disabled' do + context 'when feature is disabled' do before do stub_licensed_features(external_authorization_service_api_management: false) end it 'uses the default the classification label and ignores override param' do - subject + perform_archive_upload import_project = Project.find(json_response['id']) expect(import_project.external_authorization_classification_label).to eq('default_label') @@ -61,7 +61,7 @@ end end - def upload_archive(file, headers = {}, params = {}) + def upload_archive(headers = {}, params = {}) workhorse_finalize( api("/projects/import", user), method: :post, diff --git a/spec/requests/api/project_import_spec.rb b/spec/requests/api/project_import_spec.rb index cd1b7d7989b2c942445b691907758f04f9598125..9bb049098fe5ad103ddc1363eec8e58097dc7a5d 100644 --- a/spec/requests/api/project_import_spec.rb +++ b/spec/requests/api/project_import_spec.rb @@ -43,7 +43,7 @@ end describe 'POST /projects/import' do - subject { upload_archive(file_upload, workhorse_headers, params) } + subject(:perform_archive_upload) { upload_archive(file_upload, workhorse_headers, params) } let(:file_upload) { fixture_file_upload(file) } @@ -62,7 +62,7 @@ it_behaves_like 'requires import source to be enabled' it 'executes a limited number of queries', :use_clean_rails_redis_caching do - control = ActiveRecord::QueryRecorder.new { subject } + control = ActiveRecord::QueryRecorder.new { perform_archive_upload } expect(control.count).to be <= 111 end @@ -71,7 +71,7 @@ stub_import(namespace) params[:namespace] = namespace.id - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -80,7 +80,7 @@ stub_import(namespace) params[:namespace] = namespace.full_path - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -93,7 +93,7 @@ params[:name] = expected_name params[:namespace] = namespace.id - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -103,7 +103,7 @@ params[:name] = expected_name params[:namespace] = namespace.full_path - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -113,7 +113,7 @@ params[:name] = expected_name params[:namespace] = namespace.full_path - subject + perform_archive_upload project = Project.find(json_response['id']) expect(project.name).to eq(expected_name) @@ -125,7 +125,7 @@ params[:namespace] = namespace.full_path params[:overwrite] = true - subject + perform_archive_upload project = Project.find(json_response['id']) expect(project.name).to eq('new project name') @@ -136,7 +136,7 @@ params[:name] = nil params[:namespace] = namespace.full_path - subject + perform_archive_upload project = Project.find(json_response['id']) expect(project.name).to eq('test-import') @@ -148,7 +148,7 @@ stub_import(user.namespace) params[:path] = 'test-import2' - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -162,7 +162,7 @@ params[:namespace] = nil params[:path] = 'test-import3' - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq("Namespace is not valid") @@ -177,7 +177,7 @@ params[:namespace] = 'nonexistent' params[:path] = 'test-import2' - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq('404 Namespace Not Found') @@ -190,7 +190,7 @@ params[:path] = 'test-import3' params[:namespace] = new_namespace.full_path - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq('404 Namespace Not Found') @@ -203,7 +203,7 @@ expect_any_instance_of(ProjectImportState).not_to receive(:schedule) params[:namespace] = user.namespace.full_path - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq("Namespace is not valid") @@ -218,7 +218,7 @@ params[:path] = 'test-import3' - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:unprocessable_entity) expect(json_response['message']['error']).to eq('You need to upload a GitLab project export archive (ending in .gz).') @@ -232,7 +232,7 @@ params[:namespace] = namespace.id params[:override_params] = override_params - subject + perform_archive_upload import_project = Project.find(json_response['id']) @@ -246,7 +246,7 @@ params[:namespace] = namespace.id params[:override_params] = override_params - subject + perform_archive_upload import_project = Project.find(json_response['id']) @@ -261,7 +261,7 @@ params[:path] = existing_project.path - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq('Path has already been taken') @@ -274,7 +274,7 @@ params[:path] = existing_project.path params[:overwrite] = true - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -289,7 +289,7 @@ it 'prevents users from importing projects' do params[:namespace] = namespace.id - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:too_many_requests) expect(json_response['message']['error']).to eq('This endpoint has been requested too many times. Try again later.') @@ -318,7 +318,7 @@ stub_import(namespace) params[:namespace] = namespace.id - subject + perform_archive_upload expect(response).to have_gitlab_http_status(:created) end @@ -342,7 +342,7 @@ def stub_import(namespace) end describe 'POST /projects/remote-import' do - subject do + subject(:perform_remote_import) do post api('/projects/remote-import', user), params: params end @@ -370,7 +370,7 @@ def stub_import(namespace) .to receive(:execute) .and_return(service_response) - subject + perform_remote_import expect(response).to have_gitlab_http_status(:created) expect(json_response).to include({ @@ -393,7 +393,7 @@ def stub_import(namespace) .to receive(:execute) .and_return(service_response) - subject + perform_remote_import expect(response).to have_gitlab_http_status(:bad_request) expect(json_response).to eq({ @@ -404,7 +404,7 @@ def stub_import(namespace) end describe 'POST /projects/remote-import-s3' do - subject do + subject(:perform_import_from_s3) do post api('/projects/remote-import-s3', user), params: params end @@ -436,7 +436,7 @@ def stub_import(namespace) .to receive(:execute) .and_return(service_response) - subject + perform_import_from_s3 expect(response).to have_gitlab_http_status(:created) expect(json_response).to include({ @@ -459,7 +459,7 @@ def stub_import(namespace) .to receive(:execute) .and_return(service_response) - subject + perform_import_from_s3 expect(response).to have_gitlab_http_status(:bad_request) expect(json_response).to eq({ @@ -513,13 +513,13 @@ def stub_import(namespace) end describe 'POST /projects/import/authorize' do - subject { post api('/projects/import/authorize', user), headers: workhorse_headers } + subject(:authorize_import) { post api('/projects/import/authorize', user), headers: workhorse_headers } it_behaves_like 'requires authentication' it_behaves_like 'requires import source to be enabled' it 'authorizes importing project with workhorse header' do - subject + authorize_import expect(response).to have_gitlab_http_status(:ok) expect(response.media_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) @@ -529,7 +529,7 @@ def stub_import(namespace) it 'rejects requests that bypassed gitlab-workhorse' do workhorse_headers.delete(Gitlab::Workhorse::INTERNAL_API_REQUEST_HEADER) - subject + authorize_import expect(response).to have_gitlab_http_status(:forbidden) end @@ -541,7 +541,7 @@ def stub_import(namespace) end it 'responds with status 200, location of file remote store and object details' do - subject + authorize_import expect(response).to have_gitlab_http_status(:ok) expect(response.media_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) @@ -560,7 +560,7 @@ def stub_import(namespace) end it 'handles as a local file' do - subject + authorize_import expect(response).to have_gitlab_http_status(:ok) expect(response.media_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index 888fd86e83f8a3633fb7245c9ce2b6c9d9d2bce6..2b435c46817113fe0361ce08a8b1cc04e6e3d3cd 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -2093,7 +2093,6 @@ - './ee/spec/requests/api/project_approval_settings_spec.rb' - './ee/spec/requests/api/project_approvals_spec.rb' - './ee/spec/requests/api/project_clusters_spec.rb' -- './ee/spec/requests/api/project_import_spec.rb' - './ee/spec/requests/api/project_milestones_spec.rb' - './ee/spec/requests/api/project_mirror_spec.rb' - './ee/spec/requests/api/project_push_rule_spec.rb'