diff options
Diffstat (limited to 'spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb b/spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb new file mode 100644 index 00000000000..c1ac8f0c9cd --- /dev/null +++ b/spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::Database::PostgresAutovacuumActivity, type: :model do + include Database::DatabaseHelpers + + it { is_expected.to be_a Gitlab::Database::SharedModel } + + describe '.for_tables' do + subject { described_class.for_tables(tables) } + + let(:tables) { %w[foo test] } + + before do + swapout_view_for_table(:postgres_autovacuum_activity) + + # unrelated + create(:postgres_autovacuum_activity, table: 'bar') + + tables.each do |table| + create(:postgres_autovacuum_activity, table: table) + end + + expect(Gitlab::Database::LoadBalancing::Session.current).to receive(:use_primary).and_yield + end + + it 'returns autovacuum activity for queries tables' do + expect(subject.map(&:table).sort).to eq(tables) + end + end +end |