From c5edd97721aeaa4ceaa11e66327842a0aba1fdf7 Mon Sep 17 00:00:00 2001
From: Gabriel Courtemanche <gabriel.courtemanche@shopify.com>
Date: Tue, 22 Aug 2017 13:32:38 -0400
Subject: Add TransactionTimeout for MySQL error code 1205

---
 activerecord/test/cases/adapters/mysql2/transaction_test.rb | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'activerecord/test')

diff --git a/activerecord/test/cases/adapters/mysql2/transaction_test.rb b/activerecord/test/cases/adapters/mysql2/transaction_test.rb
index e603baab69..25d9f69a89 100644
--- a/activerecord/test/cases/adapters/mysql2/transaction_test.rb
+++ b/activerecord/test/cases/adapters/mysql2/transaction_test.rb
@@ -59,5 +59,11 @@ module ActiveRecord
         end
       end
     end
+
+    test "raises TransactionTimeout when mysql raises ER_LOCK_WAIT_TIMEOUT" do
+      assert_raises(ActiveRecord::TransactionTimeout) do
+        ActiveRecord::Base.connection.execute("SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'Testing error', MYSQL_ERRNO = 1205;")
+      end
+    end
   end
 end
-- 
cgit v1.2.3