diff options
author | kennyj <kennyj@gmail.com> | 2012-07-23 00:46:00 +0900 |
---|---|---|
committer | kennyj <kennyj@gmail.com> | 2012-07-23 00:46:00 +0900 |
commit | 8ca93c78832f4fdc78320e3f73ffd07bb71ce196 (patch) | |
tree | ef52c8b9496451ae92f53c0d6a6b9903a7df631c /activerecord/test/cases | |
parent | 1b2a7bad671cf39252dc539a673cd217a25235a8 (diff) | |
download | rails-8ca93c78832f4fdc78320e3f73ffd07bb71ce196.tar.gz rails-8ca93c78832f4fdc78320e3f73ffd07bb71ce196.tar.bz2 rails-8ca93c78832f4fdc78320e3f73ffd07bb71ce196.zip |
Restore connection_id on error.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/query_cache_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/query_cache_test.rb b/activerecord/test/cases/query_cache_test.rb index 83e207a260..2d778e9e90 100644 --- a/activerecord/test/cases/query_cache_test.rb +++ b/activerecord/test/cases/query_cache_test.rb @@ -39,6 +39,18 @@ class QueryCacheTest < ActiveRecord::TestCase assert ActiveRecord::Base.connection.query_cache_enabled, 'cache on' end + def test_exceptional_middleware_assigns_original_connection_id_on_error + connection_id = ActiveRecord::Base.connection_id + + mw = ActiveRecord::QueryCache.new lambda { |env| + ActiveRecord::Base.connection_id = self.object_id + raise "lol borked" + } + assert_raises(RuntimeError) { mw.call({}) } + + assert_equal connection_id, ActiveRecord::Base.connection_id + end + def test_middleware_delegates called = false mw = ActiveRecord::QueryCache.new lambda { |env| |