Sha256: eb918c7e3882b304372e7aadd7cd3a8e50670f0a4e7e4d08683066d6a538eea4

Contents?: true

Size: 962 Bytes

Versions: 1

Compression:

Stored size: 962 Bytes

Contents

require 'api-tester/modules/module'
require 'api-tester/util/supported_verbs'

module ApiTester
  class ExtraVerbs < Module
    def go(endpoint, report)
      super

      extras = ApiTester::SupportedVerbs.all - endpoint.verbs
      extras.each do |verb|
        verb_case = BoundaryCase.new("Verb check with #{verb} for #{endpoint.name}", {}, {})
        method = ApiTester::ApiMethod.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 = test.check
        self.report.reports.concat reports
      end
      self.report.reports == []
    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-0.2.0 lib/api-tester/modules/extra_verbs.rb