Skip to content

Commit 452edb1

Browse files
update integration test utilities to tage group id as argument
1 parent e6d952d commit 452edb1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+256
-243
lines changed

tests/integration/actions_approve_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func TestApproveAllRunsOnPullRequestPage(t *testing.T) {
3535

3636
apiBaseRepo := createActionsTestRepo(t, user2Token, "approve-all-runs", false)
3737
baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID})
38-
user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository)
38+
user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository)
3939
defer doAPIDeleteRepository(user2APICtx)(t)
4040

4141
runner := newMockRunner()
@@ -52,7 +52,7 @@ jobs:
5252
- run: echo unit-test
5353
`
5454
opts1 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent)
55-
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wf1TreePath, opts1)
55+
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wf1TreePath, opts1)
5656
wf2TreePath := ".gitea/workflows/pull_2.yml"
5757
wf2FileContent := `name: Pull 2
5858
on: pull_request
@@ -63,7 +63,7 @@ jobs:
6363
- run: echo integration-test
6464
`
6565
opts2 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create %s"+wf2TreePath, wf2FileContent)
66-
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wf2TreePath, opts2)
66+
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wf2TreePath, opts2)
6767

6868
// user4 forks the repo
6969
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks", baseRepo.OwnerName, baseRepo.Name),
@@ -74,7 +74,7 @@ jobs:
7474
var apiForkRepo api.Repository
7575
DecodeJSON(t, resp, &apiForkRepo)
7676
forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID})
77-
user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository)
77+
user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, forkRepo.GroupID, auth_model.AccessTokenScopeWriteRepository)
7878
defer doAPIDeleteRepository(user4APICtx)(t)
7979

8080
// user4 creates a pull request from branch "bugfix/user4"

tests/integration/actions_concurrency_test.go

Lines changed: 68 additions & 69 deletions
Large diffs are not rendered by default.

tests/integration/actions_delete_run_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ jobs:
119119
runner.registerAsRepoRunner(t, user2.Name, apiRepo.Name, "mock-runner", []string{"ubuntu-latest"}, false)
120120

121121
opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+testCase.treePath, testCase.fileContent)
122-
createWorkflowFile(t, token, user2.Name, apiRepo.Name, testCase.treePath, apiRepo.GroupID, opts)
122+
createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, testCase.treePath, opts)
123123

124124
runIndex := ""
125125
for i := 0; i < len(testCase.outcomes); i++ {

tests/integration/actions_inputs_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestWorkflowWithInputsContext(t *testing.T) {
2626

2727
apiRepo := createActionsTestRepo(t, token, "actions-inputs-context", false)
2828
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID})
29-
httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository)
29+
httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository)
3030
defer doAPIDeleteRepository(httpContext)(t)
3131

3232
wRunner := newMockRunner()
@@ -57,7 +57,7 @@ jobs:
5757
`
5858

5959
opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent)
60-
createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1)
60+
createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1)
6161

6262
// run the workflow with os=windows
6363
urlStr := fmt.Sprintf("/%s/%s/actions/run?workflow=%s", user2.Name, repo.Name, "test-inputs-context.yml")

tests/integration/actions_job_test.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ jobs:
141141
t.Run("test "+tc.treePath, func(t *testing.T) {
142142
// create the workflow file
143143
opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+tc.treePath, tc.fileContent)
144-
fileResp := createWorkflowFile(t, token, user2.Name, apiRepo.Name, tc.treePath, apiRepo.GroupID, opts)
144+
fileResp := createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, tc.treePath, opts)
145145

146146
// fetch and execute task
147147
for i := 0; i < len(tc.outcomes); i++ {
@@ -153,7 +153,11 @@ jobs:
153153
}
154154

155155
// check result
156-
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%d/%s/actions/tasks", user2.Name, apiRepo.GroupID, apiRepo.Name)).
156+
var groupSegment string
157+
if apiRepo.GroupID > 0 {
158+
groupSegment = fmt.Sprintf("%d/", apiRepo.GroupID)
159+
}
160+
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/actions/tasks", user2.Name, groupSegment, apiRepo.Name)).
157161
AddTokenAuth(token)
158162
resp := MakeRequest(t, req, http.StatusOK)
159163
var actionTaskRespAfter api.ActionTaskResponse
@@ -323,7 +327,7 @@ jobs:
323327
for _, tc := range testCases {
324328
t.Run("test "+tc.treePath, func(t *testing.T) {
325329
opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+tc.treePath, tc.fileContent)
326-
createWorkflowFile(t, token, user2.Name, apiRepo.Name, tc.treePath, apiRepo.GroupID, opts)
330+
createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, tc.treePath, opts)
327331

328332
for i := 0; i < len(tc.outcomes); i++ {
329333
task := runner.fetchTask(t)
@@ -373,7 +377,7 @@ jobs:
373377
- run: echo 'test the pull'
374378
`
375379
opts := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent)
376-
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, baseRepo.GroupID, opts)
380+
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts)
377381
// user2 creates a pull request
378382
doAPICreateFile(user2APICtx, "user2-patch.txt", &api.CreateFileOptions{
379383
FileOptions: api.FileOptions{
@@ -465,7 +469,7 @@ jobs:
465469
- run: echo 'test the pull'
466470
`
467471
opts := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent)
468-
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, baseRepo.GroupID, opts)
472+
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts)
469473
// user2 creates a pull request
470474
doAPICreateFile(user2APICtx, "user2-patch.txt", &api.CreateFileOptions{
471475
FileOptions: api.FileOptions{
@@ -617,8 +621,12 @@ func getWorkflowCreateFileOptions(u *user_model.User, branch, msg, content strin
617621
}
618622
}
619623

620-
func createWorkflowFile(t *testing.T, authToken, ownerName, repoName, treePath string, groupID int64, opts *api.CreateFileOptions) *api.FileResponse {
621-
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%d/%s/contents/%s", ownerName, groupID, repoName, treePath), opts).
624+
func createWorkflowFile(t *testing.T, authToken, ownerName, repoName string, groupID int64, treePath string, opts *api.CreateFileOptions) *api.FileResponse {
625+
var groupSegment string
626+
if groupID > 0 {
627+
groupSegment = fmt.Sprintf("%d/", groupID)
628+
}
629+
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", ownerName, groupSegment, repoName, treePath), opts).
622630
AddTokenAuth(authToken)
623631
resp := MakeRequest(t, req, http.StatusCreated)
624632
var fileResponse api.FileResponse

tests/integration/actions_job_token_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func testActionsJobTokenAccess(u *url.URL, isFork bool) func(t *testing.T) {
7878

7979
func TestActionsJobTokenAccessLFS(t *testing.T) {
8080
onGiteaRun(t, func(t *testing.T, u *url.URL) {
81-
httpContext := NewAPITestContext(t, "user2", "repo-lfs-test", auth_model.AccessTokenScopeWriteUser, auth_model.AccessTokenScopeWriteRepository)
81+
httpContext := NewAPITestContext(t, "user2", "repo-lfs-test", 0, auth_model.AccessTokenScopeWriteUser, auth_model.AccessTokenScopeWriteRepository)
8282
t.Run("Create Repository", doAPICreateRepository(httpContext, false, func(t *testing.T, repository structs.Repository) {
8383
task := &actions_model.ActionTask{}
8484
require.NoError(t, task.GenerateToken())

tests/integration/actions_log_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ jobs:
168168

169169
// create the workflow file
170170
opts := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+tc.treePath, tc.fileContent)
171-
createWorkflowFile(t, token, user2.Name, repo.Name, tc.treePath, repo.GroupID, opts)
171+
createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, tc.treePath, opts)
172172

173173
// fetch and execute tasks
174174
for jobIndex, outcome := range tc.outcome {
@@ -206,7 +206,11 @@ jobs:
206206
jobID := jobs[jobIndex].ID
207207

208208
// download task logs from API and check content
209-
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%d/%s/actions/jobs/%d/logs", user2.Name, repo.GroupID, repo.Name, jobID)).
209+
var groupSegment string
210+
if repo.GroupID > 0 {
211+
groupSegment = fmt.Sprintf("%d/", repo.GroupID)
212+
}
213+
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/actions/jobs/%d/logs", user2.Name, groupSegment, repo.Name, jobID)).
210214
AddTokenAuth(token)
211215
resp = MakeRequest(t, req, http.StatusOK)
212216
logTextLines = strings.Split(strings.TrimSpace(resp.Body.String()), "\n")

tests/integration/actions_rerun_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ func TestActionsRerun(t *testing.T) {
2525

2626
apiRepo := createActionsTestRepo(t, token, "actions-rerun", false)
2727
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID})
28-
httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository)
28+
httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository)
2929
defer doAPIDeleteRepository(httpContext)(t)
3030

3131
runner := newMockRunner()
3232
runner.registerAsRepoRunner(t, repo.OwnerName, repo.Name, "mock-runner", []string{"ubuntu-latest"}, false)
3333

3434
wfTreePath := ".gitea/workflows/actions-rerun-workflow-1.yml"
3535
wfFileContent := `name: actions-rerun-workflow-1
36-
on:
36+
on:
3737
push:
3838
paths:
3939
- '.gitea/workflows/actions-rerun-workflow-1.yml'
@@ -50,7 +50,7 @@ jobs:
5050
`
5151

5252
opts := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create"+wfTreePath, wfFileContent)
53-
createWorkflowFile(t, token, user2.Name, repo.Name, wfTreePath, opts)
53+
createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wfTreePath, opts)
5454

5555
// fetch and exec job1
5656
job1Task := runner.fetchTask(t)

tests/integration/actions_schedule_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
assert.NoError(t, err)
9090

9191
// merge pull request
92-
testPullMerge(t, testContext.Session, repo.OwnerName, repo.Name, strconv.FormatInt(apiPull.Index, 10), MergeOptions{
92+
testPullMerge(t, testContext.Session, repo.OwnerName, repo.Name, repo.GroupID, strconv.FormatInt(apiPull.Index, 10), MergeOptions{
9393
Style: mergeStyle,
9494
})
9595

@@ -165,7 +165,7 @@ func testScheduleUpdateMirrorSync(t *testing.T) {
165165
assert.True(t, mirrorRepo.IsMirror)
166166
mirrorRepo, err = repo_service.MigrateRepositoryGitData(t.Context(), user, mirrorRepo, opts, nil)
167167
assert.NoError(t, err)
168-
mirrorContext := NewAPITestContext(t, user.Name, mirrorRepo.Name, auth_model.AccessTokenScopeWriteRepository)
168+
mirrorContext := NewAPITestContext(t, user.Name, mirrorRepo.Name, mirrorRepo.GroupID, auth_model.AccessTokenScopeWriteRepository)
169169

170170
// enable actions unit for mirror repo
171171
assert.False(t, mirrorRepo.UnitEnabled(t.Context(), unit_model.TypeActions))
@@ -239,7 +239,7 @@ func doTestScheduleUpdate(t *testing.T, updateTrigger scheduleUpdateTrigger) {
239239
apiRepo := createActionsTestRepo(t, token, "actions-schedule", false)
240240
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID})
241241
assert.NoError(t, repo.LoadAttributes(t.Context()))
242-
httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository)
242+
httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository)
243243
defer doAPIDeleteRepository(httpContext)(t)
244244

245245
wfTreePath := ".gitea/workflows/actions-schedule.yml"
@@ -255,7 +255,7 @@ jobs:
255255
`
256256

257257
opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wfTreePath, wfFileContent)
258-
apiFileResp := createWorkflowFile(t, token, user2.Name, repo.Name, wfTreePath, opts1)
258+
apiFileResp := createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wfTreePath, opts1)
259259

260260
actionSchedule := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionSchedule{RepoID: repo.ID, CommitSHA: apiFileResp.Commit.SHA})
261261
scheduleSpec := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionScheduleSpec{RepoID: repo.ID, ScheduleID: actionSchedule.ID})

tests/integration/actions_trigger_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1400,7 +1400,7 @@ jobs:
14001400
- run: echo 'Hello World'
14011401
`
14021402
opts1 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent)
1403-
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, baseRepo.GroupID, opts1)
1403+
createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts1)
14041404

14051405
// user4 forks the repo
14061406
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%d/%s/forks", baseRepo.OwnerName, baseRepo.GroupID, baseRepo.Name),

0 commit comments

Comments
 (0)