diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-03 22:44:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-03 22:44:35 +0000 |
commit | 96722e6de1c1f91f62f9ee645c5ad3ec7b05282c (patch) | |
tree | d80ec8b3505fc3055cc8d7ed7f864edc831b7119 /spec | |
parent | b2a2fb69e663aabd66fe2fe8696c49e68c2fbe02 (diff) | |
download | gitlab-ce-96722e6de1c1f91f62f9ee645c5ad3ec7b05282c.tar.gz |
Add latest changes from gitlab-org/gitlab@15-7-stable-ee
Diffstat (limited to 'spec')
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 |