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