aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/connections/jdbc_jdbcsqlite3
diff options
context:
space:
mode:
authorStephen Bannasch <stephen.bannasch@gmail.com>2008-12-27 15:37:47 -0500
committerMichael Koziarski <michael@koziarski.com>2009-01-26 16:08:44 +1300
commit4ef9845aa324679b88e19b8223dd90b774215bc6 (patch)
tree5f2eb22515bececed544fb0db5dd6d5701b181d6 /activerecord/test/connections/jdbc_jdbcsqlite3
parent617ad23574770310fd037529af3d4bd7e722f72a (diff)
downloadrails-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.rb25
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)