fluke/devops-service/spec/support/spec_support.rb
2016-01-19 13:36:29 +03:00

46 lines
1015 B
Ruby

require 'yaml'
module SpecSupport
ROOT = File.join(__dir__, '../../')
def self.blank_file
File.join(ROOT, 'spec/support/templates/blank_file')
end
def self.tmp_dir
File.join(ROOT, 'tmp/')
end
def self.db_params
@db_params ||= begin
conf = config['mongo']
db_name = conf.fetch(:db)
[db_name, conf[:host], conf[:port], conf[:user], conf[:password]]
end
end
def self.db
unless @db
require 'mongo'
db_name, host, port, user, password = db_params
@db = MongoClient.new(host, port).db(db_name)
@db.authenticate(user, password) unless user.nil? or password.nil?
end
@db
end
def self.config
@config ||= begin
config_file = ENV['RSPEC_CONFIG_PATH'] || File.join(ROOT, 'spec/support/config.yml')
if File.exists?(config_file)
YAML.load_file(config_file)
else
raise "There is no config file: '#{config_file}'"
end
end
end
def self.root
File.join(__dir__, '../../')
end
end