Sha256: 20321f549d43a9f2ec553e5b72b76e413f0c81196ae24dd1a98c760e255b3212

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

 require 'api-tester/util/supported_verbs'

module ApiTester
  module ExtraVerbs
    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
          reports.concat test.check
        end
      end

      reports
    end

    def self.order
      3
    end
  end

  class VerbClass < MethodCaseTest
      def initialize response, payload, expected_response, url, verb
          super response, payload, expected_response, url, verb, "VerbModule"
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
api-tester-1.0.0 lib/api-tester/modules/extra_verbs.rb