@@ -113,11 +113,13 @@ func (m *mockWebhookProvider) Close() {
113113}
114114
115115func Test_WebhookCreate (t * testing.T ) {
116- var payload api.CreatePayload
116+ var payloads [] api.CreatePayload
117117 var triggeredEvent string
118118 provider := newMockWebhookProvider (func (content string ) {
119+ var payload api.CreatePayload
119120 err := json .Unmarshal ([]byte (content ), & payload )
120121 assert .NoError (t , err )
122+ payloads = append (payloads , payload )
121123 triggeredEvent = string (webhook_module .HookEventCreate )
122124 })
123125 defer provider .Close ()
@@ -132,20 +134,23 @@ func Test_WebhookCreate(t *testing.T) {
132134 testAPICreateBranch (t , session , "user2" , "repo1" , "master" , "master2" , http .StatusCreated )
133135
134136 // 3. validate the webhook is triggered
137+ assert .Len (t , payloads , 1 )
135138 assert .EqualValues (t , string (webhook_module .HookEventCreate ), triggeredEvent )
136- assert .EqualValues (t , "repo1" , payload .Repo .Name )
137- assert .EqualValues (t , "user2/repo1" , payload .Repo .FullName )
138- assert .EqualValues (t , "master2" , payload .Ref )
139- assert .EqualValues (t , "branch" , payload .RefType )
139+ assert .EqualValues (t , "repo1" , payloads [ 0 ] .Repo .Name )
140+ assert .EqualValues (t , "user2/repo1" , payloads [ 0 ] .Repo .FullName )
141+ assert .EqualValues (t , "master2" , payloads [ 0 ] .Ref )
142+ assert .EqualValues (t , "branch" , payloads [ 0 ] .RefType )
140143 })
141144}
142145
143146func Test_WebhookDelete (t * testing.T ) {
144- var payload api.DeletePayload
147+ var payloads [] api.DeletePayload
145148 var triggeredEvent string
146149 provider := newMockWebhookProvider (func (content string ) {
150+ var payload api.DeletePayload
147151 err := json .Unmarshal ([]byte (content ), & payload )
148152 assert .NoError (t , err )
153+ payloads = append (payloads , payload )
149154 triggeredEvent = "delete"
150155 })
151156 defer provider .Close ()
@@ -162,19 +167,22 @@ func Test_WebhookDelete(t *testing.T) {
162167
163168 // 3. validate the webhook is triggered
164169 assert .EqualValues (t , "delete" , triggeredEvent )
165- assert .EqualValues (t , "repo1" , payload .Repo .Name )
166- assert .EqualValues (t , "user2/repo1" , payload .Repo .FullName )
167- assert .EqualValues (t , "master2" , payload .Ref )
168- assert .EqualValues (t , "branch" , payload .RefType )
170+ assert .Len (t , payloads , 1 )
171+ assert .EqualValues (t , "repo1" , payloads [0 ].Repo .Name )
172+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Repo .FullName )
173+ assert .EqualValues (t , "master2" , payloads [0 ].Ref )
174+ assert .EqualValues (t , "branch" , payloads [0 ].RefType )
169175 })
170176}
171177
172178func Test_WebhookFork (t * testing.T ) {
173- var payload api.ForkPayload
179+ var payloads [] api.ForkPayload
174180 var triggeredEvent string
175181 provider := newMockWebhookProvider (func (content string ) {
182+ var payload api.ForkPayload
176183 err := json .Unmarshal ([]byte (content ), & payload )
177184 assert .NoError (t , err )
185+ payloads = append (payloads , payload )
178186 triggeredEvent = "fork"
179187 })
180188 defer provider .Close ()
@@ -190,19 +198,22 @@ func Test_WebhookFork(t *testing.T) {
190198
191199 // 3. validate the webhook is triggered
192200 assert .EqualValues (t , "fork" , triggeredEvent )
193- assert .EqualValues (t , "repo1-fork" , payload .Repo .Name )
194- assert .EqualValues (t , "user1/repo1-fork" , payload .Repo .FullName )
195- assert .EqualValues (t , "repo1" , payload .Forkee .Name )
196- assert .EqualValues (t , "user2/repo1" , payload .Forkee .FullName )
201+ assert .Len (t , payloads , 1 )
202+ assert .EqualValues (t , "repo1-fork" , payloads [0 ].Repo .Name )
203+ assert .EqualValues (t , "user1/repo1-fork" , payloads [0 ].Repo .FullName )
204+ assert .EqualValues (t , "repo1" , payloads [0 ].Forkee .Name )
205+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Forkee .FullName )
197206 })
198207}
199208
200209func Test_WebhookIssueComment (t * testing.T ) {
201- var payload api.IssueCommentPayload
210+ var payloads [] api.IssueCommentPayload
202211 var triggeredEvent string
203212 provider := newMockWebhookProvider (func (content string ) {
213+ var payload api.IssueCommentPayload
204214 err := json .Unmarshal ([]byte (content ), & payload )
205215 assert .NoError (t , err )
216+ payloads = append (payloads , payload )
206217 triggeredEvent = "issue_comment"
207218 })
208219 defer provider .Close ()
@@ -219,21 +230,24 @@ func Test_WebhookIssueComment(t *testing.T) {
219230
220231 // 3. validate the webhook is triggered
221232 assert .EqualValues (t , "issue_comment" , triggeredEvent )
222- assert .EqualValues (t , "created" , payload .Action )
223- assert .EqualValues (t , "repo1" , payload .Issue .Repo .Name )
224- assert .EqualValues (t , "user2/repo1" , payload .Issue .Repo .FullName )
225- assert .EqualValues (t , "Title2" , payload .Issue .Title )
226- assert .EqualValues (t , "Description2" , payload .Issue .Body )
227- assert .EqualValues (t , "issue title2 comment1" , payload .Comment .Body )
233+ assert .Len (t , payloads , 1 )
234+ assert .EqualValues (t , "created" , payloads [0 ].Action )
235+ assert .EqualValues (t , "repo1" , payloads [0 ].Issue .Repo .Name )
236+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Issue .Repo .FullName )
237+ assert .EqualValues (t , "Title2" , payloads [0 ].Issue .Title )
238+ assert .EqualValues (t , "Description2" , payloads [0 ].Issue .Body )
239+ assert .EqualValues (t , "issue title2 comment1" , payloads [0 ].Comment .Body )
228240 })
229241}
230242
231243func Test_WebhookRelease (t * testing.T ) {
232- var payload api.ReleasePayload
244+ var payloads [] api.ReleasePayload
233245 var triggeredEvent string
234246 provider := newMockWebhookProvider (func (content string ) {
247+ var payload api.ReleasePayload
235248 err := json .Unmarshal ([]byte (content ), & payload )
236249 assert .NoError (t , err )
250+ payloads = append (payloads , payload )
237251 triggeredEvent = "release"
238252 })
239253 defer provider .Close ()
@@ -249,20 +263,23 @@ func Test_WebhookRelease(t *testing.T) {
249263
250264 // 3. validate the webhook is triggered
251265 assert .EqualValues (t , "release" , triggeredEvent )
252- assert .EqualValues (t , "repo1" , payload .Repository .Name )
253- assert .EqualValues (t , "user2/repo1" , payload .Repository .FullName )
254- assert .EqualValues (t , "v0.0.99" , payload .Release .TagName )
255- assert .False (t , payload .Release .IsDraft )
256- assert .False (t , payload .Release .IsPrerelease )
266+ assert .Len (t , payloads , 1 )
267+ assert .EqualValues (t , "repo1" , payloads [0 ].Repository .Name )
268+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Repository .FullName )
269+ assert .EqualValues (t , "v0.0.99" , payloads [0 ].Release .TagName )
270+ assert .False (t , payloads [0 ].Release .IsDraft )
271+ assert .False (t , payloads [0 ].Release .IsPrerelease )
257272 })
258273}
259274
260275func Test_WebhookPush (t * testing.T ) {
261- var payload api.PushPayload
276+ var payloads [] api.PushPayload
262277 var triggeredEvent string
263278 provider := newMockWebhookProvider (func (content string ) {
279+ var payload api.PushPayload
264280 err := json .Unmarshal ([]byte (content ), & payload )
265281 assert .NoError (t , err )
282+ payloads = append (payloads , payload )
266283 triggeredEvent = "push"
267284 })
268285 defer provider .Close ()
@@ -278,19 +295,22 @@ func Test_WebhookPush(t *testing.T) {
278295
279296 // 3. validate the webhook is triggered
280297 assert .EqualValues (t , "push" , triggeredEvent )
281- assert .EqualValues (t , "repo1" , payload .Repo .Name )
282- assert .EqualValues (t , "user2/repo1" , payload .Repo .FullName )
283- assert .Len (t , payload .Commits , 1 )
284- assert .EqualValues (t , []string {"test_webhook_push.md" }, payload .Commits [0 ].Added )
298+ assert .Len (t , payloads , 1 )
299+ assert .EqualValues (t , "repo1" , payloads [0 ].Repo .Name )
300+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Repo .FullName )
301+ assert .Len (t , payloads [0 ].Commits , 1 )
302+ assert .EqualValues (t , []string {"test_webhook_push.md" }, payloads [0 ].Commits [0 ].Added )
285303 })
286304}
287305
288306func Test_WebhookIssue (t * testing.T ) {
289- var payload api.IssuePayload
307+ var payloads [] api.IssuePayload
290308 var triggeredEvent string
291309 provider := newMockWebhookProvider (func (content string ) {
310+ var payload api.IssuePayload
292311 err := json .Unmarshal ([]byte (content ), & payload )
293312 assert .NoError (t , err )
313+ payloads = append (payloads , payload )
294314 triggeredEvent = "issues"
295315 })
296316 defer provider .Close ()
@@ -306,20 +326,23 @@ func Test_WebhookIssue(t *testing.T) {
306326
307327 // 3. validate the webhook is triggered
308328 assert .EqualValues (t , "issues" , triggeredEvent )
309- assert .EqualValues (t , "opened" , payload .Action )
310- assert .EqualValues (t , "repo1" , payload .Issue .Repo .Name )
311- assert .EqualValues (t , "user2/repo1" , payload .Issue .Repo .FullName )
312- assert .EqualValues (t , "Title1" , payload .Issue .Title )
313- assert .EqualValues (t , "Description1" , payload .Issue .Body )
329+ assert .Len (t , payloads , 1 )
330+ assert .EqualValues (t , "opened" , payloads [0 ].Action )
331+ assert .EqualValues (t , "repo1" , payloads [0 ].Issue .Repo .Name )
332+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Issue .Repo .FullName )
333+ assert .EqualValues (t , "Title1" , payloads [0 ].Issue .Title )
334+ assert .EqualValues (t , "Description1" , payloads [0 ].Issue .Body )
314335 })
315336}
316337
317338func Test_WebhookPullRequest (t * testing.T ) {
318- var payload api.PullRequestPayload
339+ var payloads [] api.PullRequestPayload
319340 var triggeredEvent string
320341 provider := newMockWebhookProvider (func (content string ) {
342+ var payload api.PullRequestPayload
321343 err := json .Unmarshal ([]byte (content ), & payload )
322344 assert .NoError (t , err )
345+ payloads = append (payloads , payload )
323346 triggeredEvent = "pull_request"
324347 })
325348 defer provider .Close ()
@@ -337,20 +360,23 @@ func Test_WebhookPullRequest(t *testing.T) {
337360
338361 // 3. validate the webhook is triggered
339362 assert .EqualValues (t , "pull_request" , triggeredEvent )
340- assert .EqualValues (t , "repo1" , payload .PullRequest .Base .Repository .Name )
341- assert .EqualValues (t , "user2/repo1" , payload .PullRequest .Base .Repository .FullName )
342- assert .EqualValues (t , "repo1" , payload .PullRequest .Head .Repository .Name )
343- assert .EqualValues (t , "user2/repo1" , payload .PullRequest .Head .Repository .FullName )
344- assert .EqualValues (t , 0 , payload .PullRequest .Additions )
363+ assert .Len (t , payloads , 1 )
364+ assert .EqualValues (t , "repo1" , payloads [0 ].PullRequest .Base .Repository .Name )
365+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].PullRequest .Base .Repository .FullName )
366+ assert .EqualValues (t , "repo1" , payloads [0 ].PullRequest .Head .Repository .Name )
367+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].PullRequest .Head .Repository .FullName )
368+ assert .EqualValues (t , 0 , payloads [0 ].PullRequest .Additions )
345369 })
346370}
347371
348372func Test_WebhookWiki (t * testing.T ) {
349- var payload api.WikiPayload
373+ var payloads [] api.WikiPayload
350374 var triggeredEvent string
351375 provider := newMockWebhookProvider (func (content string ) {
376+ var payload api.WikiPayload
352377 err := json .Unmarshal ([]byte (content ), & payload )
353378 assert .NoError (t , err )
379+ payloads = append (payloads , payload )
354380 triggeredEvent = "wiki"
355381 })
356382 defer provider .Close ()
@@ -366,19 +392,22 @@ func Test_WebhookWiki(t *testing.T) {
366392
367393 // 3. validate the webhook is triggered
368394 assert .EqualValues (t , "wiki" , triggeredEvent )
369- assert .EqualValues (t , "created" , payload .Action )
370- assert .EqualValues (t , "created" , payload .Repository .Name )
371- assert .EqualValues (t , "user2/repo1" , payload .Repository .FullName )
372- assert .EqualValues (t , "Test Wiki Page" , payload .Page )
395+ assert .Len (t , payloads , 1 )
396+ assert .EqualValues (t , "created" , payloads [0 ].Action )
397+ assert .EqualValues (t , "repo1" , payloads [0 ].Repository .Name )
398+ assert .EqualValues (t , "user2/repo1" , payloads [0 ].Repository .FullName )
399+ assert .EqualValues (t , "Test-Wiki-Page" , payloads [0 ].Page )
373400 })
374401}
375402
376403func Test_WebhookRepository (t * testing.T ) {
377- var payload api.RepositoryPayload
404+ var payloads [] api.RepositoryPayload
378405 var triggeredEvent string
379406 provider := newMockWebhookProvider (func (content string ) {
407+ var payload api.RepositoryPayload
380408 err := json .Unmarshal ([]byte (content ), & payload )
381409 assert .NoError (t , err )
410+ payloads = append (payloads , payload )
382411 triggeredEvent = "repository"
383412 })
384413 defer provider .Close ()
@@ -394,19 +423,22 @@ func Test_WebhookRepository(t *testing.T) {
394423
395424 // 3. validate the webhook is triggered
396425 assert .EqualValues (t , "repository" , triggeredEvent )
397- assert .EqualValues (t , "created" , payload .Action )
398- assert .EqualValues (t , "org3" , payload .Organization .UserName )
399- assert .EqualValues (t , "repo_new" , payload .Repository .Name )
400- assert .EqualValues (t , "org3/repo_new" , payload .Repository .FullName )
426+ assert .Len (t , payloads , 1 )
427+ assert .EqualValues (t , "created" , payloads [0 ].Action )
428+ assert .EqualValues (t , "org3" , payloads [0 ].Organization .UserName )
429+ assert .EqualValues (t , "repo_new" , payloads [0 ].Repository .Name )
430+ assert .EqualValues (t , "org3/repo_new" , payloads [0 ].Repository .FullName )
401431 })
402432}
403433
404434func Test_WebhookPackage (t * testing.T ) {
405- var payload api.PackagePayload
435+ var payloads [] api.PackagePayload
406436 var triggeredEvent string
407437 provider := newMockWebhookProvider (func (content string ) {
438+ var payload api.PackagePayload
408439 err := json .Unmarshal ([]byte (content ), & payload )
409440 assert .NoError (t , err )
441+ payloads = append (payloads , payload )
410442 triggeredEvent = "package"
411443 })
412444 defer provider .Close ()
@@ -426,10 +458,11 @@ func Test_WebhookPackage(t *testing.T) {
426458
427459 // 3. validate the webhook is triggered
428460 assert .EqualValues (t , "package" , triggeredEvent )
429- assert .EqualValues (t , "created" , payload .Action )
430- assert .EqualValues (t , "gitea" , payload .Package .Name )
431- assert .EqualValues (t , "generic" , payload .Package .Type )
432- assert .EqualValues (t , "org3" , payload .Organization .UserName )
433- assert .EqualValues (t , "v1.24.0" , payload .Package .Version )
461+ assert .Len (t , payloads , 1 )
462+ assert .EqualValues (t , "created" , payloads [0 ].Action )
463+ assert .EqualValues (t , "gitea" , payloads [0 ].Package .Name )
464+ assert .EqualValues (t , "generic" , payloads [0 ].Package .Type )
465+ assert .EqualValues (t , "org3" , payloads [0 ].Organization .UserName )
466+ assert .EqualValues (t , "v1.24.0" , payloads [0 ].Package .Version )
434467 })
435468}
0 commit comments