0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-11-06 10:10:51 +01:00

Fix Bark webhook payload formatting and test adjustments

Refine string formatting in Bark webhook handler for repo events, handle cases with nil repository in package payloads, and update related test assertions for clarity.
This commit is contained in:
ZeroDeng 2025-10-21 13:14:55 +08:00
parent c7f8358651
commit de226ad79a
2 changed files with 13 additions and 7 deletions

View File

@ -230,10 +230,10 @@ func (bc barkConvertor) Repository(p *api.RepositoryPayload) (BarkPayload, error
switch p.Action {
case api.HookRepoCreated:
title = fmt.Sprintf("[%s] Repository created", p.Repository.FullName)
body = p.Sender.UserName + "created repository"
body = p.Sender.UserName + " created repository"
case api.HookRepoDeleted:
title = fmt.Sprintf("[%s] Repository deleted", p.Repository.FullName)
body = p.Sender.UserName + "deleted repository"
body = p.Sender.UserName + " deleted repository"
default:
return BarkPayload{}, nil
}
@ -266,7 +266,12 @@ func (bc barkConvertor) Release(p *api.ReleasePayload) (BarkPayload, error) {
// Package implements PayloadConvertor Package method
func (bc barkConvertor) Package(p *api.PackagePayload) (BarkPayload, error) {
title := fmt.Sprintf("[%s] Package %s", p.Repository.FullName, p.Action)
repoFullName := ""
if p.Repository != nil {
repoFullName = p.Repository.FullName
}
title := fmt.Sprintf("[%s] Package %s", repoFullName, p.Action)
body := fmt.Sprintf("%s %s package %s:%s",
p.Sender.UserName, p.Action, p.Package.Name, p.Package.Version)
@ -274,7 +279,7 @@ func (bc barkConvertor) Package(p *api.PackagePayload) (BarkPayload, error) {
Title: title,
Body: body,
URL: p.Package.HTMLURL,
Group: bc.getGroup(p.Repository.FullName),
Group: bc.getGroup(repoFullName),
Sound: bc.Sound,
}, nil
}

View File

@ -124,6 +124,7 @@ func TestBarkPayload(t *testing.T) {
t.Run("Review", func(t *testing.T) {
p := pullRequestTestPayload()
p.Action = api.HookIssueReviewed
p.Review = nil // Remove review content for clean test
pl, err := bc.Review(p, webhook_module.HookEventPullRequestReviewApproved)
require.NoError(t, err)
@ -152,9 +153,9 @@ func TestBarkPayload(t *testing.T) {
pl, err := bc.Package(p)
require.NoError(t, err)
assert.Equal(t, "[test/repo] Package published", pl.Title)
assert.Contains(t, pl.Body, "user1 published package")
assert.Equal(t, "test/repo", pl.Group)
assert.Equal(t, "[] Package created", pl.Title)
assert.Contains(t, pl.Body, "user1 created package")
assert.Empty(t, pl.Group)
})
t.Run("Wiki", func(t *testing.T) {