Commit 01906796 authored by Hugo Ortiz's avatar Hugo Ortiz

Prevent push_package event if Maven package file creation fails

parent 11942424
...@@ -264,8 +264,6 @@ module API ...@@ -264,8 +264,6 @@ module API
when 'md5' when 'md5'
'' ''
else else
track_package_event('push_package', :maven, user: current_user, project: user_project, namespace: user_project.namespace) if jar_file?(format)
file_params = { file_params = {
file: params[:file], file: params[:file],
size: params['file.size'], size: params['file.size'],
...@@ -276,6 +274,7 @@ module API ...@@ -276,6 +274,7 @@ module API
} }
::Packages::CreatePackageFileService.new(package, file_params.merge(build: current_authenticated_job)).execute ::Packages::CreatePackageFileService.new(package, file_params.merge(build: current_authenticated_job)).execute
track_package_event('push_package', :maven, user: current_user, project: user_project, namespace: user_project.namespace) if jar_file?(format)
end end
end end
end end
......
...@@ -798,8 +798,6 @@ RSpec.describe API::MavenPackages do ...@@ -798,8 +798,6 @@ RSpec.describe API::MavenPackages do
end end
describe 'PUT /api/v4/projects/:id/packages/maven/*path/:file_name' do describe 'PUT /api/v4/projects/:id/packages/maven/*path/:file_name' do
include_context 'workhorse headers'
let(:send_rewritten_field) { true } let(:send_rewritten_field) { true }
let(:file_upload) { fixture_file_upload('spec/fixtures/packages/maven/my-app-1.0-20180724.124855-1.jar') } let(:file_upload) { fixture_file_upload('spec/fixtures/packages/maven/my-app-1.0-20180724.124855-1.jar') }
...@@ -833,6 +831,8 @@ RSpec.describe API::MavenPackages do ...@@ -833,6 +831,8 @@ RSpec.describe API::MavenPackages do
context 'when params from workhorse are correct' do context 'when params from workhorse are correct' do
let(:params) { { file: file_upload } } let(:params) { { file: file_upload } }
subject { upload_file_with_token(params: params) }
context 'file size is too large' do context 'file size is too large' do
it 'rejects the request' do it 'rejects the request' do
allow_next_instance_of(UploadedFile) do |uploaded_file| allow_next_instance_of(UploadedFile) do |uploaded_file|
...@@ -851,18 +851,20 @@ RSpec.describe API::MavenPackages do ...@@ -851,18 +851,20 @@ RSpec.describe API::MavenPackages do
expect(response).to have_gitlab_http_status(:bad_request) expect(response).to have_gitlab_http_status(:bad_request)
end end
context 'without workhorse header' do it_behaves_like 'package workhorse uploads'
let(:workhorse_headers) { {} }
subject { upload_file_with_token(params: params) }
it_behaves_like 'package workhorse uploads'
end
context 'event tracking' do context 'event tracking' do
subject { upload_file_with_token(params: params) }
it_behaves_like 'a package tracking event', described_class.name, 'push_package' it_behaves_like 'a package tracking event', described_class.name, 'push_package'
context 'when the package file fails to be created' do
before do
allow_next_instance_of(::Packages::CreatePackageFileService) do |create_package_file_service|
allow(create_package_file_service).to receive(:execute).and_raise(StandardError)
end
end
it_behaves_like 'not a package tracking event'
end
end end
it 'creates package and stores package file' do it 'creates package and stores package file' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment