Class: Retab::WorkflowTestRun

Inherits:
Types::BaseModel show all
Defined in:
lib/retab/workflow_test_runs/workflow_test_run.rb

Constant Summary collapse

HASH_ATTRS =
{
  id: :id,
  workflow: :workflow,
  trigger: :trigger,
  lifecycle: :lifecycle,
  timing: :timing,
  target: :target,
  test_id: :test_id,
  total_tests: :total_tests,
  counts: :counts
}.freeze

Instance Attribute Summary collapse

Attributes inherited from Types::BaseModel

#last_response

Instance Method Summary collapse

Methods inherited from Types::BaseModel

deep_symbolize, #inspect, normalize, #to_h, #to_json

Constructor Details

#initialize(json) ⇒ WorkflowTestRun

Returns a new instance of WorkflowTestRun.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 32

def initialize(json)
  super()
  hash = self.class.normalize(json)
  @id = hash[:id]
  @workflow = hash[:workflow] ? Retab::WorkflowSnapshotRef.new(hash[:workflow]) : nil
  @trigger = hash[:trigger] ? (
    case hash[:trigger][:type]
    when "api"
      Retab::ApiTrigger.new(hash[:trigger])
    when "email"
      Retab::EmailTrigger.new(hash[:trigger])
    when "manual"
      Retab::ManualTrigger.new(hash[:trigger])
    when "restart"
      Retab::RestartTrigger.new(hash[:trigger])
    when "schedule"
      Retab::ScheduleTrigger.new(hash[:trigger])
    when "webhook"
      Retab::WebhookTrigger.new(hash[:trigger])
    else
      hash[:trigger]
    end
  ) : nil
  @lifecycle = hash[:lifecycle] ? (
    case hash[:lifecycle][:status]
    when "cancelled"
      Retab::CancelledWorkflowTestRun.new(hash[:lifecycle])
    when "completed"
      Retab::CompletedWorkflowTestRun.new(hash[:lifecycle])
    when "error"
      Retab::ErrorWorkflowTestRun.new(hash[:lifecycle])
    when "pending"
      Retab::PendingWorkflowTestRun.new(hash[:lifecycle])
    when "queued"
      Retab::QueuedWorkflowTestRun.new(hash[:lifecycle])
    when "running"
      Retab::RunningWorkflowTestRun.new(hash[:lifecycle])
    else
      hash[:lifecycle]
    end
  ) : nil
  @timing = hash[:timing] ? Retab::WorkflowTestRunTiming.new(hash[:timing]) : nil
  @target = hash[:target] ? Retab::WorkflowTestBlockTarget.new(hash[:target]) : nil
  @test_id = hash[:test_id]
  @total_tests = hash[:total_tests]
  @counts = hash[:counts] ? Retab::BlockTestBatchExecutionCounts.new(hash[:counts]) : nil
end

Instance Attribute Details

#countsObject

Returns the value of attribute counts.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def counts
  @counts
end

#idObject

Returns the value of attribute id.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def id
  @id
end

#lifecycleObject

Returns the value of attribute lifecycle.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def lifecycle
  @lifecycle
end

#targetObject

Returns the value of attribute target.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def target
  @target
end

#test_idObject

Returns the value of attribute test_id.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def test_id
  @test_id
end

#timingObject

Returns the value of attribute timing.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def timing
  @timing
end

#total_testsObject

Returns the value of attribute total_tests.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def total_tests
  @total_tests
end

#triggerObject

Returns the value of attribute trigger.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def trigger
  @trigger
end

#workflowObject

Returns the value of attribute workflow.



20
21
22
# File 'lib/retab/workflow_test_runs/workflow_test_run.rb', line 20

def workflow
  @workflow
end