diff options
Diffstat (limited to 'modules/structs')
-rw-r--r-- | modules/structs/commit_status.go | 67 | ||||
-rw-r--r-- | modules/structs/commit_status_test.go | 30 | ||||
-rw-r--r-- | modules/structs/status.go | 38 |
3 files changed, 20 insertions, 115 deletions
diff --git a/modules/structs/commit_status.go b/modules/structs/commit_status.go deleted file mode 100644 index 398001974d..0000000000 --- a/modules/structs/commit_status.go +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2020 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package structs - -// CommitStatusState holds the state of a CommitStatus -// It can be "pending", "success", "error" and "failure" -type CommitStatusState string - -const ( - // CommitStatusPending is for when the CommitStatus is Pending - CommitStatusPending CommitStatusState = "pending" - // CommitStatusSuccess is for when the CommitStatus is Success - CommitStatusSuccess CommitStatusState = "success" - // CommitStatusError is for when the CommitStatus is Error - CommitStatusError CommitStatusState = "error" - // CommitStatusFailure is for when the CommitStatus is Failure - CommitStatusFailure CommitStatusState = "failure" - // CommitStatusWarning is for when the CommitStatus is Warning - CommitStatusWarning CommitStatusState = "warning" - // CommitStatusSkipped is for when CommitStatus is Skipped - CommitStatusSkipped CommitStatusState = "skipped" -) - -var commitStatusPriorities = map[CommitStatusState]int{ - CommitStatusError: 0, - CommitStatusFailure: 1, - CommitStatusWarning: 2, - CommitStatusPending: 3, - CommitStatusSuccess: 4, - CommitStatusSkipped: 5, -} - -func (css CommitStatusState) String() string { - return string(css) -} - -// HasHigherPriorityThan returns true if this state has higher priority than the other -// Undefined states are considered to have the highest priority like CommitStatusError(0) -func (css CommitStatusState) HasHigherPriorityThan(other CommitStatusState) bool { - return commitStatusPriorities[css] < commitStatusPriorities[other] -} - -// IsPending represents if commit status state is pending -func (css CommitStatusState) IsPending() bool { - return css == CommitStatusPending -} - -// IsSuccess represents if commit status state is success -func (css CommitStatusState) IsSuccess() bool { - return css == CommitStatusSuccess -} - -// IsError represents if commit status state is error -func (css CommitStatusState) IsError() bool { - return css == CommitStatusError -} - -// IsFailure represents if commit status state is failure -func (css CommitStatusState) IsFailure() bool { - return css == CommitStatusFailure -} - -// IsWarning represents if commit status state is warning -func (css CommitStatusState) IsWarning() bool { - return css == CommitStatusWarning -} diff --git a/modules/structs/commit_status_test.go b/modules/structs/commit_status_test.go deleted file mode 100644 index c11daf248d..0000000000 --- a/modules/structs/commit_status_test.go +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2023 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package structs - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestNoBetterThan(t *testing.T) { - tests := []struct { - s1, s2 CommitStatusState - higher bool - }{ - {CommitStatusError, CommitStatusFailure, true}, - {CommitStatusFailure, CommitStatusWarning, true}, - {CommitStatusWarning, CommitStatusPending, true}, - {CommitStatusPending, CommitStatusSuccess, true}, - {CommitStatusSuccess, CommitStatusSkipped, true}, - - {CommitStatusError, "unknown-xxx", false}, - {"unknown-xxx", CommitStatusFailure, true}, - } - for _, tt := range tests { - assert.Equal(t, tt.higher, tt.s1.HasHigherPriorityThan(tt.s2), "s1=%s, s2=%s, expected=%v", tt.s1, tt.s2, tt.higher) - } - assert.False(t, CommitStatusError.HasHigherPriorityThan(CommitStatusError)) -} diff --git a/modules/structs/status.go b/modules/structs/status.go index c1d8b902ec..a9779541ff 100644 --- a/modules/structs/status.go +++ b/modules/structs/status.go @@ -5,17 +5,19 @@ package structs import ( "time" + + "code.gitea.io/gitea/modules/commitstatus" ) // CommitStatus holds a single status of a single Commit type CommitStatus struct { - ID int64 `json:"id"` - State CommitStatusState `json:"status"` - TargetURL string `json:"target_url"` - Description string `json:"description"` - URL string `json:"url"` - Context string `json:"context"` - Creator *User `json:"creator"` + ID int64 `json:"id"` + State commitstatus.CommitStatusState `json:"status"` + TargetURL string `json:"target_url"` + Description string `json:"description"` + URL string `json:"url"` + Context string `json:"context"` + Creator *User `json:"creator"` // swagger:strfmt date-time Created time.Time `json:"created_at"` // swagger:strfmt date-time @@ -24,19 +26,19 @@ type CommitStatus struct { // CombinedStatus holds the combined state of several statuses for a single commit type CombinedStatus struct { - State CommitStatusState `json:"state"` - SHA string `json:"sha"` - TotalCount int `json:"total_count"` - Statuses []*CommitStatus `json:"statuses"` - Repository *Repository `json:"repository"` - CommitURL string `json:"commit_url"` - URL string `json:"url"` + State commitstatus.CommitStatusState `json:"state"` + SHA string `json:"sha"` + TotalCount int `json:"total_count"` + Statuses []*CommitStatus `json:"statuses"` + Repository *Repository `json:"repository"` + CommitURL string `json:"commit_url"` + URL string `json:"url"` } // CreateStatusOption holds the information needed to create a new CommitStatus for a Commit type CreateStatusOption struct { - State CommitStatusState `json:"state"` - TargetURL string `json:"target_url"` - Description string `json:"description"` - Context string `json:"context"` + State commitstatus.CommitStatusState `json:"state"` + TargetURL string `json:"target_url"` + Description string `json:"description"` + Context string `json:"context"` } |