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