github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/pkg/cmd/run/shared/test.go (about)

     1  package shared
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  
     7  	workflowShared "github.com/ungtb10d/cli/v2/pkg/cmd/workflow/shared"
     8  )
     9  
    10  var TestRunStartTime, _ = time.Parse("2006-01-02 15:04:05", "2021-02-23 04:51:00")
    11  
    12  func TestRun(id int64, s Status, c Conclusion) Run {
    13  	return TestRunWithCommit(id, s, c, "cool commit")
    14  }
    15  
    16  func TestRunWithCommit(id int64, s Status, c Conclusion, commit string) Run {
    17  	return Run{
    18  		WorkflowID: 123,
    19  		ID:         id,
    20  		CreatedAt:  TestRunStartTime,
    21  		UpdatedAt:  TestRunStartTime.Add(time.Minute*4 + time.Second*34),
    22  		Status:     s,
    23  		Conclusion: c,
    24  		Event:      "push",
    25  		HeadBranch: "trunk",
    26  		JobsURL:    fmt.Sprintf("https://api.github.com/runs/%d/jobs", id),
    27  		HeadCommit: Commit{
    28  			Message: commit,
    29  		},
    30  		HeadSha: "1234567890",
    31  		URL:     fmt.Sprintf("https://github.com/runs/%d", id),
    32  		HeadRepository: Repo{
    33  			Owner: struct{ Login string }{Login: "OWNER"},
    34  			Name:  "REPO",
    35  		},
    36  	}
    37  }
    38  
    39  var SuccessfulRun Run = TestRun(3, Completed, Success)
    40  var FailedRun Run = TestRun(1234, Completed, Failure)
    41  
    42  var TestRuns []Run = []Run{
    43  	TestRun(1, Completed, TimedOut),
    44  	TestRun(2, InProgress, ""),
    45  	SuccessfulRun,
    46  	TestRun(4, Completed, Cancelled),
    47  	FailedRun,
    48  	TestRun(6, Completed, Neutral),
    49  	TestRun(7, Completed, Skipped),
    50  	TestRun(8, Requested, ""),
    51  	TestRun(9, Queued, ""),
    52  	TestRun(10, Completed, Stale),
    53  }
    54  
    55  var WorkflowRuns []Run = []Run{
    56  	TestRun(2, InProgress, ""),
    57  	SuccessfulRun,
    58  	FailedRun,
    59  }
    60  
    61  var SuccessfulJob Job = Job{
    62  	ID:          10,
    63  	Status:      Completed,
    64  	Conclusion:  Success,
    65  	Name:        "cool job",
    66  	StartedAt:   TestRunStartTime,
    67  	CompletedAt: TestRunStartTime.Add(time.Minute*4 + time.Second*34),
    68  	URL:         "https://github.com/jobs/10",
    69  	RunID:       3,
    70  	Steps: []Step{
    71  		{
    72  			Name:       "fob the barz",
    73  			Status:     Completed,
    74  			Conclusion: Success,
    75  			Number:     1,
    76  		},
    77  		{
    78  			Name:       "barz the fob",
    79  			Status:     Completed,
    80  			Conclusion: Success,
    81  			Number:     2,
    82  		},
    83  	},
    84  }
    85  
    86  var FailedJob Job = Job{
    87  	ID:          20,
    88  	Status:      Completed,
    89  	Conclusion:  Failure,
    90  	Name:        "sad job",
    91  	StartedAt:   TestRunStartTime,
    92  	CompletedAt: TestRunStartTime.Add(time.Minute*4 + time.Second*34),
    93  	URL:         "https://github.com/jobs/20",
    94  	RunID:       1234,
    95  	Steps: []Step{
    96  		{
    97  			Name:       "barf the quux",
    98  			Status:     Completed,
    99  			Conclusion: Success,
   100  			Number:     1,
   101  		},
   102  		{
   103  			Name:       "quux the barf",
   104  			Status:     Completed,
   105  			Conclusion: Failure,
   106  			Number:     2,
   107  		},
   108  	},
   109  }
   110  
   111  var FailedJobAnnotations []Annotation = []Annotation{
   112  	{
   113  		JobName:   "sad job",
   114  		Message:   "the job is sad",
   115  		Path:      "blaze.py",
   116  		Level:     "failure",
   117  		StartLine: 420,
   118  	},
   119  }
   120  
   121  var TestWorkflow workflowShared.Workflow = workflowShared.Workflow{
   122  	Name: "CI",
   123  	ID:   123,
   124  }