class Korinthenkacker::CLI
Public Instance Methods
builds(jobname)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 26 def builds(jobname) reports = test_reports(jobname, options.limit) reporter(options.simple).print_builds_report(reports) end
failed_scenarios(jobname, build=nil)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 34 def failed_scenarios(jobname, build=nil) failed_cases = failed_cases_for(jobname, build) reporter(options.simple).print_scenario_reports(failed_cases) end
flaky_scenarios(jobname)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 42 def flaky_scenarios(jobname) failed_cases = failed_cases_for(jobname) flaky_cases = flaky_filter.filter(failed_cases) reporter(options.simple).print_scenario_reports(flaky_cases) end
jobs()
click to toggle source
# File lib/korinthenkacker/cli.rb, line 18 def jobs jobs = api.jobs['jobs'].map { |job| JobInfo.new(job) } reporter(options.simple).print_jobs_report(jobs) end
report(*jobs)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 50 def report(*jobs) jobs.each do |job| puts job failed_scenarios(job, nil) end end
verify(*jobs)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 58 def verify(*jobs) jobs.each do |job| reports = test_reports(job, 1) exit(1) if reports.empty? || !reports.first.success? end end
Private Instance Methods
api()
click to toggle source
# File lib/korinthenkacker/cli.rb, line 94 def api @api ||= API.new(Configuration.jenkins_url) end
failed_cases_for(jobname, build=nil)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 67 def failed_cases_for(jobname, build=nil) test_reports = build.nil? ? test_reports(jobname, options.limit) : [test_report(jobname, build)] failed_filter.filter(test_reports.map(&:cases).flatten) end
failed_filter()
click to toggle source
# File lib/korinthenkacker/cli.rb, line 86 def failed_filter @failed_filter ||= Filters::Failed.new end
flaky_filter()
click to toggle source
# File lib/korinthenkacker/cli.rb, line 90 def flaky_filter @flaky_filter ||= Filters::Flaky.new end
reporter(simple=false)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 82 def reporter(simple=false) @reporter ||= simple ? Reporters::Simple.new : Reporters::Verbose.new end
test_report(jobname, build)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 72 def test_report(jobname, build) TestReport.new(jobname, build, api.test_report(jobname, build)) end
test_reports(jobname, limit=nil)
click to toggle source
# File lib/korinthenkacker/cli.rb, line 76 def test_reports(jobname, limit=nil) job_info = JobInfo.new(api.job(jobname)) builds = limit ? job_info.build_numbers.first(limit) : job_info.build_numbers builds.map { |build| test_report(jobname, build) rescue nil }.compact # TODO: proper catching end