diff options
author | Meisam <39205857+MFTabriz@users.noreply.github.com> | 2022-12-15 15:43:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-15 15:43:05 +0100 |
commit | 6cdbc345f4ed824b9491ac6b53406c44e23f7ba5 (patch) | |
tree | 9f58bba91c00ab45af4943b0b966551445ef7feb /spec/controllers | |
parent | f239d31f23b8bd55fb26f67906b815e4abe65d92 (diff) |
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
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/well_known/nodeinfo_controller_spec.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/spec/controllers/well_known/nodeinfo_controller_spec.rb b/spec/controllers/well_known/nodeinfo_controller_spec.rb index 694bb0fb9..36e85f20d 100644 --- a/spec/controllers/well_known/nodeinfo_controller_spec.rb +++ b/spec/controllers/well_known/nodeinfo_controller_spec.rb @@ -27,6 +27,8 @@ describe WellKnown::NodeInfoController, type: :controller do json = body_as_json + expect({ "foo" => 0 }).not_to match_json_schema("nodeinfo_2.0") + expect(json).to match_json_schema("nodeinfo_2.0") expect(json[:version]).to eq '2.0' expect(json[:usage]).to be_a Hash expect(json[:software]).to be_a Hash |