summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-12-26 12:07:25 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-12-26 12:07:25 +0000
commit78ba5338e29e1e30f82ecc36ace7c8ccd93e8ff0 (patch)
tree102508e9685095a30e850b9f767b9f4552a66f09 /spec
parent7cdda90e12eb4678910db9bccd6eb68c2d4909e9 (diff)
downloadgitlab-ce-78ba5338e29e1e30f82ecc36ace7c8ccd93e8ff0.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/requests/api/pypi_packages_spec.rb22
-rw-r--r--spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb8
2 files changed, 21 insertions, 9 deletions
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