summaryrefslogtreecommitdiff
path: root/spec/support/database_load_balancing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/database_load_balancing.rb')
-rw-r--r--spec/support/database_load_balancing.rb16
1 files changed, 8 insertions, 8 deletions
diff --git a/spec/support/database_load_balancing.rb b/spec/support/database_load_balancing.rb
index 014575e8a82..d2902ddcc7c 100644
--- a/spec/support/database_load_balancing.rb
+++ b/spec/support/database_load_balancing.rb
@@ -2,17 +2,17 @@
RSpec.configure do |config|
config.around(:each, :database_replica) do |example|
- old_proxies = []
+ old_proxies = {}
Gitlab::Database::LoadBalancing.base_models.each do |model|
+ old_proxies[model] = [model.load_balancer, model.connection, model.sticking]
+
config = Gitlab::Database::LoadBalancing::Configuration
.new(model, [model.connection_db_config.configuration_hash[:host]])
- lb = Gitlab::Database::LoadBalancing::LoadBalancer.new(config)
-
- old_proxies << [model, model.connection]
- model.connection =
- Gitlab::Database::LoadBalancing::ConnectionProxy.new(lb)
+ model.load_balancer = Gitlab::Database::LoadBalancing::LoadBalancer.new(config)
+ model.sticking = Gitlab::Database::LoadBalancing::Sticking.new(model.load_balancer)
+ model.connection = Gitlab::Database::LoadBalancing::ConnectionProxy.new(model.load_balancer)
end
Gitlab::Database::LoadBalancing::Session.clear_session
@@ -23,8 +23,8 @@ RSpec.configure do |config|
Gitlab::Database::LoadBalancing::Session.clear_session
redis_shared_state_cleanup!
- old_proxies.each do |(model, proxy)|
- model.connection = proxy
+ old_proxies.each do |model, proxy|
+ model.load_balancer, model.connection, model.sticking = proxy
end
end
end