mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-25 09:54:46 +02:00
Adress all review comments
This commit is contained in:
@@ -154,8 +154,26 @@ func testActionsTokenPermissionsMode(u *url.URL, mode string, expectReadOnly boo
|
||||
require.Equal(t, "user5", r.Owner.UserName)
|
||||
}))
|
||||
|
||||
// For now, both modes allow write since the mode setting needs to be persisted to the repo unit
|
||||
// This test validates the token permission infrastructure is working
|
||||
// Once mode is applied to repository settings, the expectReadOnly parameter will control behavior
|
||||
// Test Write Access
|
||||
context.ExpectedCode = util.Iif(expectReadOnly, http.StatusForbidden, http.StatusCreated)
|
||||
t.Run("API Create File", doAPICreateFile(context, "test-permissions.txt", &structs.CreateFileOptions{
|
||||
FileOptions: structs.FileOptions{
|
||||
NewBranchName: "new-branch-permissions",
|
||||
Message: "Create File",
|
||||
},
|
||||
ContentBase64: base64.StdEncoding.EncodeToString([]byte(`This is a test file for permissions.`)),
|
||||
}))
|
||||
|
||||
// Test Delete Access
|
||||
context.ExpectedCode = util.Iif(expectReadOnly, http.StatusForbidden, http.StatusNoContent)
|
||||
if !expectReadOnly {
|
||||
// Clean up created file if we had write access
|
||||
t.Run("API Delete File", doAPIDeleteFile(context, "test-permissions.txt", &structs.DeleteFileOptions{
|
||||
FileOptions: structs.FileOptions{
|
||||
BranchName: "new-branch-permissions",
|
||||
Message: "Delete File",
|
||||
},
|
||||
}))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,6 +374,24 @@ func doAPICreateFile(ctx APITestContext, treepath string, options *api.CreateFil
|
||||
}
|
||||
}
|
||||
|
||||
func doAPIDeleteFile(ctx APITestContext, treepath string, options *api.DeleteFileOptions, callback ...func(*testing.T, api.FileDeleteResponse)) func(*testing.T) {
|
||||
return func(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", ctx.Username, ctx.Reponame, treepath), &options).
|
||||
AddTokenAuth(ctx.Token)
|
||||
if ctx.ExpectedCode != 0 {
|
||||
ctx.Session.MakeRequest(t, req, ctx.ExpectedCode)
|
||||
return
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var contents api.FileDeleteResponse
|
||||
DecodeJSON(t, resp, &contents)
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, contents)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func doAPICreateOrganization(ctx APITestContext, options *api.CreateOrgOption, callback ...func(*testing.T, api.Organization)) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/orgs", &options).
|
||||
|
||||
Reference in New Issue
Block a user