travis-api/spec/spec_helper.rb
2012-08-15 00:52:22 +02:00

50 lines
1.0 KiB
Ruby

ENV['RACK_ENV'] = ENV['RAILS_ENV'] = ENV['ENV'] = 'test'
require 'rspec'
require 'travis/api/app'
require 'sinatra/test_helpers'
require 'logger'
require 'gh'
require 'multi_json'
Travis.logger = Logger.new(StringIO.new)
Travis::Api::App.setup
Backports.require_relative_dir 'support'
module TestHelpers
include Sinatra::TestHelpers
def custom_endpoints
@custom_endpoints ||= []
end
def add_endpoint(prefix, &block)
endpoint = Sinatra.new(Travis::Api::App::Endpoint, &block)
endpoint.set(prefix: prefix)
set_app Travis::Api::App.new
custom_endpoints << endpoint
end
def parsed_body
MultiJson.decode(body)
end
end
RSpec.configure do |config|
config.mock_framework = :mocha
config.expect_with :rspec, :stdlib
config.include TestHelpers
config.before :each do
::Redis.connect(url: Travis.config.redis.url).flushdb
set_app Travis::Api::App.new
end
config.after :each do
custom_endpoints.each do |endpoint|
endpoint.superclass.direct_subclasses.delete(endpoint)
end
end
end