diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2018-05-28 09:58:14 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-05-28 09:58:14 +0000 |
commit | b529d04b69c5fd8612bfa614a536d02574cb7f07 (patch) | |
tree | 3c6545b180d4d7d6dbfadab88c983a2c1d511471 /spec/lib | |
parent | a45b9fc96ca568b19fd9d09a8b40846c2c8b5b36 (diff) | |
download | gitlab-ce-b529d04b69c5fd8612bfa614a536d02574cb7f07.tar.gz |
Use Gitaly's DeleteAllRepositories RPC during backup restore
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/backup/repository_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/lib/backup/repository_spec.rb b/spec/lib/backup/repository_spec.rb index a44243ac82d..023bedaaebb 100644 --- a/spec/lib/backup/repository_spec.rb +++ b/spec/lib/backup/repository_spec.rb @@ -71,6 +71,40 @@ describe Backup::Repository do end end + describe '#delete_all_repositories', :seed_helper do + shared_examples('delete_all_repositories') do + before do + allow(FileUtils).to receive(:mkdir_p).and_call_original + allow(FileUtils).to receive(:mv).and_call_original + end + + after(:all) do + ensure_seeds + end + + it 'removes all repositories' do + # Sanity check: there should be something for us to delete + expect(list_repositories).to include(File.join(SEED_STORAGE_PATH, TEST_REPO_PATH)) + + subject.delete_all_repositories('default', Gitlab.config.repositories.storages['default']) + + expect(list_repositories).to be_empty + end + + def list_repositories + Dir[SEED_STORAGE_PATH + '/*.git'] + end + end + + context 'with gitaly' do + it_behaves_like 'delete_all_repositories' + end + + context 'without gitaly', :skip_gitaly_mock do + it_behaves_like 'delete_all_repositories' + end + end + describe '#empty_repo?' do context 'for a wiki' do let(:wiki) { create(:project_wiki) } |