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