Sha256: d6ba1a2305108e16d6e0c4c0589401018361f93162cc9b457778beeea18afc3e

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

class ResponseHeaderChecker < Checker

  # checks given header against the given expepctation and returns a result object
  def check
    result = Result.new(@testcase, @response)
    begin
      @testcase.response_expectation['headers'].each_pair do |header_name, header_value|
        if is_regex?(header_value)
          if not (excluded?(header_name) or regex_matches?(header_value, @response.headers[header_name]))
            result.succeeded = false
            result.error_message = " expected header identifier --#{header_name}-- to match regex --#{header_value}--\n got --#{@response.headers[header_name]}--"
          end
        else
          if not (excluded?(header_name) or string_matches?(header_value, @response.headers[header_name]))
            result.succeeded = false
            result.error_message = " expected header identifier --#{header_name}-- to match --#{header_value}--\n got --#{@response.headers[header_name]}--"
          end
        end
      end unless (@testcase.response_expectation['headers'].nil? or @testcase.response_expectation['headers'].empty?)
    rescue
      result.succeeded = false
      result.error_message = " unexpected error while parsing testcase/response. Check your testcase format!"
    end
    result
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
apirunner-0.3.5 lib/plugins/plug03_response_header_checker.rb
apirunner-0.3.4 lib/plugins/response_header_checker.rb