class ProbeDockProbe::TestRun

Attributes

duration[RW]
project[R]
results[R]
uid[RW]

Public Class Methods

new(project) click to toggle source
# File lib/probe_dock_ruby/test_run.rb, line 7
def initialize project
  @results = []
  @project = project
end

Public Instance Methods

add_result(options = {}) click to toggle source
# File lib/probe_dock_ruby/test_run.rb, line 12
def add_result options = {}
  @results << TestResult.new(@project, options)
end
to_h(options = {}) click to toggle source
# File lib/probe_dock_ruby/test_run.rb, line 16
def to_h options = {}
  validate!

  {
    'projectId' => @project.api_id,
    'version' => @project.version,
    'duration' => @duration,
    'results' => @results.collect{ |r| r.to_h options }
  }.tap do |h|
    h['reports'] = [ { 'uid' => @uid } ] if @uid
  end
end

Private Instance Methods

validate!() click to toggle source
# File lib/probe_dock_ruby/test_run.rb, line 31
def validate!
  # TODO: validate duration
  # TODO: log information about duplicate keys (if any)
  raise PayloadError.new("Missing project") if !@project
  @project.validate!
end