From 7b6b52d6bcd204aaddcdc36481956d73a54ea7bb Mon Sep 17 00:00:00 2001 From: Prathamesh Sonpatki Date: Sat, 19 Nov 2016 21:52:52 +0530 Subject: Fix tests for prepared_statements: false and queries hitting `#select_all` - The query needs to be executed for hitting `select_all` so made sure that query gets executed. - Also instead of changing instance variable, just add new configuration for prepared_statements: false and use it for this test. - This way we don't have to touch the internals of AR code and still disable prepared statements config for this test. --- .../test/cases/adapters/postgresql/prepared_statements_test.rb | 8 ++++---- activerecord/test/config.example.yml | 3 +++ activerecord/test/support/config.rb | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/activerecord/test/cases/adapters/postgresql/prepared_statements_test.rb b/activerecord/test/cases/adapters/postgresql/prepared_statements_test.rb index 181c1a097c..1214b28366 100644 --- a/activerecord/test/cases/adapters/postgresql/prepared_statements_test.rb +++ b/activerecord/test/cases/adapters/postgresql/prepared_statements_test.rb @@ -6,17 +6,17 @@ class PreparedStatementsTest < ActiveRecord::PostgreSQLTestCase fixtures :developers def setup - @default_prepared_statements = ActiveRecord::Base.connection.instance_variable_get("@prepared_statements") - ActiveRecord::Base.connection.instance_variable_set("@prepared_statements", false) + @conn = ActiveRecord::Base.establish_connection :arunit_with_prepared_statements end def teardown - ActiveRecord::Base.connection.instance_variable_set("@prepared_statements", @default_prepared_statements) + @conn.release_connection + ActiveRecord::Base.establish_connection :arunit end def test_nothing_raised_with_falsy_prepared_statements assert_nothing_raised do - Developer.where(id: 1) + Developer.where(id: 1).to_a end end end diff --git a/activerecord/test/config.example.yml b/activerecord/test/config.example.yml index 58e2d45748..4bcb2aeea6 100644 --- a/activerecord/test/config.example.yml +++ b/activerecord/test/config.example.yml @@ -77,6 +77,9 @@ connections: postgresql: arunit: min_messages: warning + arunit_without_prepared_statements: + min_messages: warning + prepared_statements: false arunit2: min_messages: warning diff --git a/activerecord/test/support/config.rb b/activerecord/test/support/config.rb index 5817e427e3..e1aa8d72e3 100644 --- a/activerecord/test/support/config.rb +++ b/activerecord/test/support/config.rb @@ -26,7 +26,8 @@ module ARTest def expand_config(config) config["connections"].each do |adapter, connection| - dbs = [["arunit", "activerecord_unittest"], ["arunit2", "activerecord_unittest2"]] + dbs = [["arunit", "activerecord_unittest"], ["arunit2", "activerecord_unittest2"], + ["arunit_with_prepared_statements", "activerecord_unittest"]] dbs.each do |name, dbname| unless connection[name].is_a?(Hash) connection[name] = { "database" => connection[name] } -- cgit v1.2.3