diff options
author | Balasankar "Balu" C <balasankar@gitlab.com> | 2018-01-15 18:03:35 +0300 |
---|---|---|
committer | Balasankar "Balu" C <balasankar@gitlab.com> | 2018-01-15 18:03:35 +0300 |
commit | ad25ef1f0d7e85e2b9797f30721caab00f62dfc2 (patch) | |
tree | 0317b93caa7c155ae77bb0c4b44cb4486b5e4e8f | |
parent | 377d5c9ec32f9957eee4a9a397a8d18cad1274ac (diff) |
List available backups for restore
-rw-r--r-- | lib/backup/manager.rb | 7 | ||||
-rw-r--r-- | spec/lib/backup/manager_spec.rb | 7 |
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/backup/manager.rb b/lib/backup/manager.rb index 05aa79dc160..c6c6fca6b74 100644 --- a/lib/backup/manager.rb +++ b/lib/backup/manager.rb @@ -108,7 +108,12 @@ module Backup $progress.puts "Please make sure that file name ends with #{FILE_NAME_SUFFIX}" exit 1 elsif backup_file_list.many? && ENV["BACKUP"].nil? - $progress.puts 'Found more than one backup, please specify which one you want to restore:' + $progress.puts 'Found more than one backup:' + # print list of available backups + backup_file_list.each do |item| + $progress.puts " " + item.gsub("#{FILE_NAME_SUFFIX}", "") + end + $progress.puts 'Please specify which one you want to restore:' $progress.puts 'rake gitlab:backup:restore BACKUP=timestamp_of_backup' exit 1 end diff --git a/spec/lib/backup/manager_spec.rb b/spec/lib/backup/manager_spec.rb index b68301a066a..cd498177b81 100644 --- a/spec/lib/backup/manager_spec.rb +++ b/spec/lib/backup/manager_spec.rb @@ -194,6 +194,13 @@ describe Backup::Manager do ) end + it 'prints the list of available backups' do + expect(progress).to have_received(:puts) + .with(a_string_matching('1451606400_2016_01_01_1.2.3')) + expect(progress).to have_received(:puts) + .with(a_string_matching('1451520000_2015_12_31')) + end + it 'fails the operation and prints an error' do expect { subject.unpack }.to raise_error SystemExit expect(progress).to have_received(:puts) |