class Fitting::Matchers::StrictResponse

Public Instance Methods

===(other) click to toggle source
# File lib/fitting/matchers/response_matcher.rb, line 58
def ===(other)
  matches?(other)
end
failure_message() click to toggle source
# File lib/fitting/matchers/response_matcher.rb, line 62
def failure_message
  unless @response.documented?
    return "response not documented\n"\
           "got: #{@response.real_request_with_status}"
  end

  return nil if @response.strict_fully_validates.valid?

  "response does not conform to json-schema\n"\
    "schemas: \n#{@response.expected}\n\n"\
    "got: #{@response.got}\n\n"\
    "errors: \n#{@response.strict_fully_validates}\n"
end
matches?(response) click to toggle source
# File lib/fitting/matchers/response_matcher.rb, line 50
def matches?(response)
  if Fitting.configuration.is_a?(Array)
    one_match(response, Fitting.configuration[0])
  else
    one_match(response, Fitting.configuration)
  end
end

Private Instance Methods

one_match(response, config) click to toggle source
# File lib/fitting/matchers/response_matcher.rb, line 78
def one_match(response, config)
  @response = Fitting::Response.new(
    response,
    config.tomogram
  )
  @response.strict_fully_validates.valid?
end