lib/plugins/response_header_checker.rb in apirunner-0.3.3 vs lib/plugins/response_header_checker.rb in apirunner-0.3.4
- old
+ new
@@ -1,22 +1,27 @@
class ResponseHeaderChecker < Checker
# checks given header against the given expepctation and returns a result object
def check
result = Result.new(@testcase, @response)
- @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]}--"
+ 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
- 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?)
+ 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