Module: OpenapiFirst::Test::PlainHelpers

Defined in:
lib/openapi_first/test/plain_helpers.rb

Overview

Assertion methods to use when no known test framework was found These methods just raise an exception if an error was found

Instance Method Summary collapse

Instance Method Details

#assert_api_conform(status: nil, api: openapi_first_default_api) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/openapi_first/test/plain_helpers.rb', line 8

def assert_api_conform(status: nil, api: openapi_first_default_api)
  api = OpenapiFirst::Test[api]
  # :nocov:
  request = respond_to?(:last_request) ? last_request : @request
  response = respond_to?(:last_response) ? last_response : @response
  # :nocov:

  if status && status != response.status
    raise OpenapiFirst::Error,
          "Expected status #{status}, but got #{response.status} " \
          "from #{request.request_method.upcase} #{request.path}."
  end

  validated = api.validate_request(request, raise_error: false)
  # :nocov:
  raise validated.error.exception if validated.invalid?

  validated = api.validate_response(request, response, raise_error: false)
  raise validated.error.exception if validated.invalid?
  # :nocov:
end