diff --git a/models/webhook/webhook_system_test.go b/models/webhook/webhook_system_test.go index 04915d2a67d..32bd4878cbf 100644 --- a/models/webhook/webhook_system_test.go +++ b/models/webhook/webhook_system_test.go @@ -6,52 +6,33 @@ package webhook import ( "testing" - "code.gitea.io/gitea/models/unittest" "code.gitea.io/gitea/modules/optional" "github.com/stretchr/testify/assert" ) func TestListSystemWebhookOptions(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - - systemHook := &Webhook{ - URL: "https://www.example.com/system", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - IsSystemWebhook: true, - } - assert.NoError(t, CreateWebhook(t.Context(), systemHook)) - - defaultHook := &Webhook{ - URL: "https://www.example.com/default", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - IsSystemWebhook: false, - } - assert.NoError(t, CreateWebhook(t.Context(), defaultHook)) + fixture := prepareWebhookTestData(t) opts := ListSystemWebhookOptions{IsSystem: optional.None[bool]()} hooks, _, err := GetGlobalWebhooks(t.Context(), &opts) assert.NoError(t, err) if assert.Len(t, hooks, 2) { - assert.Equal(t, systemHook.ID, hooks[0].ID) - assert.Equal(t, defaultHook.ID, hooks[1].ID) + assert.Equal(t, fixture.HookSystem.ID, hooks[0].ID) + assert.Equal(t, fixture.HookDefault.ID, hooks[1].ID) } opts.IsSystem = optional.Some(true) hooks, _, err = GetGlobalWebhooks(t.Context(), &opts) assert.NoError(t, err) if assert.Len(t, hooks, 1) { - assert.Equal(t, systemHook.ID, hooks[0].ID) + assert.Equal(t, fixture.HookSystem.ID, hooks[0].ID) } opts.IsSystem = optional.Some(false) hooks, _, err = GetGlobalWebhooks(t.Context(), &opts) assert.NoError(t, err) if assert.Len(t, hooks, 1) { - assert.Equal(t, defaultHook.ID, hooks[0].ID) + assert.Equal(t, fixture.HookDefault.ID, hooks[0].ID) } } diff --git a/models/webhook/webhook_test.go b/models/webhook/webhook_test.go index cae08ffd7b4..732e164e9a3 100644 --- a/models/webhook/webhook_test.go +++ b/models/webhook/webhook_test.go @@ -15,8 +15,102 @@ import ( webhook_module "code.gitea.io/gitea/modules/webhook" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) +// webhookTestFixtures holds standard webhook test data created by prepareWebhookTestData. +type webhookTestFixtures struct { + HookRepo1 *Webhook + HookRepo1Inactive *Webhook + HookOwner3 *Webhook + HookRepo2Branch *Webhook + HookSystem *Webhook + HookDefault *Webhook + HookTask1 *HookTask + HookTask2 *HookTask + HookTask3 *HookTask +} + +// prepareWebhookTestData resets the test database and inserts a standard set of +// webhooks and hook tasks used across multiple tests in this package. +func prepareWebhookTestData(t *testing.T) *webhookTestFixtures { + t.Helper() + require.NoError(t, unittest.PrepareTestDatabase()) + + hookRepo1 := &Webhook{ + RepoID: 1, + URL: "https://www.example.com/url1", + ContentType: ContentTypeJSON, + Events: `{"push_only":true}`, + IsActive: true, + } + require.NoError(t, db.Insert(t.Context(), hookRepo1)) + + hookRepo1Inactive := &Webhook{ + RepoID: 1, + URL: "https://www.example.com/url2", + ContentType: ContentTypeJSON, + Events: `{"push_only":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}`, + IsActive: false, + } + require.NoError(t, db.Insert(t.Context(), hookRepo1Inactive)) + + hookOwner3 := &Webhook{ + OwnerID: 3, + URL: "https://www.example.com/url3", + ContentType: ContentTypeJSON, + Events: `{"push_only":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}`, + IsActive: true, + } + require.NoError(t, db.Insert(t.Context(), hookOwner3)) + + hookRepo2Branch := &Webhook{ + RepoID: 2, + URL: "https://www.example.com/url4", + ContentType: ContentTypeJSON, + Events: `{"push_only":true,"branch_filter":"{master,feature*}"}`, + IsActive: true, + } + require.NoError(t, db.Insert(t.Context(), hookRepo2Branch)) + + hookSystem := &Webhook{ + URL: "https://www.example.com/url5", + ContentType: ContentTypeJSON, + Events: `{"push_only":true}`, + IsActive: true, + IsSystemWebhook: true, + } + require.NoError(t, db.Insert(t.Context(), hookSystem)) + + hookDefault := &Webhook{ + URL: "https://www.example.com/url6", + ContentType: ContentTypeJSON, + Events: `{"push_only":true}`, + IsActive: true, + IsSystemWebhook: false, + } + require.NoError(t, db.Insert(t.Context(), hookDefault)) + + task1, err := CreateHookTask(t.Context(), &HookTask{HookID: hookRepo1.ID, IsDelivered: true, PayloadVersion: 2}) + require.NoError(t, err) + task2, err := CreateHookTask(t.Context(), &HookTask{HookID: hookRepo1.ID, IsDelivered: true, PayloadVersion: 2}) + require.NoError(t, err) + task3, err := CreateHookTask(t.Context(), &HookTask{HookID: hookRepo1.ID, IsDelivered: true, PayloadVersion: 2}) + require.NoError(t, err) + + return &webhookTestFixtures{ + HookRepo1: hookRepo1, + HookRepo1Inactive: hookRepo1Inactive, + HookOwner3: hookOwner3, + HookRepo2Branch: hookRepo2Branch, + HookSystem: hookSystem, + HookDefault: hookDefault, + HookTask1: task1, + HookTask2: task2, + HookTask3: task3, + } +} + func TestHookContentType_Name(t *testing.T) { assert.Equal(t, "json", ContentTypeJSON.Name()) assert.Equal(t, "form", ContentTypeForm.Name()) @@ -29,53 +123,24 @@ func TestIsValidHookContentType(t *testing.T) { } func TestWebhook_History(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) + fixture := prepareWebhookTestData(t) - hook1 := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/history1", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook1)) - task1, err := CreateHookTask(t.Context(), &HookTask{HookID: hook1.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) - task2, err := CreateHookTask(t.Context(), &HookTask{HookID: hook1.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) - task3, err := CreateHookTask(t.Context(), &HookTask{HookID: hook1.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) - - tasks, err := hook1.History(t.Context(), 0) + tasks, err := fixture.HookRepo1.History(t.Context(), 0) assert.NoError(t, err) if assert.Len(t, tasks, 3) { - assert.Equal(t, task3.ID, tasks[0].ID) - assert.Equal(t, task2.ID, tasks[1].ID) - assert.Equal(t, task1.ID, tasks[2].ID) + assert.Equal(t, fixture.HookTask3.ID, tasks[0].ID) + assert.Equal(t, fixture.HookTask2.ID, tasks[1].ID) + assert.Equal(t, fixture.HookTask1.ID, tasks[2].ID) } - hook2 := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/history2", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: false, - } - assert.NoError(t, CreateWebhook(t.Context(), hook2)) - tasks, err = hook2.History(t.Context(), 0) + tasks, err = fixture.HookRepo1Inactive.History(t.Context(), 0) assert.NoError(t, err) assert.Empty(t, tasks) } func TestWebhook_UpdateEvent(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - webhook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/update_event", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), webhook)) + fixture := prepareWebhookTestData(t) + webhook := fixture.HookRepo1 hookEvent := &webhook_module.HookEvent{ PushOnly: true, SendEverything: false, @@ -128,18 +193,11 @@ func TestCreateWebhook(t *testing.T) { } func TestGetWebhookByRepoID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/by_repo_id", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) - loaded, err := GetWebhookByRepoID(t.Context(), 1, hook.ID) + loaded, err := GetWebhookByRepoID(t.Context(), 1, fixture.HookRepo1.ID) assert.NoError(t, err) - assert.Equal(t, hook.ID, loaded.ID) + assert.Equal(t, fixture.HookRepo1.ID, loaded.ID) _, err = GetWebhookByRepoID(t.Context(), unittest.NonexistentID, unittest.NonexistentID) assert.Error(t, err) @@ -147,19 +205,11 @@ func TestGetWebhookByRepoID(t *testing.T) { } func TestGetWebhookByOwnerID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - OwnerID: 3, - URL: "https://www.example.com/by_owner_id", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) - loaded, err := GetWebhookByOwnerID(t.Context(), 3, hook.ID) + loaded, err := GetWebhookByOwnerID(t.Context(), 3, fixture.HookOwner3.ID) assert.NoError(t, err) - assert.Equal(t, hook.ID, loaded.ID) + assert.Equal(t, fixture.HookOwner3.ID, loaded.ID) _, err = GetWebhookByOwnerID(t.Context(), unittest.NonexistentID, unittest.NonexistentID) assert.Error(t, err) @@ -167,107 +217,52 @@ func TestGetWebhookByOwnerID(t *testing.T) { } func TestGetActiveWebhooksByRepoID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook1 := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/active1", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook1)) - hook2 := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/inactive1", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: false, - } - assert.NoError(t, CreateWebhook(t.Context(), hook2)) + fixture := prepareWebhookTestData(t) hooks, err := db.Find[Webhook](t.Context(), ListWebhookOptions{RepoID: 1, IsActive: optional.Some(true)}) assert.NoError(t, err) if assert.Len(t, hooks, 1) { - assert.Equal(t, hook1.ID, hooks[0].ID) + assert.Equal(t, fixture.HookRepo1.ID, hooks[0].ID) assert.True(t, hooks[0].IsActive) } } func TestGetWebhooksByRepoID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook1 := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/repo1_hook1", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook1)) - hook2 := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/repo1_hook2", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: false, - } - assert.NoError(t, CreateWebhook(t.Context(), hook2)) + fixture := prepareWebhookTestData(t) hooks, err := db.Find[Webhook](t.Context(), ListWebhookOptions{RepoID: 1}) assert.NoError(t, err) if assert.Len(t, hooks, 2) { - assert.Equal(t, hook1.ID, hooks[0].ID) - assert.Equal(t, hook2.ID, hooks[1].ID) + assert.Equal(t, fixture.HookRepo1.ID, hooks[0].ID) + assert.Equal(t, fixture.HookRepo1Inactive.ID, hooks[1].ID) } } func TestGetActiveWebhooksByOwnerID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - OwnerID: 3, - URL: "https://www.example.com/owner_active", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) hooks, err := db.Find[Webhook](t.Context(), ListWebhookOptions{OwnerID: 3, IsActive: optional.Some(true)}) assert.NoError(t, err) if assert.Len(t, hooks, 1) { - assert.Equal(t, hook.ID, hooks[0].ID) + assert.Equal(t, fixture.HookOwner3.ID, hooks[0].ID) assert.True(t, hooks[0].IsActive) } } func TestGetWebhooksByOwnerID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - OwnerID: 3, - URL: "https://www.example.com/owner_hook", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: true, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) hooks, err := db.Find[Webhook](t.Context(), ListWebhookOptions{OwnerID: 3}) assert.NoError(t, err) if assert.Len(t, hooks, 1) { - assert.Equal(t, hook.ID, hooks[0].ID) + assert.Equal(t, fixture.HookOwner3.ID, hooks[0].ID) assert.True(t, hooks[0].IsActive) } } func TestUpdateWebhook(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/update", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - IsActive: false, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) + hook := fixture.HookRepo1Inactive hook.IsActive = true hook.ContentType = ContentTypeForm unittest.AssertNotExistsBean(t, hook) @@ -276,17 +271,10 @@ func TestUpdateWebhook(t *testing.T) { } func TestDeleteWebhookByRepoID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 1, - URL: "https://www.example.com/delete_by_repo", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) - unittest.AssertExistsAndLoadBean(t, &Webhook{ID: hook.ID, RepoID: 1}) - assert.NoError(t, DeleteWebhookByRepoID(t.Context(), 1, hook.ID)) - unittest.AssertNotExistsBean(t, &Webhook{ID: hook.ID, RepoID: 1}) + fixture := prepareWebhookTestData(t) + unittest.AssertExistsAndLoadBean(t, &Webhook{ID: fixture.HookRepo1.ID, RepoID: 1}) + assert.NoError(t, DeleteWebhookByRepoID(t.Context(), 1, fixture.HookRepo1.ID)) + unittest.AssertNotExistsBean(t, &Webhook{ID: fixture.HookRepo1.ID, RepoID: 1}) err := DeleteWebhookByRepoID(t.Context(), unittest.NonexistentID, unittest.NonexistentID) assert.Error(t, err) @@ -294,17 +282,10 @@ func TestDeleteWebhookByRepoID(t *testing.T) { } func TestDeleteWebhookByOwnerID(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - OwnerID: 3, - URL: "https://www.example.com/delete_by_owner", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) - unittest.AssertExistsAndLoadBean(t, &Webhook{ID: hook.ID, OwnerID: 3}) - assert.NoError(t, DeleteWebhookByOwnerID(t.Context(), 3, hook.ID)) - unittest.AssertNotExistsBean(t, &Webhook{ID: hook.ID, OwnerID: 3}) + fixture := prepareWebhookTestData(t) + unittest.AssertExistsAndLoadBean(t, &Webhook{ID: fixture.HookOwner3.ID, OwnerID: 3}) + assert.NoError(t, DeleteWebhookByOwnerID(t.Context(), 3, fixture.HookOwner3.ID)) + unittest.AssertNotExistsBean(t, &Webhook{ID: fixture.HookOwner3.ID, OwnerID: 3}) err := DeleteWebhookByOwnerID(t.Context(), unittest.NonexistentID, unittest.NonexistentID) assert.Error(t, err) @@ -312,27 +293,14 @@ func TestDeleteWebhookByOwnerID(t *testing.T) { } func TestHookTasks(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/hook_tasks", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) - task1, err := CreateHookTask(t.Context(), &HookTask{HookID: hook.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) - task2, err := CreateHookTask(t.Context(), &HookTask{HookID: hook.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) - task3, err := CreateHookTask(t.Context(), &HookTask{HookID: hook.ID, IsDelivered: true, PayloadVersion: 2}) - assert.NoError(t, err) + fixture := prepareWebhookTestData(t) - hookTasks, err := HookTasks(t.Context(), hook.ID, 1) + hookTasks, err := HookTasks(t.Context(), fixture.HookRepo1.ID, 1) assert.NoError(t, err) if assert.Len(t, hookTasks, 3) { - assert.Equal(t, task3.ID, hookTasks[0].ID) - assert.Equal(t, task2.ID, hookTasks[1].ID) - assert.Equal(t, task1.ID, hookTasks[2].ID) + assert.Equal(t, fixture.HookTask3.ID, hookTasks[0].ID) + assert.Equal(t, fixture.HookTask2.ID, hookTasks[1].ID) + assert.Equal(t, fixture.HookTask1.ID, hookTasks[2].ID) } hookTasks, err = HookTasks(t.Context(), unittest.NonexistentID, 1) @@ -341,16 +309,9 @@ func TestHookTasks(t *testing.T) { } func TestCreateHookTask(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/create_task", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + fixture := prepareWebhookTestData(t) hookTask := &HookTask{ - HookID: hook.ID, + HookID: fixture.HookOwner3.ID, PayloadVersion: 2, } unittest.AssertNotExistsBean(t, hookTask) @@ -360,15 +321,8 @@ func TestCreateHookTask(t *testing.T) { } func TestUpdateHookTask(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/update_task", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) - hookTask := &HookTask{HookID: hook.ID, PayloadVersion: 2} + fixture := prepareWebhookTestData(t) + hookTask := &HookTask{HookID: fixture.HookOwner3.ID, PayloadVersion: 2} _, err := CreateHookTask(t.Context(), hookTask) assert.NoError(t, err) @@ -381,13 +335,8 @@ func TestUpdateHookTask(t *testing.T) { func TestCleanupHookTaskTable_PerWebhook_DeletesDelivered(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup1", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup1", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: true, @@ -405,13 +354,8 @@ func TestCleanupHookTaskTable_PerWebhook_DeletesDelivered(t *testing.T) { func TestCleanupHookTaskTable_PerWebhook_LeavesUndelivered(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup2", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup2", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: false, @@ -428,13 +372,8 @@ func TestCleanupHookTaskTable_PerWebhook_LeavesUndelivered(t *testing.T) { func TestCleanupHookTaskTable_PerWebhook_LeavesMostRecentTask(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup3", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup3", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: true, @@ -452,13 +391,8 @@ func TestCleanupHookTaskTable_PerWebhook_LeavesMostRecentTask(t *testing.T) { func TestCleanupHookTaskTable_OlderThan_DeletesDelivered(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup4", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup4", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: true, @@ -476,13 +410,8 @@ func TestCleanupHookTaskTable_OlderThan_DeletesDelivered(t *testing.T) { func TestCleanupHookTaskTable_OlderThan_LeavesUndelivered(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup5", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup5", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: false, @@ -499,13 +428,8 @@ func TestCleanupHookTaskTable_OlderThan_LeavesUndelivered(t *testing.T) { func TestCleanupHookTaskTable_OlderThan_LeavesTaskEarlierThanAgeToDelete(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - hook := &Webhook{ - RepoID: 3, - URL: "https://www.example.com/cleanup6", - ContentType: ContentTypeJSON, - Events: `{"push_only":true}`, - } - assert.NoError(t, CreateWebhook(t.Context(), hook)) + hook := &Webhook{RepoID: 3, URL: "https://www.example.com/cleanup6", ContentType: ContentTypeJSON, Events: `{"push_only":true}`} + require.NoError(t, db.Insert(t.Context(), hook)) hookTask := &HookTask{ HookID: hook.ID, IsDelivered: true, diff --git a/routers/api/v1/repo/hook_test.go b/routers/api/v1/repo/hook_test.go index b9505d9dc98..cca83bf5683 100644 --- a/routers/api/v1/repo/hook_test.go +++ b/routers/api/v1/repo/hook_test.go @@ -8,6 +8,7 @@ import ( "net/http" "testing" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/unittest" "code.gitea.io/gitea/models/webhook" "code.gitea.io/gitea/services/contexttest" @@ -25,7 +26,7 @@ func TestTestHook(t *testing.T) { Events: `{"push_only":true}`, IsActive: true, } - assert.NoError(t, webhook.CreateWebhook(t.Context(), hook)) + assert.NoError(t, db.Insert(t.Context(), hook)) ctx, _ := contexttest.MockAPIContext(t, "user2/repo1/wiki/_pages") ctx.SetPathParam("id", fmt.Sprintf("%d", hook.ID)) diff --git a/services/webhook/webhook_test.go b/services/webhook/webhook_test.go index 74240bb675c..adef62a2b05 100644 --- a/services/webhook/webhook_test.go +++ b/services/webhook/webhook_test.go @@ -6,6 +6,7 @@ package webhook import ( "testing" + "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" @@ -44,7 +45,7 @@ func TestPrepareWebhooks(t *testing.T) { Events: `{"push_only":true}`, IsActive: true, } - assert.NoError(t, webhook_model.CreateWebhook(t.Context(), hook)) + assert.NoError(t, db.Insert(t.Context(), hook)) hookTask := &webhook_model.HookTask{HookID: hook.ID, EventType: webhook_module.HookEventPush} unittest.AssertNotExistsBean(t, hookTask) @@ -63,7 +64,7 @@ func TestPrepareWebhooksBranchFilterMatch(t *testing.T) { Events: `{"push_only":true,"branch_filter":"{master,feature*}"}`, IsActive: true, } - assert.NoError(t, webhook_model.CreateWebhook(t.Context(), hook)) + assert.NoError(t, db.Insert(t.Context(), hook)) hookTask := &webhook_model.HookTask{HookID: hook.ID, EventType: webhook_module.HookEventPush} unittest.AssertNotExistsBean(t, hookTask) @@ -83,7 +84,7 @@ func TestPrepareWebhooksBranchFilterNoMatch(t *testing.T) { Events: `{"push_only":true,"branch_filter":"{master,feature*}"}`, IsActive: true, } - assert.NoError(t, webhook_model.CreateWebhook(t.Context(), hook)) + assert.NoError(t, db.Insert(t.Context(), hook)) hookTask := &webhook_model.HookTask{HookID: hook.ID, EventType: webhook_module.HookEventPush} unittest.AssertNotExistsBean(t, hookTask)