mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
2.4 KiB
119 lines
2.4 KiB
// Copyright 2023 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package actions |
|
|
|
import ( |
|
"testing" |
|
|
|
webhook_module "code.gitea.io/gitea/modules/webhook" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestCanGithubEventMatch(t *testing.T) { |
|
testCases := []struct { |
|
desc string |
|
eventName string |
|
triggeredEvent webhook_module.HookEventType |
|
expected bool |
|
}{ |
|
// registry_package event |
|
{ |
|
"registry_package matches", |
|
GithubEventRegistryPackage, |
|
webhook_module.HookEventPackage, |
|
true, |
|
}, |
|
{ |
|
"registry_package cannot match", |
|
GithubEventRegistryPackage, |
|
webhook_module.HookEventPush, |
|
false, |
|
}, |
|
// issues event |
|
{ |
|
"issue matches", |
|
GithubEventIssues, |
|
webhook_module.HookEventIssueLabel, |
|
true, |
|
}, |
|
{ |
|
"issue cannot match", |
|
GithubEventIssues, |
|
webhook_module.HookEventIssueComment, |
|
false, |
|
}, |
|
// issue_comment event |
|
{ |
|
"issue_comment matches", |
|
GithubEventIssueComment, |
|
webhook_module.HookEventIssueComment, |
|
true, |
|
}, |
|
{ |
|
"issue_comment cannot match", |
|
GithubEventIssueComment, |
|
webhook_module.HookEventIssues, |
|
false, |
|
}, |
|
// pull_request event |
|
{ |
|
"pull_request matches", |
|
GithubEventPullRequest, |
|
webhook_module.HookEventPullRequestSync, |
|
true, |
|
}, |
|
{ |
|
"pull_request cannot match", |
|
GithubEventPullRequest, |
|
webhook_module.HookEventPullRequestComment, |
|
false, |
|
}, |
|
// pull_request_target event |
|
{ |
|
"pull_request_target matches", |
|
GithubEventPullRequest, |
|
webhook_module.HookEventPullRequest, |
|
true, |
|
}, |
|
{ |
|
"pull_request_target cannot match", |
|
GithubEventPullRequest, |
|
webhook_module.HookEventPullRequestComment, |
|
false, |
|
}, |
|
// pull_request_review event |
|
{ |
|
"pull_request_review matches", |
|
GithubEventPullRequestReview, |
|
webhook_module.HookEventPullRequestReviewComment, |
|
true, |
|
}, |
|
{ |
|
"pull_request_review cannot match", |
|
GithubEventPullRequestReview, |
|
webhook_module.HookEventPullRequestComment, |
|
false, |
|
}, |
|
// other events |
|
{ |
|
"create event", |
|
GithubEventCreate, |
|
webhook_module.HookEventCreate, |
|
true, |
|
}, |
|
{ |
|
"create pull request comment", |
|
GithubEventIssueComment, |
|
webhook_module.HookEventPullRequestComment, |
|
true, |
|
}, |
|
} |
|
|
|
for _, tc := range testCases { |
|
t.Run(tc.desc, func(t *testing.T) { |
|
assert.Equalf(t, tc.expected, canGithubEventMatch(tc.eventName, tc.triggeredEvent), "canGithubEventMatch(%v, %v)", tc.eventName, tc.triggeredEvent) |
|
}) |
|
} |
|
}
|
|
|