Fix filename method of GitlabUploader to return always real filename
This commit is contained in:
parent
652eb0118b
commit
05683f313b
3 changed files with 43 additions and 2 deletions
|
@ -61,6 +61,10 @@ class GitlabUploader < CarrierWave::Uploader::Base
|
|||
CarrierWave.tmp_path
|
||||
end
|
||||
|
||||
def filename
|
||||
super || file&.filename
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# To prevent files from moving across filesystems, override the default
|
||||
|
|
|
@ -431,8 +431,29 @@ describe API::Runner do
|
|||
expect(response).to have_http_status(201)
|
||||
expect(json_response['id']).to eq(test_job.id)
|
||||
expect(json_response['dependencies'].count).to eq(2)
|
||||
expect(json_response['dependencies']).to include({ 'id' => job.id, 'name' => job.name, 'token' => job.token },
|
||||
{ 'id' => job2.id, 'name' => job2.name, 'token' => job2.token })
|
||||
expect(json_response['dependencies']).to include(
|
||||
{ 'id' => job.id, 'name' => job.name, 'token' => job.token },
|
||||
{ 'id' => job2.id, 'name' => job2.name, 'token' => job2.token })
|
||||
end
|
||||
end
|
||||
|
||||
context 'when pipeline have jobs with artifacts' do
|
||||
let!(:job) { create(:ci_build_tag, :artifacts, pipeline: pipeline, name: 'spinach', stage: 'test', stage_idx: 0) }
|
||||
let!(:test_job) { create(:ci_build, pipeline: pipeline, name: 'deploy', stage: 'deploy', stage_idx: 1) }
|
||||
|
||||
before do
|
||||
job.success
|
||||
end
|
||||
|
||||
it 'returns dependent jobs' do
|
||||
request_job
|
||||
|
||||
expect(response).to have_http_status(201)
|
||||
expect(json_response['id']).to eq(test_job.id)
|
||||
expect(json_response['dependencies'].count).to eq(1)
|
||||
expect(json_response['dependencies']).to include(
|
||||
{ 'id' => job.id, 'name' => job.name, 'token' => job.token,
|
||||
'artifacts_file' => { 'filename' => 'ci_build_artifacts.zip', 'size' => 106365 } })
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -42,4 +42,20 @@ describe ArtifactUploader do
|
|||
it { is_expected.to start_with(path) }
|
||||
it { is_expected.to end_with('/tmp/work') }
|
||||
end
|
||||
|
||||
describe '#filename' do
|
||||
# we need to use uploader, as this makes to use mounter
|
||||
# which initialises uploader.file object
|
||||
let(:uploader) { job.artifacts_file }
|
||||
|
||||
subject { uploader.filename }
|
||||
|
||||
it { is_expected.to be_nil }
|
||||
|
||||
context 'with artifacts' do
|
||||
let(:job) { create(:ci_build, :artifacts) }
|
||||
|
||||
it { is_expected.not_to be_nil }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue