forked from rails/rails
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding AR tests for JDBC connections
New connections: jdbcmysql jdbcpostgresql jdbcsqlite3 jdbcderby jdbch2 jdbchsqldb jdbcpostgresql To test you will need the native database installed (if one is required), activerecord-jdbc-adapter and the specific activerecord-jdbc<database>-adapter for the database you are testing. Run the tests like this: jruby -S rake test_jdbcmysql Signed-off-by: Michael Koziarski <michael@koziarski.com> [rails#1685 state:committed]
- Loading branch information
Showing
7 changed files
with
137 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
activerecord/test/connections/jdbc_jdbcderby/connection.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
print "Using Derby via JRuby, activerecord-jdbc-adapter and activerecord-jdbcderby-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
ActiveRecord::Base.configurations = { | ||
'arunit' => { | ||
:adapter => 'jdbcderby', | ||
:database => 'activerecord_unittest' | ||
}, | ||
'arunit2' => { | ||
:adapter => 'jdbcderby', | ||
:database => 'activerecord_unittest2' | ||
} | ||
} | ||
|
||
ActiveRecord::Base.establish_connection 'arunit' | ||
Course.establish_connection 'arunit2' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
print "Using H2 via JRuby, activerecord-jdbc-adapter and activerecord-jdbch2-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
ActiveRecord::Base.configurations = { | ||
'arunit' => { | ||
:adapter => 'jdbch2', | ||
:database => 'activerecord_unittest' | ||
}, | ||
'arunit2' => { | ||
:adapter => 'jdbch2', | ||
:database => 'activerecord_unittest2' | ||
} | ||
} | ||
|
||
ActiveRecord::Base.establish_connection 'arunit' | ||
Course.establish_connection 'arunit2' |
18 changes: 18 additions & 0 deletions
18
activerecord/test/connections/jdbc_jdbchsqldb/connection.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
print "Using HSQLDB via JRuby, activerecord-jdbc-adapter and activerecord-jdbchsqldb-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
ActiveRecord::Base.configurations = { | ||
'arunit' => { | ||
:adapter => 'jdbchsqldb', | ||
:database => 'activerecord_unittest' | ||
}, | ||
'arunit2' => { | ||
:adapter => 'jdbchsqldb', | ||
:database => 'activerecord_unittest2' | ||
} | ||
} | ||
|
||
ActiveRecord::Base.establish_connection 'arunit' | ||
Course.establish_connection 'arunit2' |
26 changes: 26 additions & 0 deletions
26
activerecord/test/connections/jdbc_jdbcmysql/connection.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
print "Using MySQL via JRuby, activerecord-jdbc-adapter and activerecord-jdbcmysql-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
|
||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
# GRANT ALL PRIVILEGES ON activerecord_unittest.* to 'rails'@'localhost'; | ||
# GRANT ALL PRIVILEGES ON activerecord_unittest2.* to 'rails'@'localhost'; | ||
|
||
ActiveRecord::Base.configurations = { | ||
'arunit' => { | ||
:adapter => 'jdbcmysql', | ||
:username => 'rails', | ||
:encoding => 'utf8', | ||
:database => 'activerecord_unittest', | ||
}, | ||
'arunit2' => { | ||
:adapter => 'jdbcmysql', | ||
:username => 'rails', | ||
:database => 'activerecord_unittest2' | ||
} | ||
} | ||
|
||
ActiveRecord::Base.establish_connection 'arunit' | ||
Course.establish_connection 'arunit2' | ||
|
26 changes: 26 additions & 0 deletions
26
activerecord/test/connections/jdbc_jdbcpostgresql/connection.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
print "Using Postgrsql via JRuby, activerecord-jdbc-adapter and activerecord-postgresql-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
|
||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
# createuser rails --createdb --no-superuser --no-createrole | ||
# createdb -O rails activerecord_unittest | ||
# createdb -O rails activerecord_unittest2 | ||
|
||
ActiveRecord::Base.configurations = { | ||
'arunit' => { | ||
:adapter => 'jdbcpostgresql', | ||
:username => ENV['USER'] || 'rails', | ||
:database => 'activerecord_unittest' | ||
}, | ||
'arunit2' => { | ||
:adapter => 'jdbcpostgresql', | ||
:username => ENV['USER'] || 'rails', | ||
:database => 'activerecord_unittest2' | ||
} | ||
} | ||
|
||
ActiveRecord::Base.establish_connection 'arunit' | ||
Course.establish_connection 'arunit2' | ||
|
25 changes: 25 additions & 0 deletions
25
activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
print "Using SQLite3 via JRuby, activerecord-jdbc-adapter and activerecord-jdbcsqlite3-adapter\n" | ||
require_dependency 'models/course' | ||
require 'logger' | ||
ActiveRecord::Base.logger = Logger.new("debug.log") | ||
|
||
class SqliteError < StandardError | ||
end | ||
|
||
BASE_DIR = FIXTURES_ROOT | ||
sqlite_test_db = "#{BASE_DIR}/fixture_database.sqlite3" | ||
sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite3" | ||
|
||
def make_connection(clazz, db_file) | ||
ActiveRecord::Base.configurations = { clazz.name => { :adapter => 'jdbcsqlite3', :database => db_file, :timeout => 5000 } } | ||
unless File.exist?(db_file) | ||
puts "SQLite3 database not found at #{db_file}. Rebuilding it." | ||
sqlite_command = %Q{sqlite3 "#{db_file}" "create table a (a integer); drop table a;"} | ||
puts "Executing '#{sqlite_command}'" | ||
raise SqliteError.new("Seems that there is no sqlite3 executable available") unless system(sqlite_command) | ||
end | ||
clazz.establish_connection(clazz.name) | ||
end | ||
|
||
make_connection(ActiveRecord::Base, sqlite_test_db) | ||
make_connection(Course, sqlite_test_db2) |