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  }