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
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-04 01:44:35 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-04 01:44:35 +0300
commit96722e6de1c1f91f62f9ee645c5ad3ec7b05282c (patch)
treed80ec8b3505fc3055cc8d7ed7f864edc831b7119 /spec
parentb2a2fb69e663aabd66fe2fe8696c49e68c2fbe02 (diff)
Add latest changes from gitlab-org/gitlab@15-7-stable-ee
Diffstat (limited to 'spec')
-rw-r--r--spec/migrations/20220920180451_schedule_vulnerabilities_feedback_migration_spec.rb31
-rw-r--r--spec/requests/api/pypi_packages_spec.rb22
-rw-r--r--spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb8
3 files changed, 21 insertions, 40 deletions
diff --git a/spec/migrations/20220920180451_schedule_vulnerabilities_feedback_migration_spec.rb b/spec/migrations/20220920180451_schedule_vulnerabilities_feedback_migration_spec.rb
deleted file mode 100644
index 4f2b5f6b50f..00000000000
--- a/spec/migrations/20220920180451_schedule_vulnerabilities_feedback_migration_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-require_migration!
-
-RSpec.describe ScheduleVulnerabilitiesFeedbackMigration, feature_category: :vulnerability_management do
- let(:migration) { described_class::MIGRATION }
-
- describe '#up' do
- it 'schedules background jobs for each batch of Vulnerabilities::Feedback' do
- migrate!
-
- expect(migration).to have_scheduled_batched_migration(
- table_name: :vulnerability_feedback,
- column_name: :id,
- interval: described_class::DELAY_INTERVAL,
- batch_size: described_class::BATCH_SIZE,
- max_batch_size: described_class::MAX_BATCH_SIZE
- )
- end
- end
-
- describe '#down' do
- it 'deletes all batched migration records' do
- migrate!
- schema_migrate_down!
-
- expect(migration).not_to have_scheduled_batched_migration
- end
- end
-end
diff --git a/spec/requests/api/pypi_packages_spec.rb b/spec/requests/api/pypi_packages_spec.rb
index 59d93cd48e3..978d4f72a4a 100644
--- a/spec/requests/api/pypi_packages_spec.rb
+++ b/spec/requests/api/pypi_packages_spec.rb
@@ -256,19 +256,35 @@ RSpec.describe API::PypiPackages, feature_category: :package_registry do
let(:headers) { user_headers.merge(workhorse_headers) }
it_behaves_like 'PyPI package creation', :developer, :created, true
+
+ context 'with FIPS mode', :fips_mode do
+ it_behaves_like 'PyPI package creation', :developer, :created, true, false
+ end
end
- context 'without md5_digest' do
+ context 'without sha256_digest' do
let(:token) { personal_access_token.token }
let(:user_headers) { basic_auth_header(user.username, token) }
let(:headers) { user_headers.merge(workhorse_headers) }
let(:params) { base_params.merge(content: temp_file(file_name)) }
before do
- params.delete(:md5_digest)
+ params.delete(:sha256_digest)
end
- it_behaves_like 'PyPI package creation', :developer, :created, true, false
+ it_behaves_like 'PyPI package creation', :developer, :created, true, true
+
+ context 'with FIPS mode', :fips_mode do
+ before do
+ project.add_developer(user)
+ end
+
+ it 'returns 422 and does not create a package' do
+ expect { subject }.not_to change { project.packages.pypi.count }
+
+ expect(response).to have_gitlab_http_status(:unprocessable_entity)
+ end
+ end
end
end
diff --git a/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
index a267476b7cb..6065b1163c4 100644
--- a/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
@@ -14,18 +14,14 @@ RSpec.shared_examples 'PyPI package creation' do |user_type, status, add_member
expect(package.name).to eq params[:name]
expect(package.version).to eq params[:version]
expect(package.pypi_metadatum.required_python).to eq params[:requires_python]
+ expect(package.package_files.first.file_sha256).to eq params[:sha256_digest]
if md5_digest
- expect(package.package_files.first.file_md5).not_to be_nil
+ expect(package.package_files.first.file_md5).to be_present
else
expect(package.package_files.first.file_md5).to be_nil
end
end
-
- context 'with FIPS mode', :fips_mode do
- it_behaves_like 'returning response status', :unprocessable_entity if md5_digest
- it_behaves_like 'returning response status', status unless md5_digest
- end
end
context "for user type #{user_type}" do