diff options
Diffstat (limited to 'spec/support/before_all_adapter.rb')
-rw-r--r-- | spec/support/before_all_adapter.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/spec/support/before_all_adapter.rb b/spec/support/before_all_adapter.rb index f48e0f46e80..890bdd6a2c4 100644 --- a/spec/support/before_all_adapter.rb +++ b/spec/support/before_all_adapter.rb @@ -1,25 +1,25 @@ # frozen_string_literal: true class BeforeAllAdapter # rubocop:disable Gitlab/NamespacedClass - def self.all_connection_pools - ::ActiveRecord::Base.connection_handler.all_connection_pools + def self.all_connection_classes + @all_connection_classes ||= [ActiveRecord::Base] + ActiveRecord::Base.descendants.select(&:connection_class?) # rubocop: disable Database/MultipleDatabases end def self.begin_transaction - self.all_connection_pools.each do |connection_pool| - connection_pool.connection.begin_transaction(joinable: false) + self.all_connection_classes.each do |connection_class| + connection_class.connection.begin_transaction(joinable: false) end end def self.rollback_transaction - self.all_connection_pools.each do |connection_pool| - if connection_pool.connection.open_transactions.zero? + self.all_connection_classes.each do |connection_class| + if connection_class.connection.open_transactions.zero? warn "!!! before_all transaction has been already rollbacked and " \ "could work incorrectly" next end - connection_pool.connection.rollback_transaction + connection_class.connection.rollback_transaction end end end |