diff --git a/activerecord/test/cases/connection_pool_test.rb b/activerecord/test/cases/connection_pool_test.rb index 25375c5f7a717791b7b0bd476b708eef1d4961e0..861ae7e120234b9bdd62bf2e067ba4f4bed89c4f 100644 --- a/activerecord/test/cases/connection_pool_test.rb +++ b/activerecord/test/cases/connection_pool_test.rb @@ -31,6 +31,24 @@ def active_connections(pool) pool.connections.find_all(&:in_use?) end + def test_released_connection_moves_between_threads + thread_conn = nil + + Thread.new { + pool.with_connection do |conn| + thread_conn = conn + end + }.join + + assert thread_conn + + Thread.new { + pool.with_connection do |conn| + assert_equal thread_conn, conn + end + }.join + end + def test_with_connection assert_equal 0, active_connections(pool).size