diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-12 23:12:51 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-12 23:14:26 +0900 |
commit | 7d83ef4f7bd9e5766ebdb438370621a98be06a7c (patch) | |
tree | aedab859c324176a5eef2b9cc9f6854734ff53bc /activerecord/test/cases | |
parent | 4dd06452ef2745423c1643835483ef72cddfdaed (diff) | |
download | rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.tar.gz rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.tar.bz2 rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.zip |
Ensure that preventing writes is invoked before `materialize_transactions` consistently
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/adapter_test.rb | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/activerecord/test/cases/adapter_test.rb b/activerecord/test/cases/adapter_test.rb index 79a431c7ee..3d31533ec8 100644 --- a/activerecord/test/cases/adapter_test.rb +++ b/activerecord/test/cases/adapter_test.rb @@ -166,9 +166,13 @@ module ActiveRecord end def test_errors_when_an_insert_query_is_called_while_preventing_writes - assert_raises(ActiveRecord::ReadOnlyError) do - @connection.while_preventing_writes do - @connection.insert("INSERT INTO subscribers(nick) VALUES ('138853948594')") + assert_no_queries do + assert_raises(ActiveRecord::ReadOnlyError) do + @connection.while_preventing_writes do + @connection.transaction do + @connection.insert("INSERT INTO subscribers(nick) VALUES ('138853948594')", nil, false) + end + end end end end @@ -176,9 +180,13 @@ module ActiveRecord def test_errors_when_an_update_query_is_called_while_preventing_writes @connection.insert("INSERT INTO subscribers(nick) VALUES ('138853948594')") - assert_raises(ActiveRecord::ReadOnlyError) do - @connection.while_preventing_writes do - @connection.update("UPDATE subscribers SET nick = '9989' WHERE nick = '138853948594'") + assert_no_queries do + assert_raises(ActiveRecord::ReadOnlyError) do + @connection.while_preventing_writes do + @connection.transaction do + @connection.update("UPDATE subscribers SET nick = '9989' WHERE nick = '138853948594'") + end + end end end end @@ -186,9 +194,13 @@ module ActiveRecord def test_errors_when_a_delete_query_is_called_while_preventing_writes @connection.insert("INSERT INTO subscribers(nick) VALUES ('138853948594')") - assert_raises(ActiveRecord::ReadOnlyError) do - @connection.while_preventing_writes do - @connection.delete("DELETE FROM subscribers WHERE nick = '138853948594'") + assert_no_queries do + assert_raises(ActiveRecord::ReadOnlyError) do + @connection.while_preventing_writes do + @connection.transaction do + @connection.delete("DELETE FROM subscribers WHERE nick = '138853948594'") + end + end end end end |