summaryrefslogtreecommitdiffstats
path: root/modules/actions/github_test.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
committerDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
commitdd136858f1ea40ad3c94191d647487fa4f31926c (patch)
tree58fec94a7b2a12510c9664b21793f1ed560c6518 /modules/actions/github_test.go
parentInitial commit. (diff)
downloadforgejo-debian.tar.xz
forgejo-debian.zip
Adding upstream version 9.0.0.HEADupstream/9.0.0upstreamdebian
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to '')
-rw-r--r--modules/actions/github_test.go119
1 files changed, 119 insertions, 0 deletions
diff --git a/modules/actions/github_test.go b/modules/actions/github_test.go
new file mode 100644
index 0000000..6652ff6
--- /dev/null
+++ b/modules/actions/github_test.go
@@ -0,0 +1,119 @@
+// 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)
+ })
+ }
+}