class Oncall::Reporter
Attributes
results[RW]
Public Class Methods
new()
click to toggle source
# File lib/oncall/reporter.rb, line 7 def initialize @messages = [] @start_time = nil @end_time = nil @results = { success: 0, failed: 0, warn: 0, skipped: 0 } end
Public Instance Methods
empty_call(test_case)
click to toggle source
# File lib/oncall/reporter.rb, line 33 def empty_call(test_case) add_skipped report_empty_call end
empty_group(test_case)
click to toggle source
# File lib/oncall/reporter.rb, line 28 def empty_group(test_case) add_warn report_empty_group end
json_schema(test_case, result, expected)
click to toggle source
# File lib/oncall/reporter.rb, line 49 def json_schema(test_case, result, expected) if result add_success report_success else add_failed report_failure @messages << "#{test_case.to_s}: JSON schema didn't match:\n#{expected}" end end
report() { |self| ... }
click to toggle source
# File lib/oncall/reporter.rb, line 19 def report start begin yield self ensure finish end end
status(test_case, result, expected)
click to toggle source
# File lib/oncall/reporter.rb, line 38 def status(test_case, result, expected) if result add_success report_success else add_failed report_failure @messages << "#{test_case.to_s}: Expected status: #{expected}" end end
success?()
click to toggle source
# File lib/oncall/reporter.rb, line 60 def success? @results[:failed].zero? end
Private Instance Methods
add_failed()
click to toggle source
# File lib/oncall/reporter.rb, line 70 def add_failed @results[:failed] = @results[:failed] + 1 end
add_skipped()
click to toggle source
# File lib/oncall/reporter.rb, line 78 def add_skipped @results[:skipped] = @results[:skipped] + 1 end
add_success()
click to toggle source
# File lib/oncall/reporter.rb, line 66 def add_success @results[:success] = @results[:success] + 1 end
add_warn()
click to toggle source
# File lib/oncall/reporter.rb, line 74 def add_warn @results[:warn] = @results[:warn] + 1 end
finish()
click to toggle source
# File lib/oncall/reporter.rb, line 102 def finish @end_time = Time.now puts "\n\n" puts @messages elapsed_seconds = (@end_time.to_f - @start_time.to_f).to_f puts "\nFinished in #{elapsed_seconds.round(4)} seconds" result = "#{@results[:success]} passed.\n#{@results[:failed]} failed.\n#{@results[:warn]} warnings.\n#{@results[:skipped]} skipped.\n" if success? puts result.green else puts result.red end end
report_empty_call()
click to toggle source
# File lib/oncall/reporter.rb, line 94 def report_empty_call print '*' end
report_empty_group()
click to toggle source
# File lib/oncall/reporter.rb, line 90 def report_empty_group print 'W' end
report_failure()
click to toggle source
# File lib/oncall/reporter.rb, line 86 def report_failure print 'F' end
report_success()
click to toggle source
# File lib/oncall/reporter.rb, line 82 def report_success print '.' end
start()
click to toggle source
# File lib/oncall/reporter.rb, line 98 def start @start_time = Time.now end