summaryrefslogtreecommitdiff
path: root/spec/support/database_load_balancing.rb
blob: f22c69ea61320d38afaf942d30b4ca25566e61ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

RSpec.configure do |config|
  config.before(:each, :db_load_balancing) do
    allow(Gitlab::Database::LoadBalancing).to receive(:enable?).and_return(true)

    config = Gitlab::Database::LoadBalancing::Configuration
      .new(ActiveRecord::Base, [Gitlab::Database.main.config['host']])
    lb = ::Gitlab::Database::LoadBalancing::LoadBalancer.new(config)
    proxy = ::Gitlab::Database::LoadBalancing::ConnectionProxy.new(lb)

    allow(ActiveRecord::Base).to receive(:load_balancing_proxy).and_return(proxy)

    ::Gitlab::Database::LoadBalancing::Session.clear_session
    redis_shared_state_cleanup!
  end

  config.after(:each, :db_load_balancing) do
    ::Gitlab::Database::LoadBalancing::Session.clear_session
    redis_shared_state_cleanup!
  end
end