aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/schema_authorization_test_postgresql.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-06-25 13:29:17 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2010-06-25 14:47:14 -0700
commit5e2b473b478d93d6a1aa627d688b2b2ce05fa9ef (patch)
treec0778a2075f34feeec6f52426055e88280529e26 /activerecord/test/cases/schema_authorization_test_postgresql.rb
parentefbd0eb9f7508187259208caf6b51eec206cbac9 (diff)
downloadrails-5e2b473b478d93d6a1aa627d688b2b2ce05fa9ef.tar.gz
rails-5e2b473b478d93d6a1aa627d688b2b2ce05fa9ef.tar.bz2
rails-5e2b473b478d93d6a1aa627d688b2b2ce05fa9ef.zip
reorganizing adapter specific tests. [#4974 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Diffstat (limited to 'activerecord/test/cases/schema_authorization_test_postgresql.rb')
-rw-r--r--activerecord/test/cases/schema_authorization_test_postgresql.rb84
1 files changed, 0 insertions, 84 deletions
diff --git a/activerecord/test/cases/schema_authorization_test_postgresql.rb b/activerecord/test/cases/schema_authorization_test_postgresql.rb
deleted file mode 100644
index 2860f1ad48..0000000000
--- a/activerecord/test/cases/schema_authorization_test_postgresql.rb
+++ /dev/null
@@ -1,84 +0,0 @@
-require "cases/helper"
-
-class SchemaThing < ActiveRecord::Base
-end
-
-class SchemaAuthorizationTest < ActiveRecord::TestCase
- self.use_transactional_fixtures = false
-
- TABLE_NAME = 'schema_things'
- COLUMNS = [
- 'id serial primary key',
- 'name character varying(50)'
- ]
- USERS = ['rails_pg_schema_user1', 'rails_pg_schema_user2']
-
- def setup
- @connection = ActiveRecord::Base.connection
- @connection.execute "SET search_path TO '$user',public"
- set_session_auth
- USERS.each do |u|
- @connection.execute "CREATE USER #{u}" rescue nil
- @connection.execute "CREATE SCHEMA AUTHORIZATION #{u}" rescue nil
- set_session_auth u
- @connection.execute "CREATE TABLE #{TABLE_NAME} (#{COLUMNS.join(',')})"
- @connection.execute "INSERT INTO #{TABLE_NAME} (name) VALUES ('#{u}')"
- set_session_auth
- end
- end
-
- def teardown
- set_session_auth
- @connection.execute "RESET search_path"
- USERS.each do |u|
- @connection.execute "DROP SCHEMA #{u} CASCADE"
- @connection.execute "DROP USER #{u}"
- end
- end
-
- def test_schema_invisible
- assert_raise(ActiveRecord::StatementInvalid) do
- set_session_auth
- @connection.execute "SELECT * FROM #{TABLE_NAME}"
- end
- end
-
- def test_schema_uniqueness
- assert_nothing_raised do
- set_session_auth
- USERS.each do |u|
- set_session_auth u
- assert_equal u, @connection.select_value("SELECT name FROM #{TABLE_NAME} WHERE id = 1")
- set_session_auth
- end
- end
- end
-
- def test_sequence_schema_caching
- assert_nothing_raised do
- USERS.each do |u|
- set_session_auth u
- st = SchemaThing.new :name => 'TEST1'
- st.save!
- st = SchemaThing.new :id => 5, :name => 'TEST2'
- st.save!
- set_session_auth
- end
- end
- end
-
- def test_tables_in_current_schemas
- assert !@connection.tables.include?(TABLE_NAME)
- USERS.each do |u|
- set_session_auth u
- assert @connection.tables.include?(TABLE_NAME)
- set_session_auth
- end
- end
-
- private
- def set_session_auth auth = nil
- @connection.execute "SET SESSION AUTHORIZATION #{auth || 'default'}"
- end
-
-end