summaryrefslogtreecommitdiff
path: root/spec/workers/database/drop_detached_partitions_worker_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/workers/database/drop_detached_partitions_worker_spec.rb')
-rw-r--r--spec/workers/database/drop_detached_partitions_worker_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/workers/database/drop_detached_partitions_worker_spec.rb b/spec/workers/database/drop_detached_partitions_worker_spec.rb
new file mode 100644
index 00000000000..42c3fa3c188
--- /dev/null
+++ b/spec/workers/database/drop_detached_partitions_worker_spec.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+RSpec.describe Database::DropDetachedPartitionsWorker do
+ describe '#perform' do
+ subject { described_class.new.perform }
+
+ let(:dropper) { instance_double('DropDetachedPartitions', perform: nil) }
+ let(:monitoring) { instance_double('PartitionMonitoring', report_metrics: nil) }
+
+ before do
+ allow(Gitlab::Database::Partitioning::DetachedPartitionDropper).to receive(:new).and_return(dropper)
+ allow(Gitlab::Database::Partitioning::PartitionMonitoring).to receive(:new).and_return(monitoring)
+ end
+
+ it 'delegates to DropPartitionsPendingDrop' do
+ expect(dropper).to receive(:perform)
+
+ subject
+ end
+
+ it 'reports partition metrics' do
+ expect(monitoring).to receive(:report_metrics)
+
+ subject
+ end
+ end
+end