aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorKir Shatrov <shatrov@me.com>2019-07-16 20:08:50 +0100
committerKir Shatrov <shatrov@me.com>2019-07-16 20:24:27 +0100
commit080939c98724b039704ca8115ba610134d1edcff (patch)
treec47ca5efeac488817c5074ad95c6310c5b3ee2c9 /activerecord/test
parentda4e18c5c2e965bfdfc442b92881326453de6f80 (diff)
downloadrails-080939c98724b039704ca8115ba610134d1edcff.tar.gz
rails-080939c98724b039704ca8115ba610134d1edcff.tar.bz2
rails-080939c98724b039704ca8115ba610134d1edcff.zip
Raise specific exception on Mysql2::Error::TimeoutError
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb b/activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb
index df84a40f63..6387f65b62 100644
--- a/activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb
+++ b/activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb
@@ -225,6 +225,20 @@ class Mysql2AdapterTest < ActiveRecord::Mysql2TestCase
end
end
+ def test_read_timeout_exception
+ ActiveRecord::Base.establish_connection(
+ ActiveRecord::Base.configurations[:arunit].merge("read_timeout" => 1)
+ )
+
+ error = assert_raises(ActiveRecord::AdapterTimeout) do
+ ActiveRecord::Base.connection.execute("SELECT SLEEP(2)")
+ end
+
+ assert_equal Mysql2::Error::TimeoutError, error.cause.class
+ ensure
+ ActiveRecord::Base.establish_connection :arunit
+ end
+
private
def with_example_table(definition = "id int auto_increment primary key, number int, data varchar(255)", &block)
super(@conn, "ex", definition, &block)