1
+ // Copyright 2025 The Gitea Authors. All rights reserved.
2
+ // SPDX-License-Identifier: MIT
3
+
1
4
package integration
2
5
3
6
import (
@@ -33,6 +36,9 @@ func TestWorkflowConcurrency(t *testing.T) {
33
36
34
37
apiRepo := createActionsTestRepo (t , token , "actions-concurrency" , false )
35
38
repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiRepo .ID })
39
+ httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
40
+ defer doAPIDeleteRepository (httpContext )(t )
41
+
36
42
runner := newMockRunner ()
37
43
runner .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner" , []string {"ubuntu-latest" })
38
44
@@ -124,13 +130,10 @@ jobs:
124
130
runner .execTask (t , task , & mockTaskOutcome {
125
131
result : runnerv1 .Result_RESULT_SUCCESS ,
126
132
})
127
-
128
- httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
129
- doAPIDeleteRepository (httpContext )(t )
130
133
})
131
134
}
132
135
133
- func TestWorkflowConcurrency_WithPullRequest (t * testing.T ) {
136
+ func TestPullRequestWorkflowConcurrency (t * testing.T ) {
134
137
onGiteaRun (t , func (t * testing.T , u * url.URL ) {
135
138
// user2 is the owner of the base repo
136
139
user2 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 2 })
@@ -143,6 +146,7 @@ func TestWorkflowConcurrency_WithPullRequest(t *testing.T) {
143
146
apiBaseRepo := createActionsTestRepo (t , user2Token , "actions-concurrency" , false )
144
147
baseRepo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiBaseRepo .ID })
145
148
user2APICtx := NewAPITestContext (t , baseRepo .OwnerName , baseRepo .Name , auth_model .AccessTokenScopeWriteRepository )
149
+ defer doAPIDeleteRepository (user2APICtx )(t )
146
150
147
151
runner := newMockRunner ()
148
152
runner .registerAsRepoRunner (t , baseRepo .OwnerName , baseRepo .Name , "mock-runner" , []string {"ubuntu-latest" })
@@ -199,6 +203,7 @@ jobs:
199
203
DecodeJSON (t , resp , & apiForkRepo )
200
204
forkRepo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiForkRepo .ID })
201
205
user4APICtx := NewAPITestContext (t , user4 .Name , forkRepo .Name , auth_model .AccessTokenScopeWriteRepository )
206
+ defer doAPIDeleteRepository (user4APICtx )(t )
202
207
203
208
// user4 creates a pull request from branch "bugfix/bbb"
204
209
doAPICreateFile (user4APICtx , "user4-fix.txt" , & api.CreateFileOptions {
@@ -274,9 +279,6 @@ jobs:
274
279
assert .Equal (t , "pull-request-test" , pr3Run1 .ConcurrencyGroup )
275
280
assert .False (t , pr3Run1 .ConcurrencyCancel )
276
281
assert .Equal (t , actions_model .StatusRunning , pr3Run1 .Status )
277
-
278
- doAPIDeleteRepository (user4APICtx )(t )
279
- doAPIDeleteRepository (user2APICtx )(t )
280
282
})
281
283
}
282
284
@@ -288,6 +290,9 @@ func TestJobConcurrency(t *testing.T) {
288
290
289
291
apiRepo := createActionsTestRepo (t , token , "actions-concurrency" , false )
290
292
repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiRepo .ID })
293
+ httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
294
+ defer doAPIDeleteRepository (httpContext )(t )
295
+
291
296
runner1 := newMockRunner ()
292
297
runner1 .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner-1" , []string {"runner1" })
293
298
runner2 := newMockRunner ()
@@ -394,8 +399,6 @@ jobs:
394
399
_ , wf2Job2ActionJob , _ = getTaskAndJobAndRunByTaskID (t , wf2Job2Task .Id )
395
400
assert .Equal (t , actions_model .StatusCancelled , wf2Job2ActionJob .Status )
396
401
397
- httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
398
- doAPIDeleteRepository (httpContext )(t )
399
402
})
400
403
}
401
404
@@ -407,6 +410,9 @@ func TestWorkflowDispatchConcurrency(t *testing.T) {
407
410
408
411
apiRepo := createActionsTestRepo (t , token , "actions-concurrency" , false )
409
412
repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiRepo .ID })
413
+ httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
414
+ defer doAPIDeleteRepository (httpContext )(t )
415
+
410
416
runner := newMockRunner ()
411
417
runner .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner" , []string {"ubuntu-latest" })
412
418
@@ -487,9 +493,6 @@ jobs:
487
493
assert .Equal (t , "workflow-dispatch-v1.22" , run4 .ConcurrencyGroup )
488
494
_ , _ , run2 = getTaskAndJobAndRunByTaskID (t , task2 .Id )
489
495
assert .Equal (t , actions_model .StatusCancelled , run2 .Status )
490
-
491
- httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
492
- doAPIDeleteRepository (httpContext )(t )
493
496
})
494
497
}
495
498
@@ -503,6 +506,7 @@ func TestScheduleConcurrency(t *testing.T) {
503
506
repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiRepo .ID })
504
507
httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
505
508
defer doAPIDeleteRepository (httpContext )(t )
509
+
506
510
runner := newMockRunner ()
507
511
runner .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner" , []string {"ubuntu-latest" })
508
512
@@ -601,12 +605,14 @@ func TestWorkflowAndJobConcurrency(t *testing.T) {
601
605
602
606
apiRepo := createActionsTestRepo (t , token , "actions-concurrency" , false )
603
607
repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : apiRepo .ID })
608
+
609
+ httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
610
+ defer doAPIDeleteRepository (httpContext )(t )
611
+
604
612
runner1 := newMockRunner ()
605
613
runner1 .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner-1" , []string {"runner1" })
606
614
runner2 := newMockRunner ()
607
615
runner2 .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner-2" , []string {"runner2" })
608
- runner3 := newMockRunner ()
609
- runner3 .registerAsRepoRunner (t , user2 .Name , repo .Name , "mock-runner-3" , []string {"runner3" })
610
616
611
617
wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml"
612
618
wf1FileContent := `name: concurrent-workflow-1
@@ -759,9 +765,6 @@ jobs:
759
765
assert .Equal (t , "job-group-2" , w4j1Job .ConcurrencyGroup )
760
766
assert .Equal (t , "workflow-group-2" , w4Run .ConcurrencyGroup )
761
767
assert .Equal (t , "concurrent-workflow-4.yml" , w4Run .WorkflowID )
762
-
763
- httpContext := NewAPITestContext (t , user2 .Name , repo .Name , auth_model .AccessTokenScopeWriteRepository )
764
- doAPIDeleteRepository (httpContext )(t )
765
768
})
766
769
}
767
770
0 commit comments