32 lines
833 B
Ruby
32 lines
833 B
Ruby
# 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
|