diff options
Diffstat (limited to 'spec/tasks/gitlab/backup_rake_spec.rb')
-rw-r--r-- | spec/tasks/gitlab/backup_rake_spec.rb | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index a2cc2b12e5e..212a7f74b40 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -325,11 +325,13 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do end let!(:project_a) { create(:project, :repository) } + let!(:project_a_wiki_page) { create(:wiki_page, container: project_a) } + let!(:project_a_design) { create(:design, :with_file, issue: create(:issue, project: project_a)) } let!(:project_b) { create(:project, :repository, repository_storage: 'test_second_storage') } let!(:b_storage_dir) { File.join(test_second_storage_dir, File.dirname(project_b.disk_path)) } - context 'no concurrency' do - it 'includes repositories in all repository storages' do + shared_examples 'includes repositories in all repository storages' do + specify :aggregate_failures do expect { run_rake_task('gitlab:backup:create') }.to output.to_stdout tar_contents, exit_status = Gitlab::Popen.popen( @@ -337,27 +339,25 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do ) expect(exit_status).to eq(0) - expect(tar_contents).to match("repositories/#{project_a.disk_path}.bundle") - expect(tar_contents).to match("repositories/#{project_b.disk_path}.bundle") + expect(tar_contents).to include( + "repositories/#{project_a.disk_path}.bundle", + "repositories/#{project_a.disk_path}.wiki.bundle", + "repositories/#{project_a.disk_path}.design.bundle", + "repositories/#{project_b.disk_path}.bundle" + ) end end + context 'no concurrency' do + it_behaves_like 'includes repositories in all repository storages' + end + context 'with concurrency' do before do stub_env('GITLAB_BACKUP_MAX_CONCURRENCY', 4) end - it 'includes repositories in all repository storages' do - expect { run_rake_task('gitlab:backup:create') }.to output.to_stdout - - tar_contents, exit_status = Gitlab::Popen.popen( - %W{tar -tvf #{backup_tar} repositories} - ) - - expect(exit_status).to eq(0) - expect(tar_contents).to match("repositories/#{project_a.disk_path}.bundle") - expect(tar_contents).to match("repositories/#{project_b.disk_path}.bundle") - end + it_behaves_like 'includes repositories in all repository storages' end end @@ -370,7 +370,7 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do end it 'has defaults' do - expect_next_instance_of(::Backup::Repository) do |instance| + expect_next_instance_of(::Backup::Repositories) do |instance| expect(instance).to receive(:dump) .with(max_concurrency: 1, max_storage_concurrency: 1) .and_call_original @@ -383,7 +383,7 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do stub_env('GITLAB_BACKUP_MAX_CONCURRENCY', 5) stub_env('GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY', 2) - expect_next_instance_of(::Backup::Repository) do |instance| + expect_next_instance_of(::Backup::Repositories) do |instance| expect(instance).to receive(:dump) .with(max_concurrency: 5, max_storage_concurrency: 2) .and_call_original |