aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/connection_pool_test.rb
diff options
context:
space:
mode:
authorPavel <pavel.evst@gmail.com>2016-11-09 01:10:16 +0800
committerPavel <pavel.evst@gmail.com>2016-11-09 01:10:16 +0800
commit35b6898f7cb5223e1de4edc1b4539e05dfd83d41 (patch)
tree7c6e3c551b13e3f3ab8aa0a4aeb9c3a8d2557bfd /activerecord/test/cases/connection_pool_test.rb
parente91dd52d561e61ec4e41bf01c20d9e1aab579e4a (diff)
downloadrails-35b6898f7cb5223e1de4edc1b4539e05dfd83d41.tar.gz
rails-35b6898f7cb5223e1de4edc1b4539e05dfd83d41.tar.bz2
rails-35b6898f7cb5223e1de4edc1b4539e05dfd83d41.zip
Add ActiveRecord::Base.connection_pool.stat
Diffstat (limited to 'activerecord/test/cases/connection_pool_test.rb')
-rw-r--r--activerecord/test/cases/connection_pool_test.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/cases/connection_pool_test.rb b/activerecord/test/cases/connection_pool_test.rb
index 3844f1eca2..b08e4f603c 100644
--- a/activerecord/test/cases/connection_pool_test.rb
+++ b/activerecord/test/cases/connection_pool_test.rb
@@ -526,6 +526,26 @@ module ActiveRecord
end
end
+ def test_connection_pool_stat
+ with_single_connection_pool do |pool|
+ pool.with_connection do |connection|
+ stats = pool.stat
+ assert_equal({ size: 1, connections: 1, busy: 1, dead: 0, idle: 0, waiting: 0, checkout_timeout: 5 }, stats)
+ end
+
+ stats = pool.stat
+ assert_equal({ size: 1, connections: 1, busy: 0, dead: 0, idle: 1, waiting: 0, checkout_timeout: 5 }, stats)
+
+ Thread.new do
+ pool.checkout
+ Thread.current.kill
+ end.join
+
+ stats = pool.stat
+ assert_equal({ size: 1, connections: 1, busy: 0, dead: 1, idle: 0, waiting: 0, checkout_timeout: 5 }, stats)
+ end
+ end
+
private
def with_single_connection_pool
one_conn_spec = ActiveRecord::Base.connection_pool.spec.dup