class RspecContracts::ResponseValidator
Public Class Methods
opts(has_content: true)
click to toggle source
# File lib/rspec_contracts/response_validator.rb, line 17 def opts(has_content: true) OpenAPIParser::SchemaValidator::ResponseValidateOptions.new(strict: has_content && RspecContracts.config.strict_response_validation) end
validate_response(op, resp)
click to toggle source
# File lib/rspec_contracts/response_validator.rb, line 6 def validate_response(op, resp) op.validate_response(resp, opts(has_content: resp.content_type.present?)) rescue OpenAPIParser::OpenAPIError => e if RspecContracts.config.response_validation_mode == :raise raise RspecContracts::Error::ResponseValidation.new(e.message) end RspecContracts.config.logger.error "Contract validation warning: #{e.message}" RspecContracts.config.logger.error "Response was: #{resp}" end