From d8aaf6168a941e5094233964d88e87fc20a2304c Mon Sep 17 00:00:00 2001 From: Thu Trang Pham <thuutrangpham@gmail.com> Date: Fri, 6 Mar 2015 14:10:08 -0500 Subject: [PATCH] Trying to get the database tests to run on travis-ci --- .travis.yml | 5 +++++ Gemfile | 4 +++- Rakefile | 19 +------------------ test/database.yml | 2 +- test/test_helper.rb | 15 +++++++++------ 5 files changed, 19 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index 89716418..943ff7d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,9 @@ language: ruby +env: + - DB= + - DB=sqlite + - DB=postgres + - DB=mysql rvm: - 1.9.3 - 2.0.0 diff --git a/Gemfile b/Gemfile index ab421abe..eb405d93 100644 --- a/Gemfile +++ b/Gemfile @@ -23,13 +23,15 @@ group :development, :test do end group :test do + gem 'sqlite3', :platform => [:ruby, :mswin, :mingw] + platforms :ruby do gem 'pg' - gem 'sqlite3' gem 'mysql2' end platforms :jruby do + gem 'jdbc-sqlite3' gem 'activerecord-jdbcpostgresql-adapter' end end diff --git a/Rakefile b/Rakefile index 2ee05cce..52ae639e 100644 --- a/Rakefile +++ b/Rakefile @@ -9,23 +9,6 @@ def config end namespace :db do - require 'active_record' - desc 'Migrate the database through scripts in test/db/migrate.' - task :migrate => :environment do - version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil - ActiveRecord::Migrator.migrate('test/db/migrate', version) - end - - task :environment do - require 'logger' - ActiveRecord::Base.logger = Logger.new(STDOUT) - ActiveRecord::Base.configurations = config - # Establish a database connection - db_name = ENV['DB'] || 'sqlite' - ActiveRecord::Base.establish_connection(db_name) - ActiveRecord::Base.default_timezone = :utc - end - task :create do if ACCEPTED_DB_VALUES.include? ENV['DB'] Rake::Task["db:#{ENV['DB']}:create"].invoke @@ -38,7 +21,7 @@ namespace :db do end end - task :reset => [:drop, :create, :migrate] + task :reset => [:drop, :create] namespace :mysql do desc 'Create the MySQL test databases' diff --git a/test/database.yml b/test/database.yml index 8c1d3bb3..63232ed5 100644 --- a/test/database.yml +++ b/test/database.yml @@ -1,7 +1,7 @@ # test/database.yml sqlite: adapter: sqlite3 - database: "test/geocoder_test.sqlite" + database: ":memory:" timeout: 500 mysql: adapter: mysql2 diff --git a/test/test_helper.rb b/test/test_helper.rb index 441bab14..6a048dad 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -4,17 +4,20 @@ require 'test/unit' $LOAD_PATH.unshift(File.dirname(__FILE__)) $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) -if ENV['DB'] - require 'rails' +require 'yaml' +configs = YAML.load_file('test/database.yml') + +if configs.keys.include? ENV['DB'] require 'active_record' # Establish a database connection - configs = YAML.load_file('test/database.yml') ActiveRecord::Base.configurations = configs db_name = ENV['DB'] ActiveRecord::Base.establish_connection(db_name) ActiveRecord::Base.default_timezone = :utc + + ActiveRecord::Migrator.migrate('test/db/migrate', nil) else class MysqlConnection def adapter_name @@ -69,10 +72,10 @@ else end end end +end - # simulate Rails module so Railtie gets loaded - module Rails - end +# simulate Rails module so Railtie gets loaded +module Rails end # Require Geocoder after ActiveRecord simulator. -- GitLab