Module: Webhookdb::SpecHelpers
- Defined in:
- lib/webhookdb/spec_helpers.rb
Defined Under Namespace
Modules: Async, Citest, Message, Postgres, Service, Whdb
Constant Summary
collapse
- TEST_DATA_DIR =
The directory to look in for fixture data
Pathname("spec/data").expand_path
Class Method Summary
collapse
Class Method Details
.included(context) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/webhookdb/spec_helpers.rb', line 17
def self.included(context)
context.before(:all) do
Webhookdb::Customer.password_hash_cost = 1
end
context.before(:each) do
allow(Kernel).to receive(:sleep) do |n|
raise "Never sleep with > 0 during tests" if n.positive?
end
end
super
end
|
33
34
35
|
# File 'lib/webhookdb/spec_helpers.rb', line 33
module_function def (**more)
return {"Content-Type" => "application/json"}.merge(**more)
end
|
.json_response(body, status: 200, headers: {}) ⇒ Object
37
38
39
|
# File 'lib/webhookdb/spec_helpers.rb', line 37
module_function def json_response(body, status: 200, headers: {})
return {status:, body: body.to_json, headers: (**)}
end
|
.load_fixture_data(name, raw: false) ⇒ Object
Load data from the spec/data directory with the specified name
, deserializing it if it’s YAML or JSON, and returning it.
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/webhookdb/spec_helpers.rb', line 43
module_function def load_fixture_data(name, raw: false)
name = name.to_s
path = TEST_DATA_DIR + name
path = TEST_DATA_DIR + "#{name}.json" unless path.exist? || !File.extname(name).empty?
path = TEST_DATA_DIR + "#{name}.yaml" unless path.exist? || !File.extname(name).empty?
path = TEST_DATA_DIR + "#{name}.yml" unless path.exist? || !File.extname(name).empty?
rawdata = path.read(encoding: "utf-8")
return rawdata if raw
return case path.extname
when ".json"
Oj.load(rawdata)
when ".yml", ".yaml"
YAML.safe_load(rawdata)
else
rawdata
end
end
|
.test_data_dir ⇒ Object
29
30
31
|
# File 'lib/webhookdb/spec_helpers.rb', line 29
module_function def test_data_dir
return TEST_DATA_DIR
end
|