-
Notifications
You must be signed in to change notification settings - Fork 9
/
support.rb
55 lines (45 loc) · 1.12 KB
/
support.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# frozen_string_literal: true
require 'simplecov'
def integration?
ENV['INTEGRATION_SPECS'] == '1'
end
ENV['RACK_ENV'] = 'test'
ENV['LOG_LEVEL'] = 'fatal'
ENV['DATABASE_URL'] = 'mock://' unless integration?
ENV['DATABASE_SQL_LOGGING'] = nil
ENV['AUTH_TOKENS'] = 'test'
ENV['JOB_BOARD_JWT_PRIVATE_KEY'] = File.read(
File.expand_path('test_rsa', __dir__)
)
require 'job_board'
require 'rack/test'
require 'factory_girl'
require 'fakeredis/rspec' unless integration?
module RackTestBits
include Rack::Test::Methods
def app
JobBoard::App
end
end
FactoryGirl.define do
factory :image, class: JobBoard::Models::Image do
to_create(&:save)
end
end
RSpec.configure do |c|
c.include RackTestBits
c.include FactoryGirl::Syntax::Methods
c.filter_run_excluding(integration: true) unless integration?
c.before(:suite) do
JobBoard.redis_pool.with do |redis|
redis.srem('sites', 'test')
redis.del('queues:test')
redis.scan_each(match: 'queue:test:*') do |key|
redis.del(key)
end
redis.scan_each(match: 'processor:test:*') do |key|
redis.del(key)
end
end
end
end