diff options
author | James Lopez <james@gitlab.com> | 2019-05-07 09:19:27 +0000 |
---|---|---|
committer | James Lopez <james@gitlab.com> | 2019-05-07 09:19:27 +0000 |
commit | ef2c1a6b6d7d8b35bbdc6602891f4338c97f401b (patch) | |
tree | c66939634a9cb017ee03b2b344ec1dd469665dac | |
parent | 0fd571bf4d258d73eaaf09d95d61e60cd613d68b (diff) | |
parent | ec341a2bbd81eac9639faf5c5e8e8b670f535096 (diff) | |
download | gitlab-ce-ef2c1a6b6d7d8b35bbdc6602891f4338c97f401b.tar.gz |
Merge branch 'sh-cleanup-import-export' into 'master'
Clean up CarrierWave's import/export files
Closes #60656
See merge request gitlab-org/gitlab-ce!27487
-rw-r--r-- | app/uploaders/import_export_uploader.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/sh-cleanup-import-export.yml | 5 | ||||
-rw-r--r-- | spec/uploaders/import_export_uploader_spec.rb | 32 |
3 files changed, 37 insertions, 4 deletions
diff --git a/app/uploaders/import_export_uploader.rb b/app/uploaders/import_export_uploader.rb index 716922bc017..104d5d3b3dd 100644 --- a/app/uploaders/import_export_uploader.rb +++ b/app/uploaders/import_export_uploader.rb @@ -7,10 +7,6 @@ class ImportExportUploader < AttachmentUploader EXTENSION_WHITELIST end - def move_to_store - true - end - def move_to_cache false end diff --git a/changelogs/unreleased/sh-cleanup-import-export.yml b/changelogs/unreleased/sh-cleanup-import-export.yml new file mode 100644 index 00000000000..3d5d6f3c907 --- /dev/null +++ b/changelogs/unreleased/sh-cleanup-import-export.yml @@ -0,0 +1,5 @@ +--- +title: Clean up CarrierWave's import/export files +merge_request: 27487 +author: +type: fixed diff --git a/spec/uploaders/import_export_uploader_spec.rb b/spec/uploaders/import_export_uploader_spec.rb index 825c1cabc14..2dea48e3a88 100644 --- a/spec/uploaders/import_export_uploader_spec.rb +++ b/spec/uploaders/import_export_uploader_spec.rb @@ -3,9 +3,18 @@ require 'spec_helper' describe ImportExportUploader do let(:model) { build_stubbed(:import_export_upload) } let(:upload) { create(:upload, model: model) } + let(:import_export_upload) { ImportExportUpload.new } subject { described_class.new(model, :import_file) } + context 'local store' do + describe '#move_to_store' do + it 'returns true' do + expect(subject.move_to_store).to be true + end + end + end + context "object_store is REMOTE" do before do stub_uploads_object_storage @@ -16,5 +25,28 @@ describe ImportExportUploader do it_behaves_like 'builds correct paths', store_dir: %r[import_export_upload/import_file/], upload_path: %r[import_export_upload/import_file/] + + describe '#move_to_store' do + it 'returns false' do + expect(subject.move_to_store).to be false + end + end + + describe 'with an export file directly uploaded' do + let(:tempfile) { Tempfile.new(['test', '.gz']) } + + before do + stub_uploads_object_storage(described_class, direct_upload: true) + import_export_upload.export_file = tempfile + end + + it 'cleans up cached file' do + cache_dir = File.join(import_export_upload.export_file.cache_path(nil), '*') + + import_export_upload.save! + + expect(Dir[cache_dir]).to be_empty + end + end end end |