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:
authorKamil Trzciński <ayufan@ayufan.eu>2018-12-19 16:03:54 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2018-12-19 16:03:54 +0300
commitf9fd9b1def8dec9800f8d3857ee278ed6dca03c3 (patch)
tree2cbb53d5c73df8dab9e7baf3d7f65230bab06858 /spec/workers
parentfd86e7432744979c0f17fc0dcca157a6606a15c0 (diff)
parent752e9c18a1c2521636ddeec65b7bda2035ce1893 (diff)
Merge branch 'zj-pool-destruction' into 'master'
Leave object pools when destroying projects Closes gitaly#1415 See merge request gitlab-org/gitlab-ce!23869
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/object_pool/destroy_worker_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/workers/object_pool/destroy_worker_spec.rb b/spec/workers/object_pool/destroy_worker_spec.rb
new file mode 100644
index 00000000000..ef74f0ba87c
--- /dev/null
+++ b/spec/workers/object_pool/destroy_worker_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+describe ObjectPool::DestroyWorker do
+ describe '#perform' do
+ context 'when no pool is in the database' do
+ it "doesn't raise an error" do
+ expect do
+ described_class.new.perform(987654321)
+ end.not_to raise_error
+ end
+ end
+
+ context 'when a pool is present' do
+ let(:pool) { create(:pool_repository, :obsolete) }
+
+ subject { described_class.new }
+
+ it 'requests Gitaly to remove the object pool' do
+ expect(Gitlab::GitalyClient).to receive(:call).with(pool.shard_name, :object_pool_service, :delete_object_pool, Object)
+
+ subject.perform(pool.id)
+ end
+
+ it 'destroys the pool' do
+ subject.perform(pool.id)
+
+ expect(PoolRepository.find_by_id(pool.id)).to be_nil
+ end
+ end
+ end
+end