aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/connection_management_test.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-03-29 15:37:07 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2011-03-29 15:37:07 -0700
commite5246092d1ce30961af4f7d9b5ad86071298cf1c (patch)
tree8293f01bc0b6858410167c3722ecdc58acf881c3 /activerecord/test/cases/connection_management_test.rb
parent94907035b6a4a8e415cf19471a7ae77fac937209 (diff)
downloadrails-e5246092d1ce30961af4f7d9b5ad86071298cf1c.tar.gz
rails-e5246092d1ce30961af4f7d9b5ad86071298cf1c.tar.bz2
rails-e5246092d1ce30961af4f7d9b5ad86071298cf1c.zip
proxy body responses so we close database connections after body is flushed
Diffstat (limited to 'activerecord/test/cases/connection_management_test.rb')
-rw-r--r--activerecord/test/cases/connection_management_test.rb24
1 files changed, 22 insertions, 2 deletions
diff --git a/activerecord/test/cases/connection_management_test.rb b/activerecord/test/cases/connection_management_test.rb
index 1313e28bb1..3734f8e5f0 100644
--- a/activerecord/test/cases/connection_management_test.rb
+++ b/activerecord/test/cases/connection_management_test.rb
@@ -11,7 +11,7 @@ module ActiveRecord
def call(env)
@calls << env
- [200, {}, [['hi mom']]]
+ [200, {}, ['hi mom']]
end
end
@@ -32,11 +32,31 @@ module ActiveRecord
assert_equal [@env], @app.calls
end
- test "clears active connections after each call" do
+ def test_connections_are_active_after_call
@management.call(@env)
+ assert ActiveRecord::Base.connection_handler.active_connections?
+ end
+
+ def test_body_responds_to_each
+ _, _, body = @management.call(@env)
+ bits = []
+ body.each { |bit| bits << bit }
+ assert_equal ['hi mom'], bits
+ end
+
+ def test_connections_are_cleared_after_body_close
+ _, _, body = @management.call(@env)
+ body.close
assert !ActiveRecord::Base.connection_handler.active_connections?
end
+ def test_active_connections_are_not_cleared_on_body_close_during_test
+ @env['rack.test'] = true
+ _, _, body = @management.call(@env)
+ body.close
+ assert ActiveRecord::Base.connection_handler.active_connections?
+ end
+
test "doesn't clear active connections when running in a test case" do
@env['rack.test'] = true
@management.call(@env)