lib/api-tester/modules/extra_verbs.rb in api-tester-1.0.0 vs lib/api-tester/modules/extra_verbs.rb in api-tester-1.1.1

- old
+ new

@@ -1,20 +1,34 @@ - require 'api-tester/util/supported_verbs' +# frozen_string_literal: true +require 'api-tester/util/supported_verbs' + module ApiTester + # Check verbs not explicitly defined in contract module ExtraVerbs - def self.go contract + def self.go(contract) reports = [] contract.endpoints.each do |endpoint| extras = ApiTester::SupportedVerbs.all - endpoint.verbs headers = endpoint.methods[0].request.default_headers extras.each do |verb| - verb_case = BoundaryCase.new("Verb check with #{verb} for #{endpoint.name}", {}, headers) - method = ApiTester::Method.new verb, ApiTester::Response.new, ApiTester::Request.new - response = endpoint.call method, verb_case.payload, verb_case.headers - test = VerbClass.new response, verb_case.payload, endpoint.not_allowed_response, endpoint.url, verb + verb_case = BoundaryCase.new description: "Verb check with #{verb} for #{endpoint.name}", + payload: {}, + headers: headers + method = ApiTester::Method.new verb: verb, + response: ApiTester::Response.new, + request: ApiTester::Request.new + response = endpoint.call base_url: contract.base_url, + method: method, + payload: verb_case.payload, + headers: verb_case.headers + test = VerbClass.new response: response, + payload: verb_case.payload, + expected_response: endpoint.not_allowed_response, + url: endpoint.url, + verb: verb reports.concat test.check end end reports @@ -23,11 +37,17 @@ def self.order 3 end end + # Test template used for module class VerbClass < MethodCaseTest - def initialize response, payload, expected_response, url, verb - super response, payload, expected_response, url, verb, "VerbModule" - end + def initialize(response:, payload:, expected_response:, url:, verb:) + super response: response, + payload: payload, + expected_response: expected_response, + url: url, + verb: verb, + module_name: 'VerbModule' + end end end