From 02ac66de9063178ef03c3580cae886e4137948be Mon Sep 17 00:00:00 2001 From: Gabriel Mazetto Date: Thu, 24 Jan 2019 19:07:10 +0100 Subject: [PATCH] Track when MigrateAttachmentsService is skipped We need this new state for the Geo event logic in EE --- .../hashed_storage/migrate_attachments_service.rb | 6 ++++++ .../migrate_attachments_service_spec.rb | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/services/projects/hashed_storage/migrate_attachments_service.rb b/app/services/projects/hashed_storage/migrate_attachments_service.rb index 7476980a117..03e0685d2cd 100644 --- a/app/services/projects/hashed_storage/migrate_attachments_service.rb +++ b/app/services/projects/hashed_storage/migrate_attachments_service.rb @@ -12,6 +12,7 @@ module Projects @logger = logger || Rails.logger @old_disk_path = old_disk_path @new_disk_path = project.disk_path + @skipped = false end def execute @@ -32,11 +33,16 @@ module Projects result end + def skipped? + @skipped + end + private def move_folder!(old_path, new_path) unless File.directory?(old_path) logger.info("Skipped attachments migration from '#{old_path}' to '#{new_path}', source path doesn't exist or is not a directory (PROJECT_ID=#{project.id})") + @skipped = true return true end diff --git a/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb b/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb index bef12df583e..61dbb57ec08 100644 --- a/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb +++ b/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb @@ -32,6 +32,12 @@ describe Projects::HashedStorage::MigrateAttachmentsService do it 'returns true' do expect(service.execute).to be_truthy end + + it 'sets skipped to false' do + service.execute + + expect(service.skipped?).to be_falsey + end end context 'when original folder does not exist anymore' do @@ -49,10 +55,14 @@ describe Projects::HashedStorage::MigrateAttachmentsService do end it 'returns true' do - expect(FileUtils).not_to receive(:mv).with(base_path(legacy_storage), base_path(hashed_storage)) - expect(service.execute).to be_truthy end + + it 'sets skipped to true' do + service.execute + + expect(service.skipped?).to be_truthy + end end context 'when target folder already exists' do