Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/backup/gitaly_backup_spec.rb')
-rw-r--r--spec/lib/backup/gitaly_backup_spec.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/spec/lib/backup/gitaly_backup_spec.rb b/spec/lib/backup/gitaly_backup_spec.rb
index ad0e5553fa1..172fc28dd3e 100644
--- a/spec/lib/backup/gitaly_backup_spec.rb
+++ b/spec/lib/backup/gitaly_backup_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Backup::GitalyBackup do
+RSpec.describe Backup::GitalyBackup, feature_category: :backup_restore do
let(:max_parallelism) { nil }
let(:storage_parallelism) { nil }
let(:destination) { File.join(Gitlab.config.backup.path, 'repositories') }
@@ -181,6 +181,15 @@ RSpec.describe Backup::GitalyBackup do
expect(collect_commit_shas.call(project_snippet.repository)).to match_array(['6e44ba56a4748be361a841e759c20e421a1651a1'])
end
+ it 'clears specified storages when remove_all_repositories is set' do
+ expect(Open3).to receive(:popen2).with(expected_env, anything, 'restore', '-path', anything, '-layout', 'pointer', '-remove-all-repositories', 'default').and_call_original
+
+ copy_bundle_to_backup_path('project_repo.bundle', project.disk_path + '.bundle')
+ subject.start(:restore, destination, backup_id: backup_id, remove_all_repositories: %w[default])
+ subject.enqueue(project, Gitlab::GlRepository::PROJECT)
+ subject.finish!
+ end
+
context 'parallel option set' do
let(:max_parallelism) { 3 }