diff options
Diffstat (limited to 'spec/services/repositories/destroy_service_spec.rb')
-rw-r--r-- | spec/services/repositories/destroy_service_spec.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/spec/services/repositories/destroy_service_spec.rb b/spec/services/repositories/destroy_service_spec.rb index 9c2694483c1..30ec84b44e7 100644 --- a/spec/services/repositories/destroy_service_spec.rb +++ b/spec/services/repositories/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Repositories::DestroyService do +RSpec.describe Repositories::DestroyService do let_it_be(:user) { create(:user) } let!(:project) { create(:project, :repository, namespace: user.namespace) } let(:repository) { project.repository } @@ -34,6 +34,21 @@ describe Repositories::DestroyService do project.touch end + context 'on a read-only instance' do + before do + allow(Gitlab::Database).to receive(:read_only?).and_return(true) + end + + it 'schedules the repository deletion' do + expect(Repositories::ShellDestroyService).to receive(:new).with(repository).and_call_original + + expect(GitlabShellWorker).to receive(:perform_in) + .with(Repositories::ShellDestroyService::REPO_REMOVAL_DELAY, :remove_repository, project.repository_storage, remove_path) + + subject + end + end + it 'removes the repository', :sidekiq_inline do subject |