require_relative 'test_case' module Korinthenkacker class TestReport attr_reader :jobname, :build, :json def initialize(jobname, build, json) @jobname = jobname @build = build @json = json end def duration json['duration'] end def fail_count json['failCount'] end def pass_count json['passCount'] end def skip_count json['skipCount'] end def success? fail_count == 0 && skip_count == 0 end def failure? !success? end def cases json['suites'] .map { |suite| suite['cases'] } .flatten .map { |my_case| TestCase.new(my_case, build) } end end end