12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/skooma/objects/operation/keywords/responses.rb', line 12
def evaluate(instance, result)
response = instance["response"] || {}
return result.discard unless response["status"]
status = find_status(response)
return result.failure("Status #{response["status"]} not found for #{instance["method"].upcase} #{instance["path"]}") unless status
result.annotate(status)
result.call(response["status"], status) do |status_result|
json[status].evaluate(response, status_result)
if status_result.passed?
result.annotate(status)
else
result.failure("Res #{response["status"]} is invalid")
end
end
end
|