diff options
author | Stephen Bannasch <stephen.bannasch@gmail.com> | 2008-12-27 15:37:47 -0500 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2009-01-26 16:08:44 +1300 |
commit | 4ef9845aa324679b88e19b8223dd90b774215bc6 (patch) | |
tree | 5f2eb22515bececed544fb0db5dd6d5701b181d6 /activerecord/test/connections/jdbc_jdbcsqlite3 | |
parent | 617ad23574770310fd037529af3d4bd7e722f72a (diff) | |
download | rails-4ef9845aa324679b88e19b8223dd90b774215bc6.tar.gz rails-4ef9845aa324679b88e19b8223dd90b774215bc6.tar.bz2 rails-4ef9845aa324679b88e19b8223dd90b774215bc6.zip |
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>
[#1685 state:committed]
Diffstat (limited to 'activerecord/test/connections/jdbc_jdbcsqlite3')
-rw-r--r-- | activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb b/activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb new file mode 100644 index 0000000000..26d4676ff3 --- /dev/null +++ b/activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb @@ -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) |