diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
commit | 48aff82709769b098321c738f3444b9bdaa694c6 (patch) | |
tree | e00c7c43e2d9b603a5a6af576b1685e400410dee /spec/features/file_uploads/maven_package_spec.rb | |
parent | 879f5329ee916a948223f8f43d77fba4da6cd028 (diff) | |
download | gitlab-ce-48aff82709769b098321c738f3444b9bdaa694c6.tar.gz |
Add latest changes from gitlab-org/gitlab@13-5-stable-eev13.5.0-rc42
Diffstat (limited to 'spec/features/file_uploads/maven_package_spec.rb')
-rw-r--r-- | spec/features/file_uploads/maven_package_spec.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/features/file_uploads/maven_package_spec.rb b/spec/features/file_uploads/maven_package_spec.rb index c873a0e9a36..e87eec58618 100644 --- a/spec/features/file_uploads/maven_package_spec.rb +++ b/spec/features/file_uploads/maven_package_spec.rb @@ -25,5 +25,31 @@ RSpec.describe 'Upload a maven package', :api, :js do it { expect(subject.code).to eq(200) } end + RSpec.shared_examples 'for a maven sha1' do + let(:dummy_package) { double(Packages::Package) } + let(:api_path) { "/projects/#{project.id}/packages/maven/com/example/my-app/1.0/my-app-1.0-20180724.124855-1.jar.sha1" } + + before do + # The sha verification done by the maven api is between: + # - the sha256 set by workhorse + # - the sha256 of the sha1 of the uploaded package file + # We're going to send `file` for the sha1 and stub the sha1 of the package file so that + # both sha256 being the same + expect(::Packages::PackageFileFinder).to receive(:new).and_return(double(execute!: dummy_package)) + expect(dummy_package).to receive(:file_sha1).and_return(File.read(file.path)) + end + + it { expect(subject.code).to eq(204) } + end + + RSpec.shared_examples 'for a maven md5' do + let(:api_path) { "/projects/#{project.id}/packages/maven/com/example/my-app/1.0/my-app-1.0-20180724.124855-1.jar.md5" } + let(:file) { StringIO.new('dummy_package') } + + it { expect(subject.code).to eq(200) } + end + it_behaves_like 'handling file uploads', 'for a maven package' + it_behaves_like 'handling file uploads', 'for a maven sha1' + it_behaves_like 'handling file uploads', 'for a maven md5' end |