diff options
author | Jon Leighton <j@jonathanleighton.com> | 2010-10-28 18:06:01 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2010-10-28 18:06:01 +0100 |
commit | fc276e5635821e65c04b8961170cc6bd3c11b923 (patch) | |
tree | 9bd4ed018858611248e9b6aa7392dced92bc814a /activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb | |
parent | 8e53e058acea471eab7a1609dc150aa9fdbfa833 (diff) | |
parent | 6a3d6b7f1352efd3e7b931533740252b04850e27 (diff) | |
download | rails-fc276e5635821e65c04b8961170cc6bd3c11b923.tar.gz rails-fc276e5635821e65c04b8961170cc6bd3c11b923.tar.bz2 rails-fc276e5635821e65c04b8961170cc6bd3c11b923.zip |
Merge branch 'master' into nested_has_many_through
Conflicts:
activerecord/CHANGELOG
activerecord/lib/active_record/association_preload.rb
activerecord/lib/active_record/associations.rb
activerecord/test/schema/schema.rb
Diffstat (limited to 'activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb b/activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb index 6f372edc38..881631fb19 100644 --- a/activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb +++ b/activerecord/test/cases/adapters/postgresql/schema_authorization_test.rb @@ -43,6 +43,36 @@ class SchemaAuthorizationTest < ActiveRecord::TestCase end end + def test_session_auth= + assert_raise(ActiveRecord::StatementInvalid) do + @connection.session_auth = 'DEFAULT' + @connection.execute "SELECT * FROM #{TABLE_NAME}" + end + end + + def test_setting_auth_clears_stmt_cache + assert_nothing_raised do + set_session_auth + USERS.each do |u| + set_session_auth u + assert_equal u, @connection.exec("SELECT name FROM #{TABLE_NAME} WHERE id = $1", 'SQL', [[nil, 1]]).first['name'] + set_session_auth + end + end + end + + def test_auth_with_bind + assert_nothing_raised do + set_session_auth + USERS.each do |u| + @connection.clear_cache! + set_session_auth u + assert_equal u, @connection.exec("SELECT name FROM #{TABLE_NAME} WHERE id = $1", 'SQL', [[nil, 1]]).first['name'] + set_session_auth + end + end + end + def test_schema_uniqueness assert_nothing_raised do set_session_auth @@ -78,7 +108,7 @@ class SchemaAuthorizationTest < ActiveRecord::TestCase private def set_session_auth auth = nil - @connection.execute "SET SESSION AUTHORIZATION #{auth || 'default'}" + @connection.session_auth = auth || 'default' end end |