summaryrefslogtreecommitdiffstats
path: root/modules/webhook/webhook_test.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-11-02 06:51:22 +0800
committerzeripath <art27@cantab.net>2019-11-01 22:51:22 +0000
commit0e7f7df3cf176640c66ddf286ec052c7c13beb8a (patch)
tree16afa02dd0b3df428aa7d9daadd4796eef907332 /modules/webhook/webhook_test.go
parentba336f6f456835f1f327ee967991079dd220266d (diff)
downloadgitea-0e7f7df3cf176640c66ddf286ec052c7c13beb8a.tar.gz
gitea-0e7f7df3cf176640c66ddf286ec052c7c13beb8a.zip
Move webhook to a standalone package under modules (#8747)
* Move webhook to a standalone package under modules * fix test * fix comments
Diffstat (limited to 'modules/webhook/webhook_test.go')
-rw-r--r--modules/webhook/webhook_test.go67
1 files changed, 67 insertions, 0 deletions
diff --git a/modules/webhook/webhook_test.go b/modules/webhook/webhook_test.go
new file mode 100644
index 0000000000..c944bc477d
--- /dev/null
+++ b/modules/webhook/webhook_test.go
@@ -0,0 +1,67 @@
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package webhook
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/gitea/modules/structs"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestPrepareWebhooks(t *testing.T) {
+ assert.NoError(t, models.PrepareTestDatabase())
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ hookTasks := []*models.HookTask{
+ {RepoID: repo.ID, HookID: 1, EventType: models.HookEventPush},
+ }
+ for _, hookTask := range hookTasks {
+ models.AssertNotExistsBean(t, hookTask)
+ }
+ assert.NoError(t, PrepareWebhooks(repo, models.HookEventPush, &api.PushPayload{}))
+ for _, hookTask := range hookTasks {
+ models.AssertExistsAndLoadBean(t, hookTask)
+ }
+}
+
+func TestPrepareWebhooksBranchFilterMatch(t *testing.T) {
+ assert.NoError(t, models.PrepareTestDatabase())
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository)
+ hookTasks := []*models.HookTask{
+ {RepoID: repo.ID, HookID: 4, EventType: models.HookEventPush},
+ }
+ for _, hookTask := range hookTasks {
+ models.AssertNotExistsBean(t, hookTask)
+ }
+ // this test also ensures that * doesn't handle / in any special way (like shell would)
+ assert.NoError(t, PrepareWebhooks(repo, models.HookEventPush, &api.PushPayload{Ref: "refs/heads/feature/7791"}))
+ for _, hookTask := range hookTasks {
+ models.AssertExistsAndLoadBean(t, hookTask)
+ }
+}
+
+func TestPrepareWebhooksBranchFilterNoMatch(t *testing.T) {
+ assert.NoError(t, models.PrepareTestDatabase())
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository)
+ hookTasks := []*models.HookTask{
+ {RepoID: repo.ID, HookID: 4, EventType: models.HookEventPush},
+ }
+ for _, hookTask := range hookTasks {
+ models.AssertNotExistsBean(t, hookTask)
+ }
+ assert.NoError(t, PrepareWebhooks(repo, models.HookEventPush, &api.PushPayload{Ref: "refs/heads/fix_weird_bug"}))
+
+ for _, hookTask := range hookTasks {
+ models.AssertNotExistsBean(t, hookTask)
+ }
+}
+
+// TODO TestHookTask_deliver
+
+// TODO TestDeliverHooks