mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-02 22:14:37 +01:00
fix webhook fixtures
This commit is contained in:
parent
8750a5a42b
commit
2536c2db89
4 changed files with 59 additions and 23 deletions
|
@ -1,15 +1,17 @@
|
||||||
-
|
-
|
||||||
id: 1
|
id: 1
|
||||||
repo_id: 1
|
repo_id: 1
|
||||||
url: www.example.com/url1
|
url: http://www.example.com/url1
|
||||||
|
http_method: POST
|
||||||
content_type: 1 # json
|
content_type: 1 # json
|
||||||
events: '{"push_only":true,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":false}}'
|
events: '{"push_only":true,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":false}}'
|
||||||
is_active: true
|
is_active: false # disable to prevent sending hook task during unrelated tests
|
||||||
|
|
||||||
-
|
-
|
||||||
id: 2
|
id: 2
|
||||||
repo_id: 1
|
repo_id: 1
|
||||||
url: www.example.com/url2
|
url: http://www.example.com/url2
|
||||||
|
http_method: POST
|
||||||
content_type: 1 # json
|
content_type: 1 # json
|
||||||
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
||||||
is_active: false
|
is_active: false
|
||||||
|
@ -18,14 +20,16 @@
|
||||||
id: 3
|
id: 3
|
||||||
owner_id: 3
|
owner_id: 3
|
||||||
repo_id: 3
|
repo_id: 3
|
||||||
url: www.example.com/url3
|
url: http://www.example.com/url3
|
||||||
|
http_method: POST
|
||||||
content_type: 1 # json
|
content_type: 1 # json
|
||||||
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
||||||
is_active: true
|
is_active: false
|
||||||
-
|
-
|
||||||
id: 4
|
id: 4
|
||||||
repo_id: 2
|
repo_id: 2
|
||||||
url: www.example.com/url4
|
url: http://www.example.com/url4
|
||||||
|
http_method: POST
|
||||||
content_type: 1 # json
|
content_type: 1 # json
|
||||||
events: '{"push_only":true,"branch_filter":"{master,feature*}"}'
|
events: '{"push_only":true,"branch_filter":"{master,feature*}"}'
|
||||||
is_active: true
|
is_active: false
|
||||||
|
|
|
@ -124,6 +124,9 @@ func TestGetWebhookByOwnerID(t *testing.T) {
|
||||||
|
|
||||||
func TestGetActiveWebhooksByRepoID(t *testing.T) {
|
func TestGetActiveWebhooksByRepoID(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
activateWebhook(t, 1)
|
||||||
|
|
||||||
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{RepoID: 1, IsActive: optional.Some(true)})
|
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{RepoID: 1, IsActive: optional.Some(true)})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
if assert.Len(t, hooks, 1) {
|
if assert.Len(t, hooks, 1) {
|
||||||
|
@ -144,6 +147,9 @@ func TestGetWebhooksByRepoID(t *testing.T) {
|
||||||
|
|
||||||
func TestGetActiveWebhooksByOwnerID(t *testing.T) {
|
func TestGetActiveWebhooksByOwnerID(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
activateWebhook(t, 3)
|
||||||
|
|
||||||
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{OwnerID: 3, IsActive: optional.Some(true)})
|
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{OwnerID: 3, IsActive: optional.Some(true)})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
if assert.Len(t, hooks, 1) {
|
if assert.Len(t, hooks, 1) {
|
||||||
|
@ -152,8 +158,18 @@ func TestGetActiveWebhooksByOwnerID(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func activateWebhook(t *testing.T, hookID int64) {
|
||||||
|
t.Helper()
|
||||||
|
updated, err := db.GetEngine(db.DefaultContext).ID(hookID).Cols("is_active").Update(Webhook{IsActive: true})
|
||||||
|
assert.Equal(t, int64(1), updated)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
func TestGetWebhooksByOwnerID(t *testing.T) {
|
func TestGetWebhooksByOwnerID(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
activateWebhook(t, 3)
|
||||||
|
|
||||||
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{OwnerID: 3})
|
hooks, err := db.Find[Webhook](db.DefaultContext, ListWebhookOptions{OwnerID: 3})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
if assert.Len(t, hooks, 1) {
|
if assert.Len(t, hooks, 1) {
|
||||||
|
|
|
@ -28,10 +28,19 @@ func TestWebhook_GetSlackHook(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func activateWebhook(t *testing.T, hookID int64) {
|
||||||
|
t.Helper()
|
||||||
|
updated, err := db.GetEngine(db.DefaultContext).ID(hookID).Cols("is_active").Update(webhook_model.Webhook{IsActive: true})
|
||||||
|
assert.Equal(t, int64(1), updated)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
func TestPrepareWebhooks(t *testing.T) {
|
func TestPrepareWebhooks(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||||
|
activateWebhook(t, 1)
|
||||||
|
|
||||||
hookTasks := []*webhook_model.HookTask{
|
hookTasks := []*webhook_model.HookTask{
|
||||||
{HookID: 1, EventType: webhook_module.HookEventPush},
|
{HookID: 1, EventType: webhook_module.HookEventPush},
|
||||||
}
|
}
|
||||||
|
@ -48,6 +57,8 @@ func TestPrepareWebhooksBranchFilterMatch(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
|
||||||
|
activateWebhook(t, 4)
|
||||||
|
|
||||||
hookTasks := []*webhook_model.HookTask{
|
hookTasks := []*webhook_model.HookTask{
|
||||||
{HookID: 4, EventType: webhook_module.HookEventPush},
|
{HookID: 4, EventType: webhook_module.HookEventPush},
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,10 +80,22 @@ func testPullCleanUp(t *testing.T, session *TestSession, user, repo, pullnum str
|
||||||
return resp
|
return resp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func retrieveHookTasks(t *testing.T, hookID int64, activateWebhook bool) []*webhook.HookTask {
|
||||||
|
t.Helper()
|
||||||
|
if activateWebhook {
|
||||||
|
updated, err := db.GetEngine(db.DefaultContext).ID(hookID).Cols("is_active").Update(webhook.Webhook{IsActive: true})
|
||||||
|
assert.Equal(t, int64(1), updated)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
hookTasks, err := webhook.HookTasks(db.DefaultContext, hookID, 1)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
return hookTasks
|
||||||
|
}
|
||||||
|
|
||||||
func TestPullMerge(t *testing.T) {
|
func TestPullMerge(t *testing.T) {
|
||||||
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
||||||
hookTasks, err := webhook.HookTasks(db.DefaultContext, 1, 1) // Retrieve previous hook number
|
hookTasks := retrieveHookTasks(t, 1, true)
|
||||||
assert.NoError(t, err)
|
|
||||||
hookTasksLenBefore := len(hookTasks)
|
hookTasksLenBefore := len(hookTasks)
|
||||||
|
|
||||||
session := loginUser(t, "user1")
|
session := loginUser(t, "user1")
|
||||||
|
@ -96,16 +108,14 @@ func TestPullMerge(t *testing.T) {
|
||||||
assert.EqualValues(t, "pulls", elem[3])
|
assert.EqualValues(t, "pulls", elem[3])
|
||||||
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleMerge, false)
|
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleMerge, false)
|
||||||
|
|
||||||
hookTasks, err = webhook.HookTasks(db.DefaultContext, 1, 1)
|
hookTasks = retrieveHookTasks(t, 1, false)
|
||||||
assert.NoError(t, err)
|
|
||||||
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPullRebase(t *testing.T) {
|
func TestPullRebase(t *testing.T) {
|
||||||
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
||||||
hookTasks, err := webhook.HookTasks(db.DefaultContext, 1, 1) // Retrieve previous hook number
|
hookTasks := retrieveHookTasks(t, 1, true)
|
||||||
assert.NoError(t, err)
|
|
||||||
hookTasksLenBefore := len(hookTasks)
|
hookTasksLenBefore := len(hookTasks)
|
||||||
|
|
||||||
session := loginUser(t, "user1")
|
session := loginUser(t, "user1")
|
||||||
|
@ -118,16 +128,14 @@ func TestPullRebase(t *testing.T) {
|
||||||
assert.EqualValues(t, "pulls", elem[3])
|
assert.EqualValues(t, "pulls", elem[3])
|
||||||
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleRebase, false)
|
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleRebase, false)
|
||||||
|
|
||||||
hookTasks, err = webhook.HookTasks(db.DefaultContext, 1, 1)
|
hookTasks = retrieveHookTasks(t, 1, false)
|
||||||
assert.NoError(t, err)
|
|
||||||
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPullRebaseMerge(t *testing.T) {
|
func TestPullRebaseMerge(t *testing.T) {
|
||||||
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
||||||
hookTasks, err := webhook.HookTasks(db.DefaultContext, 1, 1) // Retrieve previous hook number
|
hookTasks := retrieveHookTasks(t, 1, true)
|
||||||
assert.NoError(t, err)
|
|
||||||
hookTasksLenBefore := len(hookTasks)
|
hookTasksLenBefore := len(hookTasks)
|
||||||
|
|
||||||
session := loginUser(t, "user1")
|
session := loginUser(t, "user1")
|
||||||
|
@ -140,16 +148,14 @@ func TestPullRebaseMerge(t *testing.T) {
|
||||||
assert.EqualValues(t, "pulls", elem[3])
|
assert.EqualValues(t, "pulls", elem[3])
|
||||||
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleRebaseMerge, false)
|
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleRebaseMerge, false)
|
||||||
|
|
||||||
hookTasks, err = webhook.HookTasks(db.DefaultContext, 1, 1)
|
hookTasks = retrieveHookTasks(t, 1, false)
|
||||||
assert.NoError(t, err)
|
|
||||||
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPullSquash(t *testing.T) {
|
func TestPullSquash(t *testing.T) {
|
||||||
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
|
||||||
hookTasks, err := webhook.HookTasks(db.DefaultContext, 1, 1) // Retrieve previous hook number
|
hookTasks := retrieveHookTasks(t, 1, true)
|
||||||
assert.NoError(t, err)
|
|
||||||
hookTasksLenBefore := len(hookTasks)
|
hookTasksLenBefore := len(hookTasks)
|
||||||
|
|
||||||
session := loginUser(t, "user1")
|
session := loginUser(t, "user1")
|
||||||
|
@ -163,8 +169,7 @@ func TestPullSquash(t *testing.T) {
|
||||||
assert.EqualValues(t, "pulls", elem[3])
|
assert.EqualValues(t, "pulls", elem[3])
|
||||||
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleSquash, false)
|
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleSquash, false)
|
||||||
|
|
||||||
hookTasks, err = webhook.HookTasks(db.DefaultContext, 1, 1)
|
hookTasks = retrieveHookTasks(t, 1, false)
|
||||||
assert.NoError(t, err)
|
|
||||||
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
assert.Len(t, hookTasks, hookTasksLenBefore+1)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue