Validate nodeinfo response by schema (#21395)
* add json-schema to :test in Gemfile * Create node_info_2.0_schema.json * test match_response_schema * Create match_response_schema.rb * Update nodeinfo_controller_spec.rb * Rename spec/support/node_info_2.0_schema.json to spec/support/schema/node_info_2.0_schema.json * Update match_response_schema.rb * cleanup * additionally validate the json schema itself disable throwing errors test the schema matcher * rename nodeinfo schema to nodeinfo_2.0 * use Rails.root.join to construct the path * prettify json * sync Gemfile.lock
This commit is contained in:
parent
f239d31f23
commit
6cdbc345f4
5 changed files with 184 additions and 2 deletions
6
spec/support/matchers/json/match_json_schema.rb
Normal file
6
spec/support/matchers/json/match_json_schema.rb
Normal file
|
@ -0,0 +1,6 @@
|
|||
RSpec::Matchers.define :match_json_schema do |schema|
|
||||
match do |input_json|
|
||||
schema_path = Rails.root.join('spec', 'support', 'schema', "#{schema}.json").to_s
|
||||
JSON::Validator.validate(schema_path, input_json, validate_schema: true)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue