spec/spec_helper.rb in fuzzily-0.2.2 vs spec/spec_helper.rb in fuzzily-0.2.3

- old
+ new

@@ -1,11 +1,44 @@ require 'fuzzily' require 'pathname' require 'yaml' +require 'coveralls' -Database = Pathname.new 'test.sqlite3' +Coveralls.wear! +DATABASE = Pathname.new 'test.sqlite3' + +# def get_adapter +# ENV.fetch('FUZZILY_ADAPTER', 'sqlite3') +# end + +# Database connection hashes +def get_connection_hash + case ENV.fetch('FUZZILY_ADAPTER', 'sqlite3') + when 'postgresql' + { + :adapter => 'postgresql', + :database => 'fuzzily_test', + :host => 'localhost', + :min_messages => 'warning', + :username => ENV['FUZZILY_DB_USER'] + } + when 'mysql' + { + :adapter => 'mysql2', + :database => 'fuzzily_test', + :host => 'localhost', + :user => ENV['FUZZILY_DB_USER'] + } + when 'sqlite3' + { + :adapter => 'sqlite3', + :database => DATABASE.to_s + } + end +end + # A test model we'll need as a source of trigrams class Stuff < ActiveRecord::Base ; end class StuffMigration < ActiveRecord::Migration def self.up create_table :stuffs do |t| @@ -20,28 +53,15 @@ end end RSpec.configure do |config| config.before(:each) do - # Setup test database + # Connect to & cleanup test database + ActiveRecord::Base.establish_connection(get_connection_hash) - if ENV['FUZZILY_USE_PG'] - ActiveRecord::Base.establish_connection( - :adapter => 'postgresql', - :database => 'fuzzily_test', - :host => 'localhost', - :username => 'postgres' - ) - - ActiveRecord::Base.connection.execute 'DROP TABLE IF EXISTS trigrams;' - ActiveRecord::Base.connection.execute 'DROP TABLE IF EXISTS stuffs;' - ActiveRecord::Base.connection.execute 'DROP TABLE IF EXISTS foobars;' - else - ActiveRecord::Base.establish_connection( - :adapter => 'sqlite3', - :database => Database.to_s - ) + %w(trigrams stuffs foobars).each do |table_name| + ActiveRecord::Base.connection.execute "DROP TABLE IF EXISTS #{table_name};" end def prepare_trigrams_table silence_stream(STDOUT) do Class.new(ActiveRecord::Migration).extend(Fuzzily::Migration).up @@ -55,10 +75,8 @@ end end config.after(:each) do - unless ENV['FUZZILY_USE_PG'] - Database.delete if Database.exist? - end + DATABASE.delete if DATABASE.exist? end end \ No newline at end of file