class Pacto::Validators::ResponseStatusValidator

Public Class Methods

new(app) click to toggle source
# File lib/pacto/validators/response_status_validator.rb, line 4
def initialize(app)
  @app = app
end
validate(expected_status, actual_status) click to toggle source
# File lib/pacto/validators/response_status_validator.rb, line 15
def self.validate(expected_status, actual_status)
  errors = []
  if expected_status != actual_status
    errors << "Invalid status: expected #{expected_status} but got #{actual_status}"
  end
  errors
end

Public Instance Methods

call(env) click to toggle source
# File lib/pacto/validators/response_status_validator.rb, line 8
def call(env)
  expected_status = env[:contract].response.status
  actual_status = env[:actual_response].status
  env[:validation_results].concat self.class.validate(expected_status, actual_status)
  @app.call env
end