mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-08 14:34:49 +09:00
Refactor integration test DecodeJSON calls to use generic return value (#37432)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -70,8 +70,7 @@ jobs:
|
||||
Name: new("approve-all-runs-fork"),
|
||||
}).AddTokenAuth(user4Token)
|
||||
resp := MakeRequest(t, req, http.StatusAccepted)
|
||||
var apiForkRepo api.Repository
|
||||
DecodeJSON(t, resp, &apiForkRepo)
|
||||
apiForkRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID})
|
||||
user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository)
|
||||
defer doAPIDeleteRepository(user4APICtx)(t)
|
||||
|
||||
@@ -425,8 +425,7 @@ jobs:
|
||||
Name: new("actions-concurrency-fork"),
|
||||
}).AddTokenAuth(user4Token)
|
||||
resp := MakeRequest(t, req, http.StatusAccepted)
|
||||
var apiForkRepo api.Repository
|
||||
DecodeJSON(t, resp, &apiForkRepo)
|
||||
apiForkRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID})
|
||||
user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository)
|
||||
defer doAPIDeleteRepository(user4APICtx)(t)
|
||||
|
||||
@@ -159,8 +159,7 @@ jobs:
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/actions/tasks", user2.Name, apiRepo.Name)).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var actionTaskRespAfter api.ActionTaskResponse
|
||||
DecodeJSON(t, resp, &actionTaskRespAfter)
|
||||
actionTaskRespAfter := DecodeJSON(t, resp, &api.ActionTaskResponse{})
|
||||
for _, apiTask := range actionTaskRespAfter.Entries {
|
||||
if apiTask.HeadSHA != fileResp.Commit.SHA {
|
||||
continue
|
||||
@@ -462,8 +461,7 @@ func getRepoRunnerID(t *testing.T, authToken, ownerName, repoName string) int64
|
||||
t.Helper()
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/actions/runners", ownerName, repoName)).AddTokenAuth(authToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
runnerList := api.ActionRunnersResponse{}
|
||||
DecodeJSON(t, resp, &runnerList)
|
||||
runnerList := DecodeJSON(t, resp, &api.ActionRunnersResponse{})
|
||||
require.Len(t, runnerList.Entries, 1)
|
||||
return runnerList.Entries[0].ID
|
||||
}
|
||||
@@ -709,9 +707,8 @@ func createActionsTestRepo(t *testing.T, authToken, repoName string, isPrivate b
|
||||
DefaultBranch: "main",
|
||||
}).AddTokenAuth(authToken)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiRepo api.Repository
|
||||
DecodeJSON(t, resp, &apiRepo)
|
||||
return &apiRepo
|
||||
apiRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
return apiRepo
|
||||
}
|
||||
|
||||
func getWorkflowCreateFileOptions(u *user_model.User, branch, msg, content string) *api.CreateFileOptions {
|
||||
@@ -740,9 +737,8 @@ func createWorkflowFile(t *testing.T, authToken, ownerName, repoName, treePath s
|
||||
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", ownerName, repoName, treePath), opts).
|
||||
AddTokenAuth(authToken)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
return &fileResponse
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
return fileResponse
|
||||
}
|
||||
|
||||
// getTaskJobNameByTaskID get the job name of the task by task ID
|
||||
@@ -752,8 +748,7 @@ func getTaskJobNameByTaskID(t *testing.T, authToken, ownerName, repoName string,
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/actions/tasks", ownerName, repoName)).
|
||||
AddTokenAuth(authToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var taskRespBefore api.ActionTaskResponse
|
||||
DecodeJSON(t, resp, &taskRespBefore)
|
||||
taskRespBefore := DecodeJSON(t, resp, &api.ActionTaskResponse{})
|
||||
for _, apiTask := range taskRespBefore.Entries {
|
||||
if apiTask.ID == taskID {
|
||||
return apiTask.Name
|
||||
|
||||
@@ -208,8 +208,7 @@ func TestActionsCrossRepoAccess(t *testing.T) {
|
||||
AutoInit: true,
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var repo structs.Repository
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo := DecodeJSON(t, resp, &structs.Repository{})
|
||||
return repo.ID
|
||||
}
|
||||
|
||||
|
||||
@@ -72,8 +72,7 @@ jobs:
|
||||
// run1 and job1 belong to repo1, success
|
||||
req = NewRequest(t, "POST", fmt.Sprintf("/%s/%s/actions/runs/%d/jobs/%d", user2.Name, repo1.Name, run1.ID, job1.ID))
|
||||
resp := user2Session.MakeRequest(t, req, http.StatusOK)
|
||||
var viewResp actions_web.ViewResponse
|
||||
DecodeJSON(t, resp, &viewResp)
|
||||
viewResp := DecodeJSON(t, resp, &actions_web.ViewResponse{})
|
||||
assert.Len(t, viewResp.State.Run.Jobs, 1)
|
||||
assert.Equal(t, job1.ID, viewResp.State.Run.Jobs[0].ID)
|
||||
|
||||
|
||||
@@ -86,10 +86,9 @@ func (r *mockRunner) registerAsRepoRunner(t *testing.T, ownerName, repoName, run
|
||||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
|
||||
req := NewRequest(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/actions/runners/registration-token", ownerName, repoName)).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var registrationToken struct {
|
||||
registrationToken := DecodeJSON(t, resp, &struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
DecodeJSON(t, resp, ®istrationToken)
|
||||
}{})
|
||||
r.doRegister(t, runnerName, registrationToken.Token, labels, ephemeral)
|
||||
}
|
||||
|
||||
|
||||
@@ -1568,8 +1568,7 @@ jobs:
|
||||
Name: new("close-pull-request-with-path-fork"),
|
||||
}).AddTokenAuth(user4Token)
|
||||
resp := MakeRequest(t, req, http.StatusAccepted)
|
||||
var apiForkRepo api.Repository
|
||||
DecodeJSON(t, resp, &apiForkRepo)
|
||||
apiForkRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID})
|
||||
user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository)
|
||||
|
||||
|
||||
@@ -53,8 +53,7 @@ func TestActionsArtifactUploadSingleFile(t *testing.T) {
|
||||
Name: "artifact",
|
||||
}).AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var uploadResp uploadArtifactResponse
|
||||
DecodeJSON(t, resp, &uploadResp)
|
||||
uploadResp := DecodeJSON(t, resp, &uploadArtifactResponse{})
|
||||
assert.Contains(t, uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts")
|
||||
|
||||
// get upload url
|
||||
@@ -134,8 +133,7 @@ func TestActionsArtifactDownload(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts").
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var listResp listArtifactsResponse
|
||||
DecodeJSON(t, resp, &listResp)
|
||||
listResp := DecodeJSON(t, resp, &listArtifactsResponse{})
|
||||
assert.Equal(t, int64(2), listResp.Count)
|
||||
|
||||
// Return list might be in any order. Get one file.
|
||||
@@ -155,8 +153,7 @@ func TestActionsArtifactDownload(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var downloadResp downloadArtifactResponse
|
||||
DecodeJSON(t, resp, &downloadResp)
|
||||
downloadResp := DecodeJSON(t, resp, &downloadArtifactResponse{})
|
||||
assert.Len(t, downloadResp.Value, 1)
|
||||
assert.Equal(t, "artifact-download/abc.txt", downloadResp.Value[0].Path)
|
||||
assert.Equal(t, "file", downloadResp.Value[0].ItemType)
|
||||
@@ -183,8 +180,7 @@ func TestActionsArtifactUploadMultipleFile(t *testing.T) {
|
||||
Name: testArtifactName,
|
||||
}).AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var uploadResp uploadArtifactResponse
|
||||
DecodeJSON(t, resp, &uploadResp)
|
||||
uploadResp := DecodeJSON(t, resp, &uploadArtifactResponse{})
|
||||
assert.Contains(t, uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts")
|
||||
|
||||
type uploadingFile struct {
|
||||
@@ -236,8 +232,7 @@ func TestActionsArtifactDownloadMultiFiles(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts").
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var listResp listArtifactsResponse
|
||||
DecodeJSON(t, resp, &listResp)
|
||||
listResp := DecodeJSON(t, resp, &listArtifactsResponse{})
|
||||
assert.Equal(t, int64(2), listResp.Count)
|
||||
|
||||
var fileContainerResourceURL string
|
||||
@@ -254,8 +249,7 @@ func TestActionsArtifactDownloadMultiFiles(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var downloadResp downloadArtifactResponse
|
||||
DecodeJSON(t, resp, &downloadResp)
|
||||
downloadResp := DecodeJSON(t, resp, &downloadArtifactResponse{})
|
||||
assert.Len(t, downloadResp.Value, 2)
|
||||
|
||||
downloads := [][]string{{"multi-file-download/abc.txt", "B"}, {"multi-file-download/xyz/def.txt", "C"}}
|
||||
@@ -293,8 +287,7 @@ func TestActionsArtifactUploadWithRetentionDays(t *testing.T) {
|
||||
RetentionDays: 9,
|
||||
}).AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var uploadResp uploadArtifactResponse
|
||||
DecodeJSON(t, resp, &uploadResp)
|
||||
uploadResp := DecodeJSON(t, resp, &uploadArtifactResponse{})
|
||||
assert.Contains(t, uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts")
|
||||
assert.Contains(t, uploadResp.FileContainerResourceURL, "?retentionDays=9")
|
||||
|
||||
@@ -327,16 +320,14 @@ func TestActionsArtifactOverwrite(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts").
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var listResp listArtifactsResponse
|
||||
DecodeJSON(t, resp, &listResp)
|
||||
listResp := DecodeJSON(t, resp, &listArtifactsResponse{})
|
||||
|
||||
idx := strings.Index(listResp.Value[0].FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/")
|
||||
url := listResp.Value[0].FileContainerResourceURL[idx+1:] + "?itemPath=artifact-download"
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var downloadResp downloadArtifactResponse
|
||||
DecodeJSON(t, resp, &downloadResp)
|
||||
downloadResp := DecodeJSON(t, resp, &downloadArtifactResponse{})
|
||||
|
||||
idx = strings.Index(downloadResp.Value[0].ContentLocation, "/api/actions_pipeline/_apis/pipelines/")
|
||||
url = downloadResp.Value[0].ContentLocation[idx:]
|
||||
@@ -354,8 +345,7 @@ func TestActionsArtifactOverwrite(t *testing.T) {
|
||||
Name: "artifact-download",
|
||||
}).AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var uploadResp uploadArtifactResponse
|
||||
DecodeJSON(t, resp, &uploadResp)
|
||||
uploadResp := DecodeJSON(t, resp, &uploadArtifactResponse{})
|
||||
|
||||
idx := strings.Index(uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/")
|
||||
url := uploadResp.FileContainerResourceURL[idx:] + "?itemPath=artifact-download/abc.txt"
|
||||
@@ -378,8 +368,7 @@ func TestActionsArtifactOverwrite(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts").
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var listResp listArtifactsResponse
|
||||
DecodeJSON(t, resp, &listResp)
|
||||
listResp := DecodeJSON(t, resp, &listArtifactsResponse{})
|
||||
|
||||
var uploadedItem listArtifactsResponseItem
|
||||
for _, item := range listResp.Value {
|
||||
@@ -395,8 +384,7 @@ func TestActionsArtifactOverwrite(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var downloadResp downloadArtifactResponse
|
||||
DecodeJSON(t, resp, &downloadResp)
|
||||
downloadResp := DecodeJSON(t, resp, &downloadArtifactResponse{})
|
||||
|
||||
idx = strings.Index(downloadResp.Value[0].ContentLocation, "/api/actions_pipeline/_apis/pipelines/")
|
||||
url = downloadResp.Value[0].ContentLocation[idx:]
|
||||
@@ -502,8 +490,7 @@ func uploadTestArtifactFile(t *testing.T, runID int64, authToken, artifactName,
|
||||
Name: artifactName,
|
||||
}).AddTokenAuth(authToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var uploadResp uploadArtifactResponse
|
||||
DecodeJSON(t, resp, &uploadResp)
|
||||
uploadResp := DecodeJSON(t, resp, &uploadArtifactResponse{})
|
||||
|
||||
idx := strings.Index(uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/")
|
||||
uploadURL := uploadResp.FileContainerResourceURL[idx:] + "?itemPath=" + artifactName + "/" + fileName
|
||||
@@ -527,8 +514,7 @@ func listArtifactNamesForRun(t *testing.T, runID int64, taskToken string) []stri
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/actions_pipeline/_apis/pipelines/workflows/%d/artifacts", runID)).
|
||||
AddTokenAuth(taskToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var listResp listArtifactsResponse
|
||||
DecodeJSON(t, resp, &listResp)
|
||||
listResp := DecodeJSON(t, resp, &listArtifactsResponse{})
|
||||
|
||||
names := make([]string, 0, len(listResp.Value))
|
||||
for _, item := range listResp.Value {
|
||||
|
||||
@@ -20,8 +20,7 @@ func testActionUserSignIn(t *testing.T) {
|
||||
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var u api.User
|
||||
DecodeJSON(t, resp, &u)
|
||||
u := DecodeJSON(t, resp, &api.User{})
|
||||
assert.Equal(t, "gitea-actions", u.UserName)
|
||||
}
|
||||
|
||||
|
||||
@@ -36,16 +36,14 @@ func testActionsRunnerAdmin(t *testing.T) {
|
||||
token := getUserToken(t, adminUsername, auth_model.AccessTokenScopeWriteAdmin)
|
||||
req := NewRequest(t, "POST", "/api/v1/admin/actions/runners/registration-token").AddTokenAuth(token)
|
||||
tokenResp := MakeRequest(t, req, http.StatusOK)
|
||||
var registrationToken struct {
|
||||
registrationToken := DecodeJSON(t, tokenResp, &struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
DecodeJSON(t, tokenResp, ®istrationToken)
|
||||
}{})
|
||||
assert.NotEmpty(t, registrationToken.Token)
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/admin/actions/runners").AddTokenAuth(token)
|
||||
runnerListResp := MakeRequest(t, req, http.StatusOK)
|
||||
runnerList := api.ActionRunnersResponse{}
|
||||
DecodeJSON(t, runnerListResp, &runnerList)
|
||||
runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{})
|
||||
|
||||
idx := slices.IndexFunc(runnerList.Entries, func(e *api.ActionRunner) bool { return e.ID == 34349 })
|
||||
require.NotEqual(t, -1, idx)
|
||||
@@ -63,8 +61,7 @@ func testActionsRunnerAdmin(t *testing.T) {
|
||||
MakeRequest(t, req, http.StatusOK)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/admin/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
disabledRunner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &disabledRunner)
|
||||
disabledRunner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
assert.True(t, disabledRunner.Disabled)
|
||||
|
||||
req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/admin/actions/runners/%d", expectedRunner.ID), false).AddTokenAuth(token)
|
||||
@@ -78,8 +75,7 @@ func testActionsRunnerAdmin(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/admin/actions/runners/%d", runnerEntry.ID)).AddTokenAuth(token)
|
||||
runnerResp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, runnerEntry.Name, runner.Name)
|
||||
assert.Equal(t, runnerEntry.ID, runner.ID)
|
||||
@@ -102,16 +98,14 @@ func testActionsRunnerUser(t *testing.T) {
|
||||
token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteUser)
|
||||
req := NewRequest(t, "POST", "/api/v1/user/actions/runners/registration-token").AddTokenAuth(token)
|
||||
tokenResp := MakeRequest(t, req, http.StatusOK)
|
||||
var registrationToken struct {
|
||||
registrationToken := DecodeJSON(t, tokenResp, &struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
DecodeJSON(t, tokenResp, ®istrationToken)
|
||||
}{})
|
||||
assert.NotEmpty(t, registrationToken.Token)
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/user/actions/runners").AddTokenAuth(token)
|
||||
runnerListResp := MakeRequest(t, req, http.StatusOK)
|
||||
runnerList := api.ActionRunnersResponse{}
|
||||
DecodeJSON(t, runnerListResp, &runnerList)
|
||||
runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{})
|
||||
|
||||
assert.Len(t, runnerList.Entries, 1)
|
||||
assert.Equal(t, "runner_to_be_deleted-user", runnerList.Entries[0].Name)
|
||||
@@ -126,8 +120,7 @@ func testActionsRunnerUser(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, "runner_to_be_deleted-user", runner.Name)
|
||||
assert.Equal(t, int64(34346), runner.ID)
|
||||
@@ -143,7 +136,7 @@ func testActionsRunnerUser(t *testing.T) {
|
||||
MakeRequest(t, req, http.StatusOK)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token)
|
||||
runnerResp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner = DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
assert.True(t, runner.Disabled)
|
||||
|
||||
req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID), false).AddTokenAuth(token)
|
||||
@@ -170,8 +163,7 @@ func testActionsRunnerOwner(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", 34347)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, "runner_to_be_deleted-org", runner.Name)
|
||||
assert.Equal(t, int64(34347), runner.ID)
|
||||
@@ -187,16 +179,14 @@ func testActionsRunnerOwner(t *testing.T) {
|
||||
token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteOrganization)
|
||||
req := NewRequest(t, "POST", "/api/v1/orgs/org3/actions/runners/registration-token").AddTokenAuth(token)
|
||||
tokenResp := MakeRequest(t, req, http.StatusOK)
|
||||
var registrationToken struct {
|
||||
registrationToken := DecodeJSON(t, tokenResp, &struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
DecodeJSON(t, tokenResp, ®istrationToken)
|
||||
}{})
|
||||
assert.NotEmpty(t, registrationToken.Token)
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/orgs/org3/actions/runners").AddTokenAuth(token)
|
||||
runnerListResp := MakeRequest(t, req, http.StatusOK)
|
||||
runnerList := api.ActionRunnersResponse{}
|
||||
DecodeJSON(t, runnerListResp, &runnerList)
|
||||
runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{})
|
||||
|
||||
idx := slices.IndexFunc(runnerList.Entries, func(e *api.ActionRunner) bool { return e.ID == 34347 })
|
||||
require.NotEqual(t, -1, idx)
|
||||
@@ -215,8 +205,7 @@ func testActionsRunnerOwner(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, "runner_to_be_deleted-org", runner.Name)
|
||||
assert.Equal(t, int64(34347), runner.ID)
|
||||
@@ -232,7 +221,7 @@ func testActionsRunnerOwner(t *testing.T) {
|
||||
MakeRequest(t, req, http.StatusOK)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token)
|
||||
runnerResp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner = DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
assert.True(t, runner.Disabled)
|
||||
|
||||
req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID), false).AddTokenAuth(token)
|
||||
@@ -311,8 +300,7 @@ func testActionsRunnerRepo(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", 34348)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, "runner_to_be_deleted-repo1", runner.Name)
|
||||
assert.Equal(t, int64(34348), runner.ID)
|
||||
@@ -328,16 +316,14 @@ func testActionsRunnerRepo(t *testing.T) {
|
||||
token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteRepository)
|
||||
req := NewRequest(t, "POST", "/api/v1/repos/user2/repo1/actions/runners/registration-token").AddTokenAuth(token)
|
||||
tokenResp := MakeRequest(t, req, http.StatusOK)
|
||||
var registrationToken struct {
|
||||
registrationToken := DecodeJSON(t, tokenResp, &struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
DecodeJSON(t, tokenResp, ®istrationToken)
|
||||
}{})
|
||||
assert.NotEmpty(t, registrationToken.Token)
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/actions/runners").AddTokenAuth(token)
|
||||
runnerListResp := MakeRequest(t, req, http.StatusOK)
|
||||
runnerList := api.ActionRunnersResponse{}
|
||||
DecodeJSON(t, runnerListResp, &runnerList)
|
||||
runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{})
|
||||
|
||||
assert.Len(t, runnerList.Entries, 1)
|
||||
assert.Equal(t, "runner_to_be_deleted-repo1", runnerList.Entries[0].Name)
|
||||
@@ -352,8 +338,7 @@ func testActionsRunnerRepo(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token)
|
||||
runnerResp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
runner := api.ActionRunner{}
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner := DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
|
||||
assert.Equal(t, "runner_to_be_deleted-repo1", runner.Name)
|
||||
assert.Equal(t, int64(34348), runner.ID)
|
||||
@@ -369,7 +354,7 @@ func testActionsRunnerRepo(t *testing.T) {
|
||||
MakeRequest(t, req, http.StatusOK)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token)
|
||||
runnerResp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, runnerResp, &runner)
|
||||
runner = DecodeJSON(t, runnerResp, &api.ActionRunner{})
|
||||
assert.True(t, runner.Disabled)
|
||||
|
||||
req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID), false).AddTokenAuth(token)
|
||||
|
||||
@@ -36,8 +36,7 @@ func TestAPIAdminOrgCreate(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var apiOrg api.Organization
|
||||
DecodeJSON(t, resp, &apiOrg)
|
||||
apiOrg := DecodeJSON(t, resp, &api.Organization{})
|
||||
|
||||
assert.Equal(t, org.UserName, apiOrg.Name)
|
||||
assert.Equal(t, org.FullName, apiOrg.FullName)
|
||||
|
||||
@@ -36,8 +36,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newPublicKey api.PublicKey
|
||||
DecodeJSON(t, resp, &newPublicKey)
|
||||
newPublicKey := DecodeJSON(t, resp, &api.PublicKey{})
|
||||
unittest.AssertExistsAndLoadBean(t, &asymkey_model.PublicKey{
|
||||
ID: newPublicKey.ID,
|
||||
Name: newPublicKey.Title,
|
||||
@@ -73,8 +72,7 @@ func TestAPIAdminDeleteUnauthorizedKey(t *testing.T) {
|
||||
"title": "test-key",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var newPublicKey api.PublicKey
|
||||
DecodeJSON(t, resp, &newPublicKey)
|
||||
newPublicKey := DecodeJSON(t, resp, &api.PublicKey{})
|
||||
|
||||
token = getUserToken(t, normalUsername, auth_model.AccessTokenScopeAll)
|
||||
req = NewRequestf(t, "DELETE", "/api/v1/admin/users/%s/keys/%d", adminUsername, newPublicKey.ID).
|
||||
@@ -91,8 +89,7 @@ func TestAPISudoUser(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/user?sudo="+normalUsername).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var user api.User
|
||||
DecodeJSON(t, resp, &user)
|
||||
user := DecodeJSON(t, resp, &api.User{})
|
||||
|
||||
assert.Equal(t, normalUsername, user.UserName)
|
||||
}
|
||||
@@ -116,8 +113,7 @@ func TestAPIListUsers(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/admin/users").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
|
||||
found := false
|
||||
for _, user := range users {
|
||||
@@ -306,8 +302,7 @@ func TestAPICron(t *testing.T) {
|
||||
|
||||
assert.Equal(t, "29", resp.Header().Get("X-Total-Count"))
|
||||
|
||||
var crons []api.Cron
|
||||
DecodeJSON(t, resp, &crons)
|
||||
crons := DecodeJSON(t, resp, []api.Cron{})
|
||||
assert.Len(t, crons, 29)
|
||||
})
|
||||
|
||||
@@ -328,8 +323,7 @@ func TestAPICron(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var crons []api.Cron
|
||||
DecodeJSON(t, resp, &crons)
|
||||
crons := DecodeJSON(t, resp, []api.Cron{})
|
||||
|
||||
for _, cron := range crons {
|
||||
if cron.Name == "archive_cleanup" {
|
||||
|
||||
@@ -30,8 +30,7 @@ func testAPIGetBranch(t *testing.T, branchName string, exists bool) {
|
||||
return
|
||||
}
|
||||
assert.Equal(t, http.StatusOK, resp.Code)
|
||||
var branch api.Branch
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
assert.Equal(t, branchName, branch.Name)
|
||||
assert.True(t, branch.UserCanPush)
|
||||
assert.True(t, branch.UserCanMerge)
|
||||
@@ -44,10 +43,9 @@ func testAPIGetBranchProtection(t *testing.T, branchName string, expectedHTTPSta
|
||||
resp := MakeRequest(t, req, expectedHTTPStatus)
|
||||
|
||||
if resp.Code == http.StatusOK {
|
||||
var branchProtection api.BranchProtection
|
||||
DecodeJSON(t, resp, &branchProtection)
|
||||
branchProtection := DecodeJSON(t, resp, &api.BranchProtection{})
|
||||
assert.Equal(t, branchName, branchProtection.RuleName)
|
||||
return &branchProtection
|
||||
return branchProtection
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -60,8 +58,7 @@ func testAPICreateBranchProtection(t *testing.T, branchName string, expectedPrio
|
||||
resp := MakeRequest(t, req, expectedHTTPStatus)
|
||||
|
||||
if resp.Code == http.StatusCreated {
|
||||
var branchProtection api.BranchProtection
|
||||
DecodeJSON(t, resp, &branchProtection)
|
||||
branchProtection := DecodeJSON(t, resp, &api.BranchProtection{})
|
||||
assert.Equal(t, branchName, branchProtection.RuleName)
|
||||
assert.EqualValues(t, expectedPriority, branchProtection.Priority)
|
||||
}
|
||||
@@ -74,8 +71,7 @@ func testAPIEditBranchProtection(t *testing.T, branchName string, body *api.Bran
|
||||
resp := MakeRequest(t, req, expectedHTTPStatus)
|
||||
|
||||
if resp.Code == http.StatusOK {
|
||||
var branchProtection api.BranchProtection
|
||||
DecodeJSON(t, resp, &branchProtection)
|
||||
branchProtection := DecodeJSON(t, resp, &api.BranchProtection{})
|
||||
assert.Equal(t, branchName, branchProtection.RuleName)
|
||||
}
|
||||
}
|
||||
@@ -179,8 +175,7 @@ func testAPICreateBranch(t testing.TB, session *TestSession, user, repo, oldBran
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, status)
|
||||
|
||||
var branch api.Branch
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
|
||||
if resp.Result().StatusCode == http.StatusCreated {
|
||||
assert.Equal(t, newBranch, branch.Name)
|
||||
|
||||
@@ -50,8 +50,7 @@ func TestAPIGetCommentAttachment(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiAttachment api.Attachment
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
|
||||
expect := convert.ToAPIAttachment(repo, attachment)
|
||||
assert.Equal(t, expect.ID, apiAttachment.ID)
|
||||
@@ -75,8 +74,7 @@ func TestAPIListCommentAttachments(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiAttachments []*api.Attachment
|
||||
DecodeJSON(t, resp, &apiAttachments)
|
||||
apiAttachments := DecodeJSON(t, resp, []*api.Attachment{})
|
||||
expectedCount := unittest.GetCount(t, &repo_model.Attachment{CommentID: comment.ID})
|
||||
assert.Len(t, apiAttachments, expectedCount)
|
||||
|
||||
@@ -110,9 +108,7 @@ func TestAPICreateCommentAttachment(t *testing.T) {
|
||||
SetHeader("Content-Type", writer.FormDataContentType())
|
||||
resp := session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
apiAttachment := new(api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment.ID, CommentID: comment.ID})
|
||||
}
|
||||
|
||||
@@ -163,9 +159,7 @@ func TestAPIEditCommentAttachment(t *testing.T) {
|
||||
"name": newAttachmentName,
|
||||
}).AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusCreated)
|
||||
apiAttachment := new(api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment.ID, CommentID: comment.ID, Name: apiAttachment.Name})
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,7 @@ func TestAPIListRepoComments(t *testing.T) {
|
||||
req := NewRequest(t, "GET", link.String())
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiComments []*api.Comment
|
||||
DecodeJSON(t, resp, &apiComments)
|
||||
apiComments := DecodeJSON(t, resp, []*api.Comment{})
|
||||
assert.Len(t, apiComments, 2)
|
||||
for _, apiComment := range apiComments {
|
||||
c := &issues_model.Comment{ID: apiComment.ID}
|
||||
@@ -52,7 +51,7 @@ func TestAPIListRepoComments(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiComments)
|
||||
apiComments = DecodeJSON(t, resp, []*api.Comment{})
|
||||
assert.Len(t, apiComments, 1)
|
||||
assert.EqualValues(t, 2, apiComments[0].ID)
|
||||
|
||||
@@ -61,7 +60,7 @@ func TestAPIListRepoComments(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiComments)
|
||||
apiComments = DecodeJSON(t, resp, []*api.Comment{})
|
||||
assert.Len(t, apiComments, 1)
|
||||
assert.EqualValues(t, 3, apiComments[0].ID)
|
||||
}
|
||||
@@ -80,8 +79,7 @@ func TestAPIListIssueComments(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var comments []*api.Comment
|
||||
DecodeJSON(t, resp, &comments)
|
||||
comments := DecodeJSON(t, resp, []*api.Comment{})
|
||||
expectedCount := unittest.GetCount(t, &issues_model.Comment{IssueID: issue.ID},
|
||||
unittest.Cond("type = ?", issues_model.CommentTypeComment))
|
||||
assert.Len(t, comments, expectedCount)
|
||||
@@ -103,8 +101,7 @@ func TestAPICreateComment(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var updatedComment api.Comment
|
||||
DecodeJSON(t, resp, &updatedComment)
|
||||
updatedComment := DecodeJSON(t, resp, &api.Comment{})
|
||||
assert.Equal(t, commentBody, updatedComment.Body)
|
||||
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: updatedComment.ID, IssueID: issue.ID, Content: commentBody})
|
||||
|
||||
@@ -150,8 +147,7 @@ func TestAPIGetComment(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiComment api.Comment
|
||||
DecodeJSON(t, resp, &apiComment)
|
||||
apiComment := DecodeJSON(t, resp, &api.Comment{})
|
||||
|
||||
assert.NoError(t, comment.LoadPoster(t.Context()))
|
||||
expect := convert.ToAPIComment(t.Context(), repo, comment)
|
||||
@@ -186,8 +182,7 @@ func TestAPIGetSystemUserComment(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiComment api.Comment
|
||||
DecodeJSON(t, resp, &apiComment)
|
||||
apiComment := DecodeJSON(t, resp, &api.Comment{})
|
||||
|
||||
if assert.NotNil(t, apiComment.Poster) {
|
||||
if assert.Equal(t, systemUser.ID, apiComment.Poster.ID) {
|
||||
@@ -230,8 +225,7 @@ func TestAPIEditComment(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var updatedComment api.Comment
|
||||
DecodeJSON(t, resp, &updatedComment)
|
||||
updatedComment := DecodeJSON(t, resp, &api.Comment{})
|
||||
assert.Equal(t, comment.ID, updatedComment.ID)
|
||||
assert.Equal(t, newCommentBody, updatedComment.Body)
|
||||
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID, IssueID: issue.ID, Content: newCommentBody})
|
||||
@@ -278,8 +272,7 @@ func TestAPIListIssueTimeline(t *testing.T) {
|
||||
|
||||
// check if lens of list returned by API and
|
||||
// lists extracted directly from DB are the same
|
||||
var comments []*api.TimelineComment
|
||||
DecodeJSON(t, resp, &comments)
|
||||
comments := DecodeJSON(t, resp, []*api.TimelineComment{})
|
||||
expectedCount := unittest.GetCount(t, &issues_model.Comment{IssueID: issue.ID})
|
||||
assert.Len(t, comments, expectedCount)
|
||||
}
|
||||
|
||||
@@ -22,8 +22,7 @@ func TestAPIListGitignoresTemplates(t *testing.T) {
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
// This tests if the API returns a list of strings
|
||||
var gitignoreList []string
|
||||
DecodeJSON(t, resp, &gitignoreList)
|
||||
DecodeJSON(t, resp, []string{})
|
||||
}
|
||||
|
||||
func TestAPIGetGitignoreTemplateInfo(t *testing.T) {
|
||||
@@ -41,8 +40,7 @@ func TestAPIGetGitignoreTemplateInfo(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var templateInfo api.GitignoreTemplateInfo
|
||||
DecodeJSON(t, resp, &templateInfo)
|
||||
templateInfo := DecodeJSON(t, resp, &api.GitignoreTemplateInfo{})
|
||||
|
||||
// We get the text of the template here
|
||||
text, _ := options.Gitignore(templateName)
|
||||
|
||||
@@ -77,12 +77,10 @@ func TestGPGKeys(t *testing.T) {
|
||||
|
||||
// Check state after basic add
|
||||
t.Run("CheckState", func(t *testing.T) {
|
||||
var keys []*api.GPGKey
|
||||
|
||||
req := NewRequest(t, "GET", "/api/v1/user/gpg_keys"). // GET all keys
|
||||
AddTokenAuth(tokenWithGPGKeyScope)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &keys)
|
||||
keys := DecodeJSON(t, resp, []*api.GPGKey{})
|
||||
assert.Len(t, keys, 1)
|
||||
|
||||
primaryKey1 := keys[0] // Primary key 1
|
||||
@@ -95,11 +93,10 @@ func TestGPGKeys(t *testing.T) {
|
||||
assert.Equal(t, "70D7C694D17D03AD", subKey.KeyID)
|
||||
assert.Empty(t, subKey.Emails)
|
||||
|
||||
var key api.GPGKey
|
||||
req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(primaryKey1.ID, 10)). // Primary key 1
|
||||
AddTokenAuth(tokenWithGPGKeyScope)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &key)
|
||||
key := DecodeJSON(t, resp, &api.GPGKey{})
|
||||
assert.Equal(t, "38EA3BCED732982C", key.KeyID)
|
||||
assert.Len(t, key.Emails, 1)
|
||||
assert.Equal(t, "user2@example.com", key.Emails[0].Email)
|
||||
@@ -108,7 +105,7 @@ func TestGPGKeys(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(subKey.ID, 10)). // Subkey of 38EA3BCED732982C
|
||||
AddTokenAuth(tokenWithGPGKeyScope)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &key)
|
||||
key = DecodeJSON(t, resp, &api.GPGKey{})
|
||||
assert.Equal(t, "70D7C694D17D03AD", key.KeyID)
|
||||
assert.Empty(t, key.Emails)
|
||||
})
|
||||
@@ -116,29 +113,26 @@ func TestGPGKeys(t *testing.T) {
|
||||
// Check state after basic add
|
||||
t.Run("CheckCommits", func(t *testing.T) {
|
||||
t.Run("NotSigned", func(t *testing.T) {
|
||||
var branch api.Branch
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo16/branches/not-signed").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
assert.False(t, branch.Commit.Verification.Verified)
|
||||
})
|
||||
|
||||
t.Run("SignedWithNotValidatedEmail", func(t *testing.T) {
|
||||
var branch api.Branch
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo16/branches/good-sign-not-yet-validated").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
assert.False(t, branch.Commit.Verification.Verified)
|
||||
})
|
||||
|
||||
t.Run("SignedWithValidEmail", func(t *testing.T) {
|
||||
var branch api.Branch
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo16/branches/good-sign").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
assert.True(t, branch.Commit.Verification.Verified)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -70,10 +70,9 @@ func doAPICreateRepository(ctx APITestContext, empty bool, callback ...func(*tes
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var repository api.Repository
|
||||
DecodeJSON(t, resp, &repository)
|
||||
repository := DecodeJSON(t, resp, &api.Repository{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, repository)
|
||||
callback[0](t, *repository)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,10 +87,9 @@ func doAPIEditRepository(ctx APITestContext, editRepoOption *api.EditRepoOption,
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repository api.Repository
|
||||
DecodeJSON(t, resp, &repository)
|
||||
repository := DecodeJSON(t, resp, &api.Repository{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, repository)
|
||||
callback[0](t, *repository)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,10 +126,9 @@ func doAPIForkRepository(ctx APITestContext, username string, callback ...func(*
|
||||
return
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusAccepted)
|
||||
var repository api.Repository
|
||||
DecodeJSON(t, resp, &repository)
|
||||
repository := DecodeJSON(t, resp, &api.Repository{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, repository)
|
||||
callback[0](t, *repository)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -146,10 +143,9 @@ func doAPIGetRepository(ctx APITestContext, callback ...func(*testing.T, api.Rep
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repository api.Repository
|
||||
DecodeJSON(t, resp, &repository)
|
||||
repository := DecodeJSON(t, resp, &api.Repository{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, repository)
|
||||
callback[0](t, *repository)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -179,10 +175,9 @@ func doAPICreateUserKey(ctx APITestContext, keyname, keyFile string, callback ..
|
||||
return
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
var publicKey api.PublicKey
|
||||
DecodeJSON(t, resp, &publicKey)
|
||||
publicKey := DecodeJSON(t, resp, &api.PublicKey{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, publicKey)
|
||||
callback[0](t, *publicKey)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,8 +269,7 @@ func doAPIMergePullRequest(ctx APITestContext, owner, repo string, index int64)
|
||||
if resp.Code != http.StatusMethodNotAllowed {
|
||||
break
|
||||
}
|
||||
err := api.APIError{}
|
||||
DecodeJSON(t, resp, &err)
|
||||
err := DecodeJSON(t, resp, &api.APIError{})
|
||||
assert.Equal(t, "Please try again later", err.Message)
|
||||
queue.GetManager().FlushAll(t.Context(), 5*time.Second)
|
||||
<-time.After(1 * time.Second)
|
||||
@@ -348,10 +342,9 @@ func doAPIGetBranch(ctx APITestContext, branch string, callback ...func(*testing
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var branch api.Branch
|
||||
DecodeJSON(t, resp, &branch)
|
||||
branch := DecodeJSON(t, resp, &api.Branch{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, branch)
|
||||
callback[0](t, *branch)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -366,10 +359,9 @@ func doAPICreateFile(ctx APITestContext, treepath string, options *api.CreateFil
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var contents api.FileResponse
|
||||
DecodeJSON(t, resp, &contents)
|
||||
contents := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, contents)
|
||||
callback[0](t, *contents)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -384,10 +376,9 @@ func doAPICreateOrganization(ctx APITestContext, options *api.CreateOrgOption, c
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var contents api.Organization
|
||||
DecodeJSON(t, resp, &contents)
|
||||
contents := DecodeJSON(t, resp, &api.Organization{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, contents)
|
||||
callback[0](t, *contents)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -402,10 +393,9 @@ func doAPICreateOrganizationRepository(ctx APITestContext, orgName string, optio
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var contents api.Repository
|
||||
DecodeJSON(t, resp, &contents)
|
||||
contents := DecodeJSON(t, resp, &api.Repository{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, contents)
|
||||
callback[0](t, *contents)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -420,10 +410,9 @@ func doAPICreateOrganizationTeam(ctx APITestContext, orgName string, options *ap
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var contents api.Team
|
||||
DecodeJSON(t, resp, &contents)
|
||||
contents := DecodeJSON(t, resp, &api.Team{})
|
||||
if len(callback) > 0 {
|
||||
callback[0](t, contents)
|
||||
callback[0](t, *contents)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,7 @@ func TestAPIGetIssueAttachment(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets/%d", repoOwner.Name, repo.Name, issue.Index, attachment.ID)).
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
apiAttachment := new(api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment.ID, IssueID: issue.ID})
|
||||
}
|
||||
@@ -55,10 +54,9 @@ func TestAPIListIssueAttachments(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets", repoOwner.Name, repo.Name, issue.Index)).
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
apiAttachment := new([]api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
apiAttachment := DecodeJSON(t, resp, []api.Attachment{})
|
||||
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: (*apiAttachment)[0].ID, IssueID: issue.ID})
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment[0].ID, IssueID: issue.ID})
|
||||
}
|
||||
|
||||
func TestAPICreateIssueAttachment(t *testing.T) {
|
||||
@@ -87,8 +85,7 @@ func TestAPICreateIssueAttachment(t *testing.T) {
|
||||
req.Header.Add("Content-Type", writer.FormDataContentType())
|
||||
resp := session.MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
apiAttachment := new(api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment.ID, IssueID: issue.ID})
|
||||
}
|
||||
@@ -138,8 +135,7 @@ func TestAPIEditIssueAttachment(t *testing.T) {
|
||||
"name": newAttachmentName,
|
||||
}).AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusCreated)
|
||||
apiAttachment := new(api.Attachment)
|
||||
DecodeJSON(t, resp, &apiAttachment)
|
||||
apiAttachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Attachment{ID: apiAttachment.ID, IssueID: issue.ID, Name: apiAttachment.Name})
|
||||
}
|
||||
|
||||
@@ -31,10 +31,9 @@ func getIssueConfig(t *testing.T, owner, repo string) api.IssueConfig {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var issueConfig api.IssueConfig
|
||||
DecodeJSON(t, resp, &issueConfig)
|
||||
issueConfig := DecodeJSON(t, resp, &api.IssueConfig{})
|
||||
|
||||
return issueConfig
|
||||
return *issueConfig
|
||||
}
|
||||
|
||||
func TestAPIRepoGetIssueConfig(t *testing.T) {
|
||||
@@ -156,8 +155,7 @@ func TestAPIRepoValidateIssueConfig(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var issueConfigValidation api.IssueConfigValidation
|
||||
DecodeJSON(t, resp, &issueConfigValidation)
|
||||
issueConfigValidation := DecodeJSON(t, resp, &api.IssueConfigValidation{})
|
||||
|
||||
assert.True(t, issueConfigValidation.Valid)
|
||||
assert.Empty(t, issueConfigValidation.Message)
|
||||
@@ -172,8 +170,7 @@ func TestAPIRepoValidateIssueConfig(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var issueConfigValidation api.IssueConfigValidation
|
||||
DecodeJSON(t, resp, &issueConfigValidation)
|
||||
issueConfigValidation := DecodeJSON(t, resp, &api.IssueConfigValidation{})
|
||||
|
||||
assert.False(t, issueConfigValidation.Valid)
|
||||
assert.NotEmpty(t, issueConfigValidation.Message)
|
||||
|
||||
@@ -35,8 +35,7 @@ func TestAPIModifyLabels(t *testing.T) {
|
||||
Description: "test label",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
apiLabel := new(api.Label)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel := DecodeJSON(t, resp, &api.Label{})
|
||||
dbLabel := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: apiLabel.ID, RepoID: repo.ID})
|
||||
assert.Equal(t, dbLabel.Name, apiLabel.Name)
|
||||
assert.Equal(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
|
||||
@@ -57,8 +56,7 @@ func TestAPIModifyLabels(t *testing.T) {
|
||||
req = NewRequest(t, "GET", urlStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
assert.Len(t, apiLabels, 2)
|
||||
|
||||
// GetLabel
|
||||
@@ -66,7 +64,7 @@ func TestAPIModifyLabels(t *testing.T) {
|
||||
req = NewRequest(t, "GET", singleURLStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel = DecodeJSON(t, resp, &api.Label{})
|
||||
assert.Equal(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
|
||||
|
||||
// EditLabel
|
||||
@@ -78,7 +76,7 @@ func TestAPIModifyLabels(t *testing.T) {
|
||||
Color: &newColor,
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel = DecodeJSON(t, resp, &api.Label{})
|
||||
assert.Equal(t, newColor, apiLabel.Color)
|
||||
req = NewRequestWithJSON(t, "PATCH", singleURLStr, &api.EditLabelOption{
|
||||
Color: &newColorWrong,
|
||||
@@ -107,8 +105,7 @@ func TestAPIAddIssueLabels(t *testing.T) {
|
||||
Labels: []any{1, 2},
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
assert.Len(t, apiLabels, unittest.GetCount(t, &issues_model.IssueLabel{IssueID: issue.ID}))
|
||||
|
||||
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: 2})
|
||||
@@ -132,8 +129,7 @@ func TestAPIAddIssueLabelsWithLabelNames(t *testing.T) {
|
||||
Labels: []any{repoLabel.Name, orgLabel.Name},
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
assert.Len(t, apiLabels, unittest.GetCount(t, &issues_model.IssueLabel{IssueID: issue.ID}))
|
||||
var apiLabelNames []string
|
||||
for _, label := range apiLabels {
|
||||
@@ -162,8 +158,7 @@ func TestAPIReplaceIssueLabels(t *testing.T) {
|
||||
Labels: []any{label.ID},
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
if assert.Len(t, apiLabels, 1) {
|
||||
assert.Equal(t, label.ID, apiLabels[0].ID)
|
||||
}
|
||||
@@ -188,8 +183,7 @@ func TestAPIReplaceIssueLabelsWithLabelNames(t *testing.T) {
|
||||
Labels: []any{label.Name},
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
if assert.Len(t, apiLabels, 1) {
|
||||
assert.Equal(t, label.Name, apiLabels[0].Name)
|
||||
}
|
||||
@@ -212,8 +206,7 @@ func TestAPIModifyOrgLabels(t *testing.T) {
|
||||
Description: "test label",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
apiLabel := new(api.Label)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel := DecodeJSON(t, resp, &api.Label{})
|
||||
dbLabel := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: apiLabel.ID, OrgID: owner.ID})
|
||||
assert.Equal(t, dbLabel.Name, apiLabel.Name)
|
||||
assert.Equal(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
|
||||
@@ -234,8 +227,7 @@ func TestAPIModifyOrgLabels(t *testing.T) {
|
||||
req = NewRequest(t, "GET", urlStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiLabels []*api.Label
|
||||
DecodeJSON(t, resp, &apiLabels)
|
||||
apiLabels := DecodeJSON(t, resp, []*api.Label{})
|
||||
assert.Len(t, apiLabels, 4)
|
||||
|
||||
// GetLabel
|
||||
@@ -243,7 +235,7 @@ func TestAPIModifyOrgLabels(t *testing.T) {
|
||||
req = NewRequest(t, "GET", singleURLStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel = DecodeJSON(t, resp, &api.Label{})
|
||||
assert.Equal(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
|
||||
|
||||
// EditLabel
|
||||
@@ -255,7 +247,7 @@ func TestAPIModifyOrgLabels(t *testing.T) {
|
||||
Color: &newColor,
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiLabel)
|
||||
apiLabel = DecodeJSON(t, resp, &api.Label{})
|
||||
assert.Equal(t, newColor, apiLabel.Color)
|
||||
req = NewRequestWithJSON(t, "PATCH", singleURLStr, &api.EditLabelOption{
|
||||
Color: &newColorWrong,
|
||||
|
||||
@@ -39,15 +39,13 @@ func TestAPIIssuesMilestone(t *testing.T) {
|
||||
State: &milestoneState,
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiMilestone structs.Milestone
|
||||
DecodeJSON(t, resp, &apiMilestone)
|
||||
apiMilestone := DecodeJSON(t, resp, &structs.Milestone{})
|
||||
assert.EqualValues(t, "closed", apiMilestone.State)
|
||||
|
||||
req = NewRequest(t, "GET", urlStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiMilestone2 structs.Milestone
|
||||
DecodeJSON(t, resp, &apiMilestone2)
|
||||
apiMilestone2 := DecodeJSON(t, resp, &structs.Milestone{})
|
||||
assert.EqualValues(t, "closed", apiMilestone2.State)
|
||||
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/milestones", owner.Name, repo.Name), structs.CreateMilestoneOption{
|
||||
@@ -56,29 +54,28 @@ func TestAPIIssuesMilestone(t *testing.T) {
|
||||
State: "closed",
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &apiMilestone)
|
||||
apiMilestone = DecodeJSON(t, resp, &structs.Milestone{})
|
||||
assert.Equal(t, "wow", apiMilestone.Title)
|
||||
assert.Equal(t, structs.StateClosed, apiMilestone.State)
|
||||
assert.Nil(t, apiMilestone.Deadline)
|
||||
|
||||
var apiMilestones []structs.Milestone
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones?state=%s", owner.Name, repo.Name, "all")).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiMilestones)
|
||||
apiMilestones := DecodeJSON(t, resp, []structs.Milestone{})
|
||||
assert.Len(t, apiMilestones, 4)
|
||||
assert.Nil(t, apiMilestones[0].Deadline)
|
||||
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones/%s", owner.Name, repo.Name, apiMilestones[2].Title)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiMilestone)
|
||||
assert.Equal(t, apiMilestones[2], apiMilestone)
|
||||
apiMilestone = DecodeJSON(t, resp, &structs.Milestone{})
|
||||
assert.Equal(t, apiMilestones[2], *apiMilestone)
|
||||
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones?state=%s&name=%s", owner.Name, repo.Name, "all", "milestone2")).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiMilestones)
|
||||
apiMilestones = DecodeJSON(t, resp, []structs.Milestone{})
|
||||
assert.Len(t, apiMilestones, 1)
|
||||
assert.Equal(t, int64(2), apiMilestones[0].ID)
|
||||
|
||||
|
||||
@@ -39,8 +39,7 @@ func TestAPIPinIssue(t *testing.T) {
|
||||
// Check if the Issue is pinned
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var issueAPI api.Issue
|
||||
DecodeJSON(t, resp, &issueAPI)
|
||||
issueAPI := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 1, issueAPI.PinOrder)
|
||||
}
|
||||
|
||||
@@ -64,8 +63,7 @@ func TestAPIUnpinIssue(t *testing.T) {
|
||||
// Check if the Issue is pinned
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var issueAPI api.Issue
|
||||
DecodeJSON(t, resp, &issueAPI)
|
||||
issueAPI := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 1, issueAPI.PinOrder)
|
||||
|
||||
// Unpin the Issue
|
||||
@@ -76,7 +74,7 @@ func TestAPIUnpinIssue(t *testing.T) {
|
||||
// Check if the Issue is no longer pinned
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &issueAPI)
|
||||
issueAPI = DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 0, issueAPI.PinOrder)
|
||||
}
|
||||
|
||||
@@ -101,8 +99,7 @@ func TestAPIMoveIssuePin(t *testing.T) {
|
||||
// Check if the first Issue is pinned at position 1
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var issueAPI api.Issue
|
||||
DecodeJSON(t, resp, &issueAPI)
|
||||
issueAPI := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 1, issueAPI.PinOrder)
|
||||
|
||||
// Pin the second Issue
|
||||
@@ -118,15 +115,13 @@ func TestAPIMoveIssuePin(t *testing.T) {
|
||||
// Check if the first Issue is pinned at position 2
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var issueAPI3 api.Issue
|
||||
DecodeJSON(t, resp, &issueAPI3)
|
||||
issueAPI3 := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 2, issueAPI3.PinOrder)
|
||||
|
||||
// Check if the second Issue is pinned at position 1
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue2.Index))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var issueAPI4 api.Issue
|
||||
DecodeJSON(t, resp, &issueAPI4)
|
||||
issueAPI4 := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, 1, issueAPI4.PinOrder)
|
||||
}
|
||||
|
||||
@@ -150,8 +145,7 @@ func TestAPIListPinnedIssues(t *testing.T) {
|
||||
// Check if the Issue is in the List
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/pinned", repo.OwnerName, repo.Name))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var issueList []api.Issue
|
||||
DecodeJSON(t, resp, &issueList)
|
||||
issueList := DecodeJSON(t, resp, []api.Issue{})
|
||||
|
||||
assert.Len(t, issueList, 1)
|
||||
assert.Equal(t, issue.ID, issueList[0].ID)
|
||||
@@ -166,8 +160,7 @@ func TestAPIListPinnedPullrequests(t *testing.T) {
|
||||
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/pulls/pinned", repo.OwnerName, repo.Name))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var prList []api.PullRequest
|
||||
DecodeJSON(t, resp, &prList)
|
||||
prList := DecodeJSON(t, resp, []api.PullRequest{})
|
||||
|
||||
assert.Empty(t, prList)
|
||||
}
|
||||
@@ -181,8 +174,7 @@ func TestAPINewPinAllowed(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/new_pin_allowed", owner.Name, repo.Name))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var newPinsAllowed api.NewIssuePinsAllowed
|
||||
DecodeJSON(t, resp, &newPinsAllowed)
|
||||
newPinsAllowed := DecodeJSON(t, resp, &api.NewIssuePinsAllowed{})
|
||||
|
||||
assert.True(t, newPinsAllowed.Issues)
|
||||
assert.True(t, newPinsAllowed.PullRequests)
|
||||
|
||||
@@ -51,8 +51,7 @@ func TestAPIIssuesReactions(t *testing.T) {
|
||||
Reaction: "rocket",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiNewReaction api.Reaction
|
||||
DecodeJSON(t, resp, &apiNewReaction)
|
||||
apiNewReaction := DecodeJSON(t, resp, &api.Reaction{})
|
||||
|
||||
// Add existing reaction
|
||||
req = NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
|
||||
@@ -71,15 +70,14 @@ func TestAPIIssuesReactions(t *testing.T) {
|
||||
req = NewRequest(t, "GET", urlStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiReactions []*api.Reaction
|
||||
DecodeJSON(t, resp, &apiReactions)
|
||||
apiReactions := DecodeJSON(t, resp, []*api.Reaction{})
|
||||
expectResponse := make(map[int]api.Reaction)
|
||||
expectResponse[0] = api.Reaction{
|
||||
User: convert.ToUser(t.Context(), user2, user2),
|
||||
Reaction: "eyes",
|
||||
Created: time.Unix(1573248003, 0),
|
||||
}
|
||||
expectResponse[1] = apiNewReaction
|
||||
expectResponse[1] = *apiNewReaction
|
||||
assert.Len(t, apiReactions, 2)
|
||||
for i, r := range apiReactions {
|
||||
assert.Equal(t, expectResponse[i].Reaction, r.Reaction)
|
||||
@@ -141,8 +139,7 @@ func TestAPICommentReactions(t *testing.T) {
|
||||
Reaction: "+1",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiNewReaction api.Reaction
|
||||
DecodeJSON(t, resp, &apiNewReaction)
|
||||
apiNewReaction := DecodeJSON(t, resp, &api.Reaction{})
|
||||
|
||||
// Add existing reaction
|
||||
req = NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
|
||||
@@ -154,8 +151,7 @@ func TestAPICommentReactions(t *testing.T) {
|
||||
req = NewRequest(t, "GET", urlStr).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiReactions []*api.Reaction
|
||||
DecodeJSON(t, resp, &apiReactions)
|
||||
apiReactions := DecodeJSON(t, resp, []*api.Reaction{})
|
||||
expectResponse := make(map[int]api.Reaction)
|
||||
expectResponse[0] = api.Reaction{
|
||||
User: convert.ToUser(t.Context(), user2, user2),
|
||||
@@ -167,7 +163,7 @@ func TestAPICommentReactions(t *testing.T) {
|
||||
Reaction: "laugh",
|
||||
Created: time.Unix(1573248005, 0),
|
||||
}
|
||||
expectResponse[2] = apiNewReaction
|
||||
expectResponse[2] = *apiNewReaction
|
||||
assert.Len(t, apiReactions, 3)
|
||||
for i, r := range apiReactions {
|
||||
assert.Equal(t, expectResponse[i].Reaction, r.Reaction)
|
||||
|
||||
@@ -29,8 +29,7 @@ func TestAPIListStopWatches(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/user/stopwatches").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiWatches []*api.StopWatch
|
||||
DecodeJSON(t, resp, &apiWatches)
|
||||
apiWatches := DecodeJSON(t, resp, []*api.StopWatch{})
|
||||
stopwatch := unittest.AssertExistsAndLoadBean(t, &issues_model.Stopwatch{UserID: owner.ID})
|
||||
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: stopwatch.IssueID})
|
||||
if assert.Len(t, apiWatches, 1) {
|
||||
|
||||
@@ -18,16 +18,13 @@ import (
|
||||
|
||||
func TestAPIIssueTemplateList(t *testing.T) {
|
||||
onGiteaRun(t, func(*testing.T, *url.URL) {
|
||||
var issueTemplates []*api.IssueTemplate
|
||||
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
|
||||
|
||||
// no issue template
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/issue_templates")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
issueTemplates = nil
|
||||
DecodeJSON(t, resp, &issueTemplates)
|
||||
issueTemplates := DecodeJSON(t, resp, []*api.IssueTemplate{})
|
||||
assert.Empty(t, issueTemplates)
|
||||
|
||||
// one correct issue template and some incorrect issue templates
|
||||
@@ -46,8 +43,7 @@ about: bar
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/issue_templates")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
issueTemplates = nil
|
||||
DecodeJSON(t, resp, &issueTemplates)
|
||||
issueTemplates = DecodeJSON(t, resp, []*api.IssueTemplate{})
|
||||
assert.Len(t, issueTemplates, 1)
|
||||
assert.Equal(t, "foo", issueTemplates[0].Name)
|
||||
assert.Equal(t, "error occurs when parsing issue template: count=2", resp.Header().Get("X-Gitea-Warning"))
|
||||
|
||||
@@ -47,8 +47,7 @@ func testAPIListIssues(t *testing.T) {
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "state": {"all"}}.Encode()
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
var apiIssues []*api.Issue
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues := DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, unittest.GetCount(t, &issues_model.Issue{RepoID: repo.ID}))
|
||||
for _, apiIssue := range apiIssues {
|
||||
unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: apiIssue.ID, RepoID: repo.ID})
|
||||
@@ -57,7 +56,7 @@ func testAPIListIssues(t *testing.T) {
|
||||
// test milestone filter
|
||||
link.RawQuery = url.Values{"token": {token}, "state": {"all"}, "type": {"all"}, "milestones": {"ignore,milestone1,3,4"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
if assert.Len(t, apiIssues, 2) {
|
||||
assert.EqualValues(t, 3, apiIssues[0].Milestone.ID)
|
||||
assert.EqualValues(t, 1, apiIssues[1].Milestone.ID)
|
||||
@@ -65,21 +64,21 @@ func testAPIListIssues(t *testing.T) {
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "state": {"all"}, "created_by": {"user2"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
if assert.Len(t, apiIssues, 1) {
|
||||
assert.EqualValues(t, 5, apiIssues[0].ID)
|
||||
}
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "state": {"all"}, "assigned_by": {"user1"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
if assert.Len(t, apiIssues, 1) {
|
||||
assert.EqualValues(t, 1, apiIssues[0].ID)
|
||||
}
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "state": {"all"}, "mentioned_by": {"user4"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
if assert.Len(t, apiIssues, 1) {
|
||||
assert.EqualValues(t, 1, apiIssues[0].ID)
|
||||
}
|
||||
@@ -126,8 +125,7 @@ func testAPICreateIssue(t *testing.T) {
|
||||
Assignee: owner.Name,
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiIssue api.Issue
|
||||
DecodeJSON(t, resp, &apiIssue)
|
||||
apiIssue := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, body, apiIssue.Body)
|
||||
assert.Equal(t, title, apiIssue.Title)
|
||||
|
||||
@@ -183,8 +181,7 @@ func testAPICreateIssueParallel(t *testing.T) {
|
||||
Assignee: owner.Name,
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiIssue api.Issue
|
||||
DecodeJSON(t, resp, &apiIssue)
|
||||
apiIssue := DecodeJSON(t, resp, &api.Issue{})
|
||||
assert.Equal(t, newBody, apiIssue.Body)
|
||||
assert.Equal(t, newTitle, apiIssue.Title)
|
||||
|
||||
@@ -231,8 +228,7 @@ func testAPIEditIssue(t *testing.T) {
|
||||
// ToDo change more
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var apiIssue api.Issue
|
||||
DecodeJSON(t, resp, &apiIssue)
|
||||
apiIssue := DecodeJSON(t, resp, &api.Issue{})
|
||||
|
||||
issueAfter := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 10})
|
||||
repoAfter := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issueBefore.RepoID})
|
||||
@@ -278,13 +274,13 @@ func testAPISearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req := NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, expectedIssueCount)
|
||||
|
||||
publicOnlyToken := getUserToken(t, "user1", auth_model.AccessTokenScopeReadIssue, auth_model.AccessTokenScopePublicOnly)
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(publicOnlyToken)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 15) // 15 public issues
|
||||
|
||||
since := "2000-01-01T00:50:01+00:00" // 946687801
|
||||
@@ -294,7 +290,7 @@ func testAPISearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 11)
|
||||
query.Del("since")
|
||||
query.Del("before")
|
||||
@@ -303,14 +299,14 @@ func testAPISearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query.Set("state", "all")
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Equal(t, "22", resp.Header().Get("X-Total-Count"))
|
||||
assert.Len(t, apiIssues, 20)
|
||||
|
||||
@@ -318,7 +314,7 @@ func testAPISearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Equal(t, "22", resp.Header().Get("X-Total-Count"))
|
||||
assert.Len(t, apiIssues, 10)
|
||||
|
||||
@@ -326,70 +322,70 @@ func testAPISearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query = url.Values{"milestones": {"milestone1"}, "state": {"all"}}
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 1)
|
||||
|
||||
query = url.Values{"milestones": {"milestone1,milestone3"}, "state": {"all"}}
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query = url.Values{"owner": {"user2"}} // user
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 8)
|
||||
|
||||
query = url.Values{"owner": {"org3"}} // organization
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 5)
|
||||
|
||||
query = url.Values{"owner": {"org3"}, "team": {"team1"}} // organization + team
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query = url.Values{"created": {"1"}} // issues created by the auth user
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 5)
|
||||
|
||||
query = url.Values{"created": {"1"}, "type": {"pulls"}} // prs created by the auth user
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 3)
|
||||
|
||||
query = url.Values{"created_by": {"user2"}} // issues created by the user2
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 9)
|
||||
|
||||
query = url.Values{"created_by": {"user2"}, "type": {"pulls"}} // prs created by user2
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 3)
|
||||
}
|
||||
|
||||
@@ -405,14 +401,14 @@ func testAPISearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req := NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, expectedIssueCount)
|
||||
|
||||
query.Add("labels", "label1")
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// multiple labels
|
||||
@@ -420,7 +416,7 @@ func testAPISearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// an org label
|
||||
@@ -428,7 +424,7 @@ func testAPISearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 1)
|
||||
|
||||
// org and repo label
|
||||
@@ -437,7 +433,7 @@ func testAPISearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// org and repo label which share the same issue
|
||||
@@ -445,7 +441,7 @@ func testAPISearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
}
|
||||
|
||||
|
||||
@@ -32,8 +32,7 @@ func TestAPIGetTrackedTimes(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/times", user2.Name, issue2.Repo.Name, issue2.Index).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiTimes api.TrackedTimeList
|
||||
DecodeJSON(t, resp, &apiTimes)
|
||||
apiTimes := DecodeJSON(t, resp, api.TrackedTimeList{})
|
||||
expect, err := issues_model.GetTrackedTimes(t.Context(), &issues_model.FindTrackedTimesOptions{IssueID: issue2.ID})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, apiTimes, 3)
|
||||
@@ -56,8 +55,7 @@ func TestAPIGetTrackedTimes(t *testing.T) {
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/times?since=%s&before=%s", user2.Name, issue2.Repo.Name, issue2.Index, since, before).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var filterAPITimes api.TrackedTimeList
|
||||
DecodeJSON(t, resp, &filterAPITimes)
|
||||
filterAPITimes := DecodeJSON(t, resp, api.TrackedTimeList{})
|
||||
assert.Len(t, filterAPITimes, 2)
|
||||
assert.Equal(t, int64(3), filterAPITimes[0].ID)
|
||||
assert.Equal(t, int64(6), filterAPITimes[1].ID)
|
||||
@@ -126,8 +124,7 @@ func TestAPIAddTrackedTimes(t *testing.T) {
|
||||
Created: time.Unix(947688818, 0),
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiNewTime api.TrackedTime
|
||||
DecodeJSON(t, resp, &apiNewTime)
|
||||
apiNewTime := DecodeJSON(t, resp, &api.TrackedTime{})
|
||||
|
||||
assert.EqualValues(t, 33, apiNewTime.Time)
|
||||
assert.Equal(t, user2.ID, apiNewTime.UserID)
|
||||
|
||||
@@ -65,8 +65,7 @@ func TestCreateReadOnlyDeployKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newDeployKey api.DeployKey
|
||||
DecodeJSON(t, resp, &newDeployKey)
|
||||
newDeployKey := DecodeJSON(t, resp, &api.DeployKey{})
|
||||
unittest.AssertExistsAndLoadBean(t, &asymkey_model.DeployKey{
|
||||
ID: newDeployKey.ID,
|
||||
Name: rawKeyBody.Title,
|
||||
@@ -104,8 +103,7 @@ func TestCreateReadWriteDeployKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newDeployKey api.DeployKey
|
||||
DecodeJSON(t, resp, &newDeployKey)
|
||||
newDeployKey := DecodeJSON(t, resp, &api.DeployKey{})
|
||||
unittest.AssertExistsAndLoadBean(t, &asymkey_model.DeployKey{
|
||||
ID: newDeployKey.ID,
|
||||
Name: rawKeyBody.Title,
|
||||
@@ -130,8 +128,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newPublicKey api.PublicKey
|
||||
DecodeJSON(t, resp, &newPublicKey)
|
||||
newPublicKey := DecodeJSON(t, resp, &api.PublicKey{})
|
||||
fingerprint, err := asymkey_model.CalcFingerprint(rawKeyBody.Key)
|
||||
assert.NoError(t, err)
|
||||
unittest.AssertExistsAndLoadBean(t, &asymkey_model.PublicKey{
|
||||
@@ -147,8 +144,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var fingerprintPublicKeys []api.PublicKey
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys := DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Equal(t, newPublicKey.Fingerprint, fingerprintPublicKeys[0].Fingerprint)
|
||||
assert.Equal(t, newPublicKey.ID, fingerprintPublicKeys[0].ID)
|
||||
assert.Equal(t, user.ID, fingerprintPublicKeys[0].Owner.ID)
|
||||
@@ -157,7 +153,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Equal(t, newPublicKey.Fingerprint, fingerprintPublicKeys[0].Fingerprint)
|
||||
assert.Equal(t, newPublicKey.ID, fingerprintPublicKeys[0].ID)
|
||||
assert.Equal(t, user.ID, fingerprintPublicKeys[0].Owner.ID)
|
||||
@@ -167,7 +163,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Empty(t, fingerprintPublicKeys)
|
||||
|
||||
// Fail searching for wrong users key
|
||||
@@ -175,7 +171,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Empty(t, fingerprintPublicKeys)
|
||||
|
||||
// Now login as user 2
|
||||
@@ -187,7 +183,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Equal(t, newPublicKey.Fingerprint, fingerprintPublicKeys[0].Fingerprint)
|
||||
assert.Equal(t, newPublicKey.ID, fingerprintPublicKeys[0].ID)
|
||||
assert.Nil(t, fingerprintPublicKeys[0].Owner)
|
||||
@@ -197,7 +193,7 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Equal(t, newPublicKey.Fingerprint, fingerprintPublicKeys[0].Fingerprint)
|
||||
assert.Equal(t, newPublicKey.ID, fingerprintPublicKeys[0].ID)
|
||||
assert.Nil(t, fingerprintPublicKeys[0].Owner)
|
||||
@@ -207,6 +203,6 @@ func TestCreateUserKey(t *testing.T) {
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &fingerprintPublicKeys)
|
||||
fingerprintPublicKeys = DecodeJSON(t, resp, []api.PublicKey{})
|
||||
assert.Empty(t, fingerprintPublicKeys)
|
||||
}
|
||||
|
||||
@@ -22,8 +22,7 @@ func TestAPIListLabelTemplates(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/label/templates")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var templateList []string
|
||||
DecodeJSON(t, resp, &templateList)
|
||||
templateList := DecodeJSON(t, resp, []string{})
|
||||
|
||||
for i := range repo_module.LabelTemplateFiles {
|
||||
assert.Equal(t, repo_module.LabelTemplateFiles[i].DisplayName, templateList[i])
|
||||
@@ -45,8 +44,7 @@ func TestAPIGetLabelTemplateInfo(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var templateInfo []api.LabelTemplate
|
||||
DecodeJSON(t, resp, &templateInfo)
|
||||
templateInfo := DecodeJSON(t, resp, []api.LabelTemplate{})
|
||||
|
||||
labels, err := repo_module.LoadTemplateLabelsByDisplayName(templateName)
|
||||
assert.NoError(t, err)
|
||||
|
||||
@@ -23,8 +23,7 @@ func TestAPIListLicenseTemplates(t *testing.T) {
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
// This tests if the API returns a list of strings
|
||||
var licenseList []api.LicensesTemplateListEntry
|
||||
DecodeJSON(t, resp, &licenseList)
|
||||
DecodeJSON(t, resp, []api.LicensesTemplateListEntry{})
|
||||
}
|
||||
|
||||
func TestAPIGetLicenseTemplateInfo(t *testing.T) {
|
||||
@@ -42,8 +41,7 @@ func TestAPIGetLicenseTemplateInfo(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var licenseInfo api.LicenseTemplateInfo
|
||||
DecodeJSON(t, resp, &licenseInfo)
|
||||
licenseInfo := DecodeJSON(t, resp, &api.LicenseTemplateInfo{})
|
||||
|
||||
// We get the text of the template here
|
||||
text, _ := options.License(licenseName)
|
||||
|
||||
@@ -37,8 +37,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/notifications?since="+since).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiNL []api.NotificationThread
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL := DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 1)
|
||||
assert.EqualValues(t, 5, apiNL[0].ID)
|
||||
@@ -49,7 +48,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?all=%s&before=%s", "true", before)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 3)
|
||||
assert.EqualValues(t, 4, apiNL[0].ID)
|
||||
@@ -66,7 +65,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?status-types=unread", user2.Name, repo1.Name)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 1)
|
||||
assert.EqualValues(t, 4, apiNL[0].ID)
|
||||
@@ -75,7 +74,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?status-types=unread&status-types=pinned", user2.Name, repo1.Name)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 2)
|
||||
assert.EqualValues(t, 4, apiNL[0].ID)
|
||||
@@ -97,8 +96,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/threads/%d", thread5.ID)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var apiN api.NotificationThread
|
||||
DecodeJSON(t, resp, &apiN)
|
||||
apiN := DecodeJSON(t, resp, &api.NotificationThread{})
|
||||
|
||||
assert.EqualValues(t, 5, apiN.ID)
|
||||
assert.False(t, apiN.Pinned)
|
||||
@@ -110,22 +108,20 @@ func TestAPINotification(t *testing.T) {
|
||||
|
||||
MakeRequest(t, NewRequest(t, "GET", "/api/v1/notifications/new"), http.StatusUnauthorized)
|
||||
|
||||
newStruct := struct {
|
||||
New int64 `json:"new"`
|
||||
}{}
|
||||
|
||||
// -- check notifications --
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications/new").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &newStruct)
|
||||
newStruct := DecodeJSON(t, resp, &struct {
|
||||
New int64 `json:"new"`
|
||||
}{})
|
||||
assert.Positive(t, newStruct.New)
|
||||
|
||||
// -- mark notifications as read --
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications?status-types=unread").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
assert.Len(t, apiNL, 2)
|
||||
|
||||
lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ...
|
||||
@@ -136,7 +132,7 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications?status-types=unread").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
assert.Len(t, apiNL, 1)
|
||||
|
||||
// -- PATCH /notifications/threads/{id} --
|
||||
@@ -152,7 +148,9 @@ func TestAPINotification(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications/new").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &newStruct)
|
||||
newStruct = DecodeJSON(t, resp, &struct {
|
||||
New int64 `json:"new"`
|
||||
}{})
|
||||
assert.Zero(t, newStruct.New)
|
||||
}
|
||||
|
||||
@@ -169,8 +167,7 @@ func TestAPINotificationPUT(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/notifications?all=true").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiNL []api.NotificationThread
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL := DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 4)
|
||||
assert.EqualValues(t, 5, apiNL[0].ID)
|
||||
@@ -193,7 +190,7 @@ func TestAPINotificationPUT(t *testing.T) {
|
||||
req = NewRequest(t, "PUT", "/api/v1/notifications?status-types=read&status-type=pinned&to-status=unread").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusResetContent)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
assert.Len(t, apiNL, 1)
|
||||
assert.EqualValues(t, 2, apiNL[0].ID)
|
||||
assert.True(t, apiNL[0].Unread)
|
||||
@@ -205,7 +202,7 @@ func TestAPINotificationPUT(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications?all=true").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
|
||||
assert.Len(t, apiNL, 4)
|
||||
assert.EqualValues(t, 2, apiNL[0].ID)
|
||||
|
||||
@@ -47,8 +47,7 @@ func testAPIOrgCreateRename(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/orgs", &org).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var apiOrg api.Organization
|
||||
DecodeJSON(t, resp, &apiOrg)
|
||||
apiOrg := DecodeJSON(t, resp, &api.Organization{})
|
||||
|
||||
assert.Equal(t, org.UserName, apiOrg.Name)
|
||||
assert.Equal(t, org.FullName, apiOrg.FullName)
|
||||
@@ -66,7 +65,7 @@ func testAPIOrgCreateRename(t *testing.T) {
|
||||
// check org name
|
||||
req = NewRequestf(t, "GET", "/api/v1/orgs/%s", org.UserName).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiOrg)
|
||||
apiOrg = DecodeJSON(t, resp, &api.Organization{})
|
||||
assert.Equal(t, org.UserName, apiOrg.Name)
|
||||
|
||||
t.Run("CheckPermission", func(t *testing.T) {
|
||||
@@ -91,8 +90,7 @@ func testAPIOrgCreateRename(t *testing.T) {
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
// user1 on this org is public
|
||||
var users []*api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []*api.User{})
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, "user1", users[0].UserName)
|
||||
})
|
||||
@@ -110,8 +108,7 @@ func testAPIOrgCreateRename(t *testing.T) {
|
||||
// FIXME: this test is wrong, there is no repository at all, so the for-loop is empty
|
||||
req = NewRequestf(t, "GET", "/api/v1/orgs/%s/repos", org.UserName).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var repos []*api.Repository
|
||||
DecodeJSON(t, resp, &repos)
|
||||
repos := DecodeJSON(t, resp, []*api.Repository{})
|
||||
for _, repo := range repos {
|
||||
assert.False(t, repo.Private)
|
||||
}
|
||||
@@ -126,9 +123,8 @@ func testAPIOrgGeneral(t *testing.T) {
|
||||
// accessing with a token will return all orgs
|
||||
req := NewRequest(t, "GET", "/api/v1/orgs").AddTokenAuth(user1Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiOrgList []*api.Organization
|
||||
|
||||
DecodeJSON(t, resp, &apiOrgList)
|
||||
apiOrgList := DecodeJSON(t, resp, []*api.Organization{})
|
||||
assert.Len(t, apiOrgList, 13)
|
||||
assert.Equal(t, "Limited Org 36", apiOrgList[1].FullName)
|
||||
assert.Equal(t, "limited", apiOrgList[1].Visibility)
|
||||
@@ -137,7 +133,7 @@ func testAPIOrgGeneral(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/orgs")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &apiOrgList)
|
||||
apiOrgList = DecodeJSON(t, resp, []*api.Organization{})
|
||||
assert.Len(t, apiOrgList, 9)
|
||||
assert.Equal(t, "org 17", apiOrgList[0].FullName)
|
||||
assert.Equal(t, "public", apiOrgList[0].Visibility)
|
||||
@@ -223,11 +219,10 @@ func testAPIOrgGeneral(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/%s/teams/search?q=%s", orgName, "empty")).
|
||||
AddTokenAuth(user1Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
data := struct {
|
||||
data := DecodeJSON(t, resp, &struct {
|
||||
Ok bool
|
||||
Data []*api.Team
|
||||
}{}
|
||||
DecodeJSON(t, resp, &data)
|
||||
}{})
|
||||
assert.True(t, data.Ok)
|
||||
if assert.Len(t, data.Data, 1) {
|
||||
assert.Equal(t, "Empty", data.Data[0].Name)
|
||||
|
||||
@@ -134,8 +134,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusBadRequest)
|
||||
|
||||
var status cargo_router.StatusResponse
|
||||
DecodeJSON(t, resp, &status)
|
||||
status := DecodeJSON(t, resp, &cargo_router.StatusResponse{})
|
||||
assert.False(t, status.OK)
|
||||
|
||||
content = createPackage("test", "-1.0.0")
|
||||
@@ -144,7 +143,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp = MakeRequest(t, req, http.StatusBadRequest)
|
||||
|
||||
DecodeJSON(t, resp, &status)
|
||||
status = DecodeJSON(t, resp, &cargo_router.StatusResponse{})
|
||||
assert.False(t, status.OK)
|
||||
})
|
||||
|
||||
@@ -174,8 +173,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var status cargo_router.StatusResponse
|
||||
DecodeJSON(t, resp, &status)
|
||||
status := DecodeJSON(t, resp, &cargo_router.StatusResponse{})
|
||||
assert.True(t, status.OK)
|
||||
|
||||
pvs, err := packages.GetVersionsByPackageType(t.Context(), user.ID, packages.TypeCargo)
|
||||
@@ -320,8 +318,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result cargo_router.SearchResult
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &cargo_router.SearchResult{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.Meta.Total, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Crates, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
@@ -335,8 +332,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var status cargo_router.StatusResponse
|
||||
DecodeJSON(t, resp, &status)
|
||||
status := DecodeJSON(t, resp, &cargo_router.StatusResponse{})
|
||||
assert.True(t, status.OK)
|
||||
|
||||
content := readGitContent(t, cargo_service.BuildPackagePath(packageName))
|
||||
@@ -355,8 +351,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var status cargo_router.StatusResponse
|
||||
DecodeJSON(t, resp, &status)
|
||||
status := DecodeJSON(t, resp, &cargo_router.StatusResponse{})
|
||||
assert.True(t, status.OK)
|
||||
|
||||
content := readGitContent(t, cargo_service.BuildPackagePath(packageName))
|
||||
@@ -374,8 +369,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("%s/%s/owners", url, neturl.PathEscape(packageName)))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var owners cargo_router.Owners
|
||||
DecodeJSON(t, resp, &owners)
|
||||
owners := DecodeJSON(t, resp, &cargo_router.Owners{})
|
||||
|
||||
assert.Len(t, owners.Users, 1)
|
||||
assert.Equal(t, user.ID, owners.Users[0].ID)
|
||||
|
||||
@@ -345,8 +345,7 @@ nwIDAQAB
|
||||
Dependencies map[string]string `json:"dependencies"`
|
||||
}
|
||||
|
||||
var result map[string]map[string]*VersionInfo
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]map[string]*VersionInfo{})
|
||||
|
||||
assert.Len(t, result, 1)
|
||||
assert.Contains(t, result, packageName)
|
||||
@@ -398,8 +397,7 @@ nwIDAQAB
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result Result
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &Result{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.Total, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Items, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
@@ -449,8 +447,7 @@ nwIDAQAB
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result Result
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &Result{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.Total, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Items, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
@@ -484,8 +481,7 @@ nwIDAQAB
|
||||
Versions []string `json:"versions"`
|
||||
}
|
||||
|
||||
var result Result
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &Result{})
|
||||
|
||||
versionURL := fmt.Sprintf("%s%s/cookbooks/%s/versions/%s", setting.AppURL, root[1:], packageName, packageVersion)
|
||||
|
||||
@@ -513,8 +509,7 @@ nwIDAQAB
|
||||
Dependencies map[string]string `json:"dependencies"`
|
||||
}
|
||||
|
||||
var result Result
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &Result{})
|
||||
|
||||
packageURL := fmt.Sprintf("%s%s/cookbooks/%s", setting.AppURL, root[1:], packageName)
|
||||
|
||||
|
||||
@@ -64,8 +64,7 @@ func TestPackageComposer(t *testing.T) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result composer.ServiceIndexResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &composer.ServiceIndexResponse{})
|
||||
|
||||
assert.Equal(t, url+"/search.json?q=%query%&type=%type%", result.SearchTemplate)
|
||||
assert.Equal(t, url+"/p2/%package%.json", result.MetadataTemplate)
|
||||
@@ -167,8 +166,7 @@ func TestPackageComposer(t *testing.T) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result composer.SearchResultResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &composer.SearchResultResponse{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.Total, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Results, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
@@ -182,8 +180,7 @@ func TestPackageComposer(t *testing.T) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string][]string
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string][]string{})
|
||||
|
||||
assert.Contains(t, result, "packageNames")
|
||||
names := result["packageNames"]
|
||||
@@ -198,8 +195,7 @@ func TestPackageComposer(t *testing.T) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result composer.PackageMetadataResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &composer.PackageMetadataResponse{})
|
||||
|
||||
assert.Contains(t, result.Packages, packageName)
|
||||
pkgs := result.Packages[packageName]
|
||||
@@ -229,8 +225,7 @@ func TestPackageComposer(t *testing.T) {
|
||||
AddBasicAuth(user.Name)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
result = composer.PackageMetadataResponse{}
|
||||
DecodeJSON(t, resp, &result)
|
||||
result = DecodeJSON(t, resp, &composer.PackageMetadataResponse{})
|
||||
|
||||
assert.Contains(t, result.Packages, packageName)
|
||||
pkgs = result.Packages[packageName]
|
||||
|
||||
@@ -107,8 +107,7 @@ func uploadConanPackageV1(t *testing.T, baseURL, token, name, version, user, cha
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
uploadURLs := make(map[string]string)
|
||||
DecodeJSON(t, resp, &uploadURLs)
|
||||
uploadURLs := DecodeJSON(t, resp, map[string]string{})
|
||||
|
||||
assert.Contains(t, uploadURLs, conanfileName)
|
||||
assert.NotContains(t, uploadURLs, "removed.txt")
|
||||
@@ -143,8 +142,7 @@ func uploadConanPackageV1(t *testing.T, baseURL, token, name, version, user, cha
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
uploadURLs = make(map[string]string)
|
||||
DecodeJSON(t, resp, &uploadURLs)
|
||||
uploadURLs = DecodeJSON(t, resp, map[string]string{})
|
||||
|
||||
assert.Contains(t, uploadURLs, conaninfoName)
|
||||
assert.NotContains(t, uploadURLs, "removed.txt")
|
||||
@@ -370,8 +368,7 @@ func TestPackageConan(t *testing.T) {
|
||||
req := NewRequest(t, "GET", recipeURL)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
fileHashes := make(map[string]string)
|
||||
DecodeJSON(t, resp, &fileHashes)
|
||||
fileHashes := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Len(t, fileHashes, 1)
|
||||
assert.Contains(t, fileHashes, conanfileName)
|
||||
assert.Equal(t, "7abc52241c22090782c54731371847a8", fileHashes[conanfileName])
|
||||
@@ -379,14 +376,13 @@ func TestPackageConan(t *testing.T) {
|
||||
req = NewRequest(t, "GET", recipeURL+"/digest")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
downloadURLs := make(map[string]string)
|
||||
DecodeJSON(t, resp, &downloadURLs)
|
||||
downloadURLs := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, downloadURLs, conanfileName)
|
||||
|
||||
req = NewRequest(t, "GET", recipeURL+"/download_urls")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &downloadURLs)
|
||||
downloadURLs = DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, downloadURLs, conanfileName)
|
||||
|
||||
req = NewRequest(t, "GET", downloadURLs[conanfileName])
|
||||
@@ -398,8 +394,7 @@ func TestPackageConan(t *testing.T) {
|
||||
req = NewRequest(t, "GET", packageURL)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
fileHashes = make(map[string]string)
|
||||
DecodeJSON(t, resp, &fileHashes)
|
||||
fileHashes = DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Len(t, fileHashes, 1)
|
||||
assert.Contains(t, fileHashes, conaninfoName)
|
||||
assert.Equal(t, "7628bfcc5b17f1470c468621a78df394", fileHashes[conaninfoName])
|
||||
@@ -407,14 +402,13 @@ func TestPackageConan(t *testing.T) {
|
||||
req = NewRequest(t, "GET", packageURL+"/digest")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
downloadURLs = make(map[string]string)
|
||||
DecodeJSON(t, resp, &downloadURLs)
|
||||
downloadURLs = DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, downloadURLs, conaninfoName)
|
||||
|
||||
req = NewRequest(t, "GET", packageURL+"/download_urls")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &downloadURLs)
|
||||
downloadURLs = DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, downloadURLs, conaninfoName)
|
||||
|
||||
req = NewRequest(t, "GET", downloadURLs[conaninfoName])
|
||||
@@ -470,8 +464,7 @@ func TestPackageConan(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("%s/v1/conans/%s/%s/%s/%s/search", url, name, version1, user1, channel2))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]*conan_module.Conaninfo
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]*conan_module.Conaninfo{})
|
||||
|
||||
assert.Contains(t, result, conanPackageReference)
|
||||
info := result[conanPackageReference]
|
||||
@@ -666,16 +659,14 @@ func TestPackageConan(t *testing.T) {
|
||||
req := NewRequest(t, "GET", recipeURL+"/latest")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
obj := make(map[string]string)
|
||||
DecodeJSON(t, resp, &obj)
|
||||
obj := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, obj, "revision")
|
||||
assert.Equal(t, revision1, obj["revision"])
|
||||
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("%s/revisions/%s/packages/%s/latest", recipeURL, revision1, conanPackageReference))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
obj = make(map[string]string)
|
||||
DecodeJSON(t, resp, &obj)
|
||||
obj = DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Contains(t, obj, "revision")
|
||||
assert.Equal(t, revision1, obj["revision"])
|
||||
})
|
||||
@@ -764,8 +755,7 @@ func TestPackageConan(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("%s/v2/conans/%s/%s/%s/%s/search", url, name, version1, user1, channel1))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]*conan_module.Conaninfo
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]*conan_module.Conaninfo{})
|
||||
|
||||
assert.Contains(t, result, conanPackageReference)
|
||||
info := result[conanPackageReference]
|
||||
@@ -774,8 +764,7 @@ func TestPackageConan(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("%s/v2/conans/%s/%s/%s/%s/revisions/%s/search", url, name, version1, user1, channel1, revision1))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
result = make(map[string]*conan_module.Conaninfo)
|
||||
DecodeJSON(t, resp, &result)
|
||||
result = DecodeJSON(t, resp, map[string]*conan_module.Conaninfo{})
|
||||
|
||||
assert.Contains(t, result, conanPackageReference)
|
||||
info = result[conanPackageReference]
|
||||
|
||||
@@ -218,8 +218,7 @@ func TestPackageConda(t *testing.T) {
|
||||
req := NewRequest(t, "GET", root+"/noarch/repodata.json")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result RepoData
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &RepoData{})
|
||||
|
||||
assert.Equal(t, "noarch", result.Info.Subdir)
|
||||
assert.Empty(t, result.PackagesConda)
|
||||
@@ -251,8 +250,7 @@ func TestPackageConda(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("%s/%s/noarch/repodata.json", root, channel))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result RepoData
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &RepoData{})
|
||||
|
||||
assert.Equal(t, "noarch", result.Info.Subdir)
|
||||
assert.Empty(t, result.Packages)
|
||||
|
||||
@@ -161,8 +161,7 @@ func TestPackageContainer(t *testing.T) {
|
||||
req := NewRequest(t, "GET", setting.AppURL+"v2/token")
|
||||
req.Request.SetBasicAuth(user.Name, readToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
tokenResponse := &TokenResponse{}
|
||||
DecodeJSON(t, resp, &tokenResponse)
|
||||
tokenResponse := DecodeJSON(t, resp, &TokenResponse{})
|
||||
|
||||
readToken = "Bearer " + tokenResponse.Token
|
||||
|
||||
@@ -182,8 +181,7 @@ func TestPackageContainer(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
tokenResponse := &TokenResponse{}
|
||||
DecodeJSON(t, resp, &tokenResponse)
|
||||
tokenResponse := DecodeJSON(t, resp, &TokenResponse{})
|
||||
|
||||
assert.NotEmpty(t, tokenResponse.Token)
|
||||
|
||||
@@ -705,8 +703,7 @@ func TestPackageContainer(t *testing.T) {
|
||||
Tags []string `json:"tags"`
|
||||
}
|
||||
|
||||
tagList := &TagList{}
|
||||
DecodeJSON(t, resp, &tagList)
|
||||
tagList := DecodeJSON(t, resp, &TagList{})
|
||||
|
||||
assert.Equal(t, user.Name+"/"+image, tagList.Name)
|
||||
assert.Equal(t, c.ExpectedTags, tagList.Tags)
|
||||
@@ -717,8 +714,7 @@ func TestPackageContainer(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiPackages []*api.Package
|
||||
DecodeJSON(t, resp, &apiPackages)
|
||||
apiPackages := DecodeJSON(t, resp, []*api.Package{})
|
||||
assert.Len(t, apiPackages, 4) // "latest", "main", "multi", "sha256:..."
|
||||
})
|
||||
|
||||
@@ -803,8 +799,7 @@ func TestPackageContainer(t *testing.T) {
|
||||
Repositories []string `json:"repositories"`
|
||||
}
|
||||
|
||||
repoList := &RepositoryList{}
|
||||
DecodeJSON(t, resp, &repoList)
|
||||
repoList := DecodeJSON(t, resp, &RepositoryList{})
|
||||
|
||||
assert.Len(t, repoList.Repositories, len(images))
|
||||
names := make([]string, 0, len(images))
|
||||
|
||||
@@ -106,25 +106,20 @@ func TestPackageGo(t *testing.T) {
|
||||
Time time.Time `json:"Time"`
|
||||
}
|
||||
|
||||
info := &Info{}
|
||||
DecodeJSON(t, resp, &info)
|
||||
info := DecodeJSON(t, resp, &Info{})
|
||||
|
||||
assert.Equal(t, packageVersion, info.Version)
|
||||
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("%s/%s/@v/latest.info", url, packageName))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
info = &Info{}
|
||||
DecodeJSON(t, resp, &info)
|
||||
|
||||
info = DecodeJSON(t, resp, &Info{})
|
||||
assert.Equal(t, packageVersion2, info.Version)
|
||||
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("%s/%s/@latest", url, packageName))
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
info = &Info{}
|
||||
DecodeJSON(t, resp, &info)
|
||||
|
||||
info = DecodeJSON(t, resp, &Info{})
|
||||
assert.Equal(t, packageVersion2, info.Version)
|
||||
})
|
||||
|
||||
|
||||
@@ -165,8 +165,7 @@ func TestPackageNpm(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result npm.PackageMetadata
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &npm.PackageMetadata{})
|
||||
|
||||
assert.Equal(t, packageName, result.ID)
|
||||
assert.Equal(t, packageName, result.Name)
|
||||
@@ -213,8 +212,7 @@ func TestPackageNpm(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]string
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]string{})
|
||||
|
||||
assert.Len(t, result, 2)
|
||||
assert.Contains(t, result, packageTag)
|
||||
@@ -230,8 +228,7 @@ func TestPackageNpm(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result npm.PackageMetadata
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &npm.PackageMetadata{})
|
||||
|
||||
assert.Len(t, result.DistTags, 2)
|
||||
assert.Contains(t, result.DistTags, packageTag)
|
||||
@@ -278,8 +275,7 @@ func TestPackageNpm(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("%s?text=%s&from=%d&size=%d", url, c.Query, c.Skip, c.Take))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result npm.PackageSearch
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &npm.PackageSearch{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.Total, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Objects, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
|
||||
@@ -251,8 +251,7 @@ func TestPackageNuGet(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
var result nuget.ServiceIndexResponseV3
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.ServiceIndexResponseV3{})
|
||||
|
||||
assert.Equal(t, "3.0.0", result.Version)
|
||||
assert.NotEmpty(t, result.Resources)
|
||||
@@ -684,8 +683,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result nuget.SearchResultResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.SearchResultResponse{})
|
||||
|
||||
assert.Equal(t, c.ExpectedTotal, result.TotalHits, "case %d: unexpected total hits", i)
|
||||
assert.Len(t, result.Data, c.ExpectedResults, "case %d: unexpected result count", i)
|
||||
@@ -702,8 +700,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result nuget.SearchResultResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.SearchResultResponse{})
|
||||
|
||||
assert.EqualValues(t, 2, result.TotalHits)
|
||||
assert.Len(t, result.Data, 2)
|
||||
@@ -740,8 +737,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result nuget.RegistrationIndexResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.RegistrationIndexResponse{})
|
||||
|
||||
assert.Equal(t, indexURL, result.RegistrationIndexURL)
|
||||
assert.Equal(t, 1, result.Count)
|
||||
@@ -821,8 +817,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result nuget.RegistrationLeafResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.RegistrationLeafResponse{})
|
||||
|
||||
assert.Equal(t, leafURL, result.RegistrationLeafURL)
|
||||
assert.Equal(t, indexURL, result.RegistrationIndexURL)
|
||||
@@ -882,8 +877,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result nuget.PackageVersionsResponse
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &nuget.PackageVersionsResponse{})
|
||||
|
||||
assert.Len(t, result.Versions, 1)
|
||||
assert.Equal(t, packageVersion, result.Versions[0])
|
||||
|
||||
@@ -74,8 +74,7 @@ description: ` + packageDescription
|
||||
Fields map[string]string `json:"fields"`
|
||||
}
|
||||
|
||||
var result UploadRequest
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &UploadRequest{})
|
||||
|
||||
assert.Empty(t, result.Fields)
|
||||
|
||||
@@ -136,8 +135,7 @@ description: ` + packageDescription
|
||||
Pubspec any `json:"pubspec,omitempty"`
|
||||
}
|
||||
|
||||
var result VersionMetadata
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &VersionMetadata{})
|
||||
|
||||
assert.Equal(t, packageVersion, result.Version)
|
||||
assert.NotNil(t, result.Pubspec)
|
||||
@@ -167,8 +165,7 @@ description: ` + packageDescription
|
||||
Versions []*VersionMetadata `json:"versions"`
|
||||
}
|
||||
|
||||
var result PackageVersions
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &PackageVersions{})
|
||||
|
||||
assert.Equal(t, packageName, result.Name)
|
||||
assert.NotNil(t, result.Latest)
|
||||
|
||||
@@ -53,8 +53,7 @@ func TestPackageAPI(t *testing.T) {
|
||||
AddTokenAuth(tokenReadPackage)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiPackages []*api.Package
|
||||
DecodeJSON(t, resp, &apiPackages)
|
||||
apiPackages := DecodeJSON(t, resp, []*api.Package{})
|
||||
|
||||
assert.Len(t, apiPackages, 1)
|
||||
assert.Equal(t, string(packages_model.TypeGeneric), apiPackages[0].Type)
|
||||
@@ -135,8 +134,7 @@ func TestPackageAPI(t *testing.T) {
|
||||
AddTokenAuth(tokenReadPackage)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiPackages []*api.Package
|
||||
DecodeJSON(t, resp, &apiPackages)
|
||||
apiPackages := DecodeJSON(t, resp, []*api.Package{})
|
||||
|
||||
assert.Len(t, apiPackages, 1)
|
||||
assert.Equal(t, string(packages_model.TypeGeneric), apiPackages[0].Type)
|
||||
@@ -229,8 +227,7 @@ func TestPackageAPI(t *testing.T) {
|
||||
AddTokenAuth(tokenReadPackage)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var files []*api.PackageFile
|
||||
DecodeJSON(t, resp, &files)
|
||||
files := DecodeJSON(t, resp, []*api.PackageFile{})
|
||||
|
||||
assert.Len(t, files, 1)
|
||||
assert.Equal(t, int64(0), files[0].Size)
|
||||
|
||||
@@ -152,8 +152,7 @@ func TestPackageVagrant(t *testing.T) {
|
||||
Versions []*versionMetadata `json:"versions"`
|
||||
}
|
||||
|
||||
var result packageMetadata
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, &packageMetadata{})
|
||||
|
||||
assert.Equal(t, packageName, result.Name)
|
||||
assert.Equal(t, packageDescription, result.Description)
|
||||
|
||||
@@ -26,8 +26,7 @@ func TestAPIPullCommits(t *testing.T) {
|
||||
req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/commits", repo.OwnerName, repo.Name, pr.Index)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var commits []*api.Commit
|
||||
DecodeJSON(t, resp, &commits)
|
||||
commits := DecodeJSON(t, resp, []*api.Commit{})
|
||||
|
||||
require.Len(t, commits, 2)
|
||||
|
||||
|
||||
@@ -40,8 +40,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var reviews []*api.PullReview
|
||||
DecodeJSON(t, resp, &reviews)
|
||||
reviews := DecodeJSON(t, resp, []*api.PullReview{})
|
||||
require.Len(t, reviews, 8)
|
||||
|
||||
for _, r := range reviews {
|
||||
@@ -64,23 +63,21 @@ func TestAPIPullReview(t *testing.T) {
|
||||
req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, reviews[3].ID).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var review api.PullReview
|
||||
DecodeJSON(t, resp, &review)
|
||||
assert.Equal(t, *reviews[3], review)
|
||||
review := DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.Equal(t, reviews[3], review)
|
||||
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, reviews[5].ID).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
assert.Equal(t, *reviews[5], review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.Equal(t, reviews[5], review)
|
||||
|
||||
// test GetPullReviewComments
|
||||
comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: 7})
|
||||
req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d/comments", repo.OwnerName, repo.Name, pullIssue.Index, 10).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var reviewComments []*api.PullReviewComment
|
||||
DecodeJSON(t, resp, &reviewComments)
|
||||
reviewComments := DecodeJSON(t, resp, []*api.PullReviewComment{})
|
||||
assert.Len(t, reviewComments, 1)
|
||||
assert.Equal(t, "Ghost", reviewComments[0].Poster.UserName)
|
||||
assert.Equal(t, "a review from a deleted user", reviewComments[0].Body)
|
||||
@@ -112,7 +109,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
},
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, 6, review.ID)
|
||||
assert.EqualValues(t, "PENDING", review.State)
|
||||
assert.Equal(t, 3, review.CodeCommentsCount)
|
||||
@@ -123,7 +120,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
Body: "just two nits",
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, 6, review.ID)
|
||||
assert.EqualValues(t, "APPROVED", review.State)
|
||||
assert.Equal(t, 3, review.CodeCommentsCount)
|
||||
@@ -133,7 +130,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
Message: "test",
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, 6, review.ID)
|
||||
assert.True(t, review.Dismissed)
|
||||
|
||||
@@ -141,7 +138,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
req = NewRequest(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews/%d/undismissals", repo.OwnerName, repo.Name, pullIssue.Index, review.ID)).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, 6, review.ID)
|
||||
assert.False(t, review.Dismissed)
|
||||
|
||||
@@ -151,7 +148,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
Event: "COMMENT",
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &review)
|
||||
review = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, "COMMENT", review.State)
|
||||
assert.Equal(t, 0, review.CodeCommentsCount)
|
||||
req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, review.ID).
|
||||
@@ -176,10 +173,9 @@ func TestAPIPullReview(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}).AddTokenAuth(token)
|
||||
var commentReview api.PullReview
|
||||
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &commentReview)
|
||||
commentReview := DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, "COMMENT", commentReview.State)
|
||||
assert.Equal(t, 2, commentReview.CodeCommentsCount)
|
||||
assert.Empty(t, commentReview.Body)
|
||||
@@ -194,7 +190,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &commentReview)
|
||||
commentReview = DecodeJSON(t, resp, &api.PullReview{})
|
||||
assert.EqualValues(t, "COMMENT", commentReview.State)
|
||||
assert.Equal(t, 0, commentReview.CodeCommentsCount)
|
||||
assert.Equal(t, commentBody, commentReview.Body)
|
||||
@@ -220,7 +216,7 @@ func TestAPIPullReview(t *testing.T) {
|
||||
req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews", repo3.OwnerName, repo3.Name, pullIssue12.Index).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &reviews)
|
||||
reviews = DecodeJSON(t, resp, []*api.PullReview{})
|
||||
assert.EqualValues(t, 11, reviews[0].ID)
|
||||
assert.EqualValues(t, "REQUEST_REVIEW", reviews[0].State)
|
||||
assert.Equal(t, 0, reviews[0].CodeCommentsCount)
|
||||
|
||||
@@ -47,8 +47,7 @@ func TestAPIViewPulls(t *testing.T) {
|
||||
AddTokenAuth(ctx.Token)
|
||||
resp := ctx.Session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var pulls []*api.PullRequest
|
||||
DecodeJSON(t, resp, &pulls)
|
||||
pulls := DecodeJSON(t, resp, []*api.PullRequest{})
|
||||
expectedLen := unittest.GetCount(t, &issues_model.Issue{RepoID: repo.ID}, unittest.Cond("is_pull = ?", true))
|
||||
assert.Len(t, pulls, expectedLen)
|
||||
|
||||
@@ -550,8 +549,7 @@ func doAPIGetPullFiles(ctx APITestContext, pr *api.PullRequest, callback func(*t
|
||||
}
|
||||
resp := ctx.Session.MakeRequest(t, req, ctx.ExpectedCode)
|
||||
|
||||
files := make([]*api.ChangedFile, 0, 1)
|
||||
DecodeJSON(t, resp, &files)
|
||||
files := DecodeJSON(t, resp, []*api.ChangedFile{})
|
||||
|
||||
if callback != nil {
|
||||
callback(t, files)
|
||||
|
||||
@@ -61,8 +61,7 @@ func testAPIDraftReleaseAttachmentAccess(t *testing.T) {
|
||||
MakeRequest(t, NewRequest(t, "GET", getURL).AddTokenAuth(ownerReadToken), http.StatusNotFound)
|
||||
ownerToken := getUserToken(t, repoOwner.LowerName, auth_model.AccessTokenScopeWriteRepository)
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", listURL).AddTokenAuth(ownerToken), http.StatusOK)
|
||||
var attachments []*api.Attachment
|
||||
DecodeJSON(t, resp, &attachments)
|
||||
attachments := DecodeJSON(t, resp, []*api.Attachment{})
|
||||
if assert.Len(t, attachments, 1) {
|
||||
assert.Equal(t, attachment.ID, attachments[0].ID)
|
||||
}
|
||||
|
||||
@@ -48,8 +48,7 @@ func testAPIListReleasesWithWriteToken(t *testing.T) {
|
||||
|
||||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/releases", user2.Name, repo.Name))
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK)
|
||||
var apiReleases []*api.Release
|
||||
DecodeJSON(t, resp, &apiReleases)
|
||||
apiReleases := DecodeJSON(t, resp, []*api.Release{})
|
||||
if assert.Len(t, apiReleases, 3) {
|
||||
for _, release := range apiReleases {
|
||||
switch release.ID {
|
||||
@@ -79,7 +78,7 @@ func testAPIListReleasesWithWriteToken(t *testing.T) {
|
||||
req.AddTokenAuth(token)
|
||||
}
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiReleases)
|
||||
apiReleases = DecodeJSON(t, resp, []*api.Release{})
|
||||
assert.Len(t, apiReleases, expectedLength, msgAndArgs)
|
||||
}
|
||||
|
||||
@@ -98,8 +97,7 @@ func testAPIListReleasesWithReadToken(t *testing.T) {
|
||||
|
||||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/releases", user2.Name, repo.Name))
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK)
|
||||
var apiReleases []*api.Release
|
||||
DecodeJSON(t, resp, &apiReleases)
|
||||
apiReleases := DecodeJSON(t, resp, []*api.Release{})
|
||||
if assert.Len(t, apiReleases, 2) {
|
||||
for _, release := range apiReleases {
|
||||
switch release.ID {
|
||||
@@ -125,7 +123,7 @@ func testAPIListReleasesWithReadToken(t *testing.T) {
|
||||
req.AddTokenAuth(token)
|
||||
}
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiReleases)
|
||||
apiReleases = DecodeJSON(t, resp, []*api.Release{})
|
||||
assert.Len(t, apiReleases, expectedLength, msgAndArgs)
|
||||
}
|
||||
|
||||
@@ -152,8 +150,7 @@ func testAPIGetDraftRelease(t *testing.T) {
|
||||
|
||||
ownerToken := getUserToken(t, owner.LowerName, auth_model.AccessTokenScopeWriteRepository)
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", urlStr).AddTokenAuth(ownerToken), http.StatusOK)
|
||||
var apiRelease api.Release
|
||||
DecodeJSON(t, resp, &apiRelease)
|
||||
apiRelease := DecodeJSON(t, resp, &api.Release{})
|
||||
assert.Equal(t, release.Title, apiRelease.Title)
|
||||
}
|
||||
|
||||
@@ -169,8 +166,7 @@ func createNewReleaseUsingAPI(t *testing.T, token string, owner *user_model.User
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newRelease api.Release
|
||||
DecodeJSON(t, resp, &newRelease)
|
||||
newRelease := DecodeJSON(t, resp, &api.Release{})
|
||||
rel := &repo_model.Release{
|
||||
ID: newRelease.ID,
|
||||
TagName: newRelease.TagName,
|
||||
@@ -179,7 +175,7 @@ func createNewReleaseUsingAPI(t *testing.T, token string, owner *user_model.User
|
||||
unittest.AssertExistsAndLoadBean(t, rel)
|
||||
assert.Equal(t, newRelease.Note, rel.Note)
|
||||
|
||||
return &newRelease
|
||||
return newRelease
|
||||
}
|
||||
|
||||
func TestAPICreateAndUpdateRelease(t *testing.T) {
|
||||
@@ -207,8 +203,7 @@ func TestAPICreateAndUpdateRelease(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var release api.Release
|
||||
DecodeJSON(t, resp, &release)
|
||||
release := DecodeJSON(t, resp, &api.Release{})
|
||||
|
||||
assert.Equal(t, newRelease.TagName, release.TagName)
|
||||
assert.Equal(t, newRelease.Title, release.Title)
|
||||
@@ -224,7 +219,7 @@ func TestAPICreateAndUpdateRelease(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &newRelease)
|
||||
newRelease = DecodeJSON(t, resp, &api.Release{})
|
||||
rel := &repo_model.Release{
|
||||
ID: newRelease.ID,
|
||||
TagName: newRelease.TagName,
|
||||
@@ -353,8 +348,7 @@ func testAPIGetDraftReleaseByTag(t *testing.T) {
|
||||
token := getUserToken(t, "user40", auth_model.AccessTokenScopeReadRepository)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/%s", owner.Name, repo.Name, tag)).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
release := api.Release{}
|
||||
DecodeJSON(t, resp, &release)
|
||||
release := DecodeJSON(t, resp, &api.Release{})
|
||||
assert.Equal(t, "draft-release", release.Title)
|
||||
|
||||
// remove user 40 access from the repository
|
||||
@@ -369,8 +363,7 @@ func testAPIGetDraftReleaseByTag(t *testing.T) {
|
||||
user2Token := getUserToken(t, "user2", auth_model.AccessTokenScopeReadRepository)
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/%s", owner.Name, repo.Name, tag)).AddTokenAuth(user2Token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
release = api.Release{}
|
||||
DecodeJSON(t, resp, &release)
|
||||
release = DecodeJSON(t, resp, &api.Release{})
|
||||
assert.Equal(t, "draft-release", release.Title)
|
||||
}
|
||||
|
||||
@@ -439,15 +432,13 @@ func TestAPIUploadAssetRelease(t *testing.T) {
|
||||
|
||||
t.Run("UploadDefaultName", func(t *testing.T) {
|
||||
resp := performUpload(t, assetURL, bufImageBytes, http.StatusCreated)
|
||||
var attachment api.Attachment
|
||||
DecodeJSON(t, resp, &attachment)
|
||||
attachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
assert.Equal(t, filename, attachment.Name)
|
||||
assert.EqualValues(t, 104, attachment.Size)
|
||||
})
|
||||
t.Run("UploadWithName", func(t *testing.T) {
|
||||
resp := performUpload(t, assetURL+"?name=test-asset", bufImageBytes, http.StatusCreated)
|
||||
var attachment api.Attachment
|
||||
DecodeJSON(t, resp, &attachment)
|
||||
attachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
assert.Equal(t, "test-asset", attachment.Name)
|
||||
assert.EqualValues(t, 104, attachment.Size)
|
||||
})
|
||||
@@ -465,8 +456,7 @@ func TestAPIUploadAssetRelease(t *testing.T) {
|
||||
req = NewRequestWithBody(t, http.MethodPost, assetURL+"?name=stream.bin", bytes.NewReader(bufImageBytes)).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var attachment api.Attachment
|
||||
DecodeJSON(t, resp, &attachment)
|
||||
attachment := DecodeJSON(t, resp, &api.Attachment{})
|
||||
|
||||
assert.Equal(t, "stream.bin", attachment.Name)
|
||||
assert.EqualValues(t, 104, attachment.Size)
|
||||
|
||||
@@ -36,8 +36,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(testCtx.Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "owner", repoPermission.Permission)
|
||||
})
|
||||
@@ -49,8 +48,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(testCtx.Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "read", repoPermission.Permission)
|
||||
})
|
||||
@@ -62,8 +60,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(testCtx.Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "write", repoPermission.Permission)
|
||||
})
|
||||
@@ -75,8 +72,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(testCtx.Token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "admin", repoPermission.Permission)
|
||||
})
|
||||
@@ -103,8 +99,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(_testCtx.Token)
|
||||
resp := _session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "read", repoPermission.Permission)
|
||||
|
||||
@@ -115,8 +110,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user5.Name).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
repoCollPerm := api.RepoCollaboratorPermission{}
|
||||
DecodeJSON(t, resp, &repoCollPerm)
|
||||
repoCollPerm := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "read", repoCollPerm.Permission)
|
||||
})
|
||||
@@ -132,8 +126,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(_testCtx.Token)
|
||||
resp := _session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "read", repoPermission.Permission)
|
||||
})
|
||||
@@ -149,8 +142,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) {
|
||||
AddTokenAuth(_testCtx.Token)
|
||||
resp := _session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var repoPermission api.RepoCollaboratorPermission
|
||||
DecodeJSON(t, resp, &repoPermission)
|
||||
repoPermission := DecodeJSON(t, resp, &api.RepoCollaboratorPermission{})
|
||||
|
||||
assert.Equal(t, "read", repoPermission.Permission)
|
||||
})
|
||||
|
||||
@@ -200,8 +200,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s", user2.Name, repo1.Name), &repoEditOption).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var repo api.Repository
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, repo)
|
||||
// check response
|
||||
assert.Equal(t, *repoEditOption.Name, repo.Name)
|
||||
@@ -237,7 +236,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, repo)
|
||||
// check repo1 was written to database
|
||||
repo1edited = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
@@ -260,7 +259,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, repo)
|
||||
// check repo1 was written to database
|
||||
repo1edited = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
@@ -280,7 +279,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, repo)
|
||||
repo1edited = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
repo1editedOption = getRepoEditOptionFromRepo(repo1edited)
|
||||
@@ -312,7 +311,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, repo)
|
||||
// check repo1 was written to database
|
||||
repo1edited = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
@@ -426,7 +425,7 @@ func TestAPIRepoEdit(t *testing.T) {
|
||||
DefaultDeleteBranchAfterMerge: &bTrue,
|
||||
}).AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.True(t, repo.DefaultDeleteBranchAfterMerge)
|
||||
// reset
|
||||
req = NewRequestWithJSON(t, "PATCH", url, &api.EditRepoOption{
|
||||
|
||||
@@ -194,8 +194,7 @@ func TestAPICreateFile(t *testing.T) {
|
||||
lastCommitterWhen: lastCommit.Committer.When,
|
||||
lastAuthorWhen: lastCommit.Author.When,
|
||||
})
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
normalizeFileContentResponseCommitTime(fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Content, fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA)
|
||||
@@ -217,8 +216,7 @@ func TestAPICreateFile(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedSHA := "a635aa942442ddfdba07468cf9661c08fbdf0ebf"
|
||||
expectedHTMLURL := fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/new_branch/new/file%d.txt", fileID)
|
||||
expectedDownloadURL := fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/new_branch/new/file%d.txt", fileID)
|
||||
@@ -235,7 +233,7 @@ func TestAPICreateFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedMessage := "Add " + treePath + "\n"
|
||||
assert.Equal(t, expectedMessage, fileResponse.Commit.Message)
|
||||
|
||||
@@ -245,12 +243,11 @@ func TestAPICreateFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusUnprocessableEntity)
|
||||
expectedAPIError := context.APIError{
|
||||
expectedAPIError := &context.APIError{
|
||||
Message: "repository file already exists [path: " + treePath + "]",
|
||||
URL: setting.API.SwaggerURL,
|
||||
}
|
||||
var apiError context.APIError
|
||||
DecodeJSON(t, resp, &apiError)
|
||||
apiError := DecodeJSON(t, resp, &context.APIError{})
|
||||
assert.Equal(t, expectedAPIError, apiError)
|
||||
|
||||
// Test creating a file in repo1 by user4 who does not have write access
|
||||
@@ -320,7 +317,7 @@ func TestAPICreateFile(t *testing.T) {
|
||||
lastCommitterWhen: latestCommit.Committer.When,
|
||||
lastAuthorWhen: latestCommit.Author.When,
|
||||
})
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
normalizeFileContentResponseCommitTime(fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Content, fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA)
|
||||
|
||||
@@ -67,8 +67,7 @@ func TestAPIDeleteFile(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
assert.NotNil(t, fileResponse)
|
||||
assert.Nil(t, fileResponse.Content)
|
||||
}
|
||||
@@ -83,8 +82,7 @@ func TestAPIDeleteFile(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
assert.NotNil(t, fileResponse)
|
||||
assert.Nil(t, fileResponse.Content)
|
||||
assert.Equal(t, deleteFileOptions.Message+"\n", fileResponse.Commit.Message)
|
||||
@@ -98,7 +96,7 @@ func TestAPIDeleteFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedMessage := "Delete " + treePath + "\n"
|
||||
assert.Equal(t, expectedMessage, fileResponse.Commit.Message)
|
||||
|
||||
|
||||
@@ -50,8 +50,7 @@ func TestAPIApplyDiffPatchFileOptions(t *testing.T) {
|
||||
|
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/diffpatch", getApplyDiffPatchFileOptions()).AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
assert.Nil(t, fileResponse.Content)
|
||||
assert.NotEmpty(t, fileResponse.Commit.HTMLURL)
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/raw/patch-file-1.txt")
|
||||
|
||||
@@ -147,8 +147,7 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
lastCommitterWhen: lasCommit.Committer.When,
|
||||
lastAuthorWhen: lasCommit.Author.When,
|
||||
})
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
normalizeFileContentResponseCommitTime(fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Content, fileResponse.Content)
|
||||
assert.Equal(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA)
|
||||
@@ -167,8 +166,7 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedSHA := "08bd14b2e2852529157324de9c226b3364e76136"
|
||||
expectedHTMLURL := fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/new_branch/update/file%d.txt", fileID)
|
||||
expectedDownloadURL := fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/new_branch/update/file%d.txt", fileID)
|
||||
@@ -182,7 +180,7 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
updateFileOptions.SHA = ""
|
||||
req = NewRequestWithJSON(t, "PUT", "/api/v1/repos/user2/repo1/contents/update-create.txt", &updateFileOptions).AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
assert.Equal(t, "08bd14b2e2852529157324de9c226b3364e76136", fileResponse.Content.SHA)
|
||||
assert.Equal(t, setting.AppURL+"user2/repo1/raw/branch/master/update-create.txt", *fileResponse.Content.DownloadURL)
|
||||
|
||||
@@ -197,7 +195,7 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedSHA = "08bd14b2e2852529157324de9c226b3364e76136"
|
||||
expectedHTMLURL = fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/master/rename/update/file%d.txt", fileID)
|
||||
expectedDownloadURL = fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/master/rename/update/file%d.txt", fileID)
|
||||
@@ -215,7 +213,7 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse = DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedMessage := "Update " + treePath + "\n"
|
||||
assert.Equal(t, expectedMessage, fileResponse.Commit.Message)
|
||||
|
||||
@@ -229,12 +227,11 @@ func TestAPIUpdateFile(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusUnprocessableEntity)
|
||||
expectedAPIError := context.APIError{
|
||||
expectedAPIError := &context.APIError{
|
||||
Message: "sha does not match [given: " + updateFileOptions.SHA + ", expected: " + correctSHA + "]",
|
||||
URL: setting.API.SwaggerURL,
|
||||
}
|
||||
var apiError context.APIError
|
||||
DecodeJSON(t, resp, &apiError)
|
||||
apiError := DecodeJSON(t, resp, &context.APIError{})
|
||||
assert.Equal(t, expectedAPIError, apiError)
|
||||
|
||||
// Test creating a file in repo1 by user4 who does not have write access
|
||||
|
||||
@@ -113,8 +113,7 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
lastCommitterWhen: updateLastCommit.Committer.When,
|
||||
lastAuthorWhen: updateLastCommit.Author.When,
|
||||
})
|
||||
var filesResponse api.FilesResponse
|
||||
DecodeJSON(t, resp, &filesResponse)
|
||||
filesResponse := DecodeJSON(t, resp, &api.FilesResponse{})
|
||||
normalizeFileContentResponseCommitTime(filesResponse.Files[0])
|
||||
normalizeFileContentResponseCommitTime(filesResponse.Files[1])
|
||||
assert.Equal(t, expectedCreateFileResponse.Content, filesResponse.Files[0]) // check create file
|
||||
@@ -146,8 +145,7 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
req := NewRequestWithJSON(t, "POST", url, &changeFilesOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var filesResponse api.FilesResponse
|
||||
DecodeJSON(t, resp, &filesResponse)
|
||||
filesResponse := DecodeJSON(t, resp, &api.FilesResponse{})
|
||||
expectedCreateSHA := "a635aa942442ddfdba07468cf9661c08fbdf0ebf"
|
||||
expectedCreateHTMLURL := fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/new_branch/new/file%d.txt", fileID)
|
||||
expectedCreateDownloadURL := fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/new_branch/new/file%d.txt", fileID)
|
||||
@@ -201,7 +199,7 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", url, &changeFilesOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &filesResponse)
|
||||
filesResponse = DecodeJSON(t, resp, &api.FilesResponse{})
|
||||
expectedCreateHTMLURL = fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/develop/new/file%d.txt", fileID)
|
||||
expectedCreateDownloadURL = fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/develop/new/file%d.txt", fileID)
|
||||
expectedUpdateHTMLURL = fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/develop/update/file%d.txt", fileID)
|
||||
@@ -255,7 +253,7 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", url, &changeFilesOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &filesResponse)
|
||||
filesResponse = DecodeJSON(t, resp, &api.FilesResponse{})
|
||||
expectedUpdateSHA = "08bd14b2e2852529157324de9c226b3364e76136"
|
||||
expectedUpdateHTMLURL = fmt.Sprintf(setting.AppURL+"user2/repo1/src/branch/master/rename/update/file%d.txt", fileID)
|
||||
expectedUpdateDownloadURL = fmt.Sprintf(setting.AppURL+"user2/repo1/raw/branch/master/rename/update/file%d.txt", fileID)
|
||||
@@ -279,7 +277,7 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", url, &changeFilesOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &filesResponse)
|
||||
filesResponse = DecodeJSON(t, resp, &api.FilesResponse{})
|
||||
expectedMessage := fmt.Sprintf("Add %v\nUpdate %v\nDelete %v\n", createTreePath, updateTreePath, deleteTreePath)
|
||||
assert.Equal(t, expectedMessage, filesResponse.Commit.Message)
|
||||
|
||||
@@ -295,12 +293,11 @@ func TestAPIChangeFiles(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", url, &changeFilesOptions).
|
||||
AddTokenAuth(token2)
|
||||
resp = MakeRequest(t, req, http.StatusUnprocessableEntity)
|
||||
expectedAPIError := context.APIError{
|
||||
expectedAPIError := &context.APIError{
|
||||
Message: "sha does not match [given: " + changeFilesOptions.Files[0].SHA + ", expected: " + correctSHA + "]",
|
||||
URL: setting.API.SwaggerURL,
|
||||
}
|
||||
var apiError context.APIError
|
||||
DecodeJSON(t, resp, &apiError)
|
||||
apiError := DecodeJSON(t, resp, &context.APIError{})
|
||||
assert.Equal(t, expectedAPIError, apiError)
|
||||
|
||||
// Test creating a file in repo1 by user4 who does not have write access
|
||||
|
||||
@@ -53,7 +53,7 @@ func TestAPIGetRequestedFiles(t *testing.T) {
|
||||
if resp.Code != http.StatusOK {
|
||||
return nil
|
||||
}
|
||||
DecodeJSON(t, resp, &ret)
|
||||
ret = DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
return ret
|
||||
}
|
||||
|
||||
@@ -62,8 +62,7 @@ func TestAPIGetRequestedFiles(t *testing.T) {
|
||||
reqBodyParam, _ := json.Marshal(reqBodyOpt)
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/file-contents?body="+url.QueryEscape(string(reqBodyParam)))
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var ret []*api.ContentsResponse
|
||||
DecodeJSON(t, resp, &ret)
|
||||
ret := DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
expected := []*api.ContentsResponse{getExpectedContentsResponseForContents(repo1.DefaultBranch, "branch", lastCommit.ID.String())}
|
||||
assert.Equal(t, expected, ret)
|
||||
})
|
||||
|
||||
@@ -94,8 +94,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) {
|
||||
refType := "branch"
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents?ref=%s", user2.Name, repo1.Name, ref)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var contentsListResponse []*api.ContentsResponse
|
||||
DecodeJSON(t, resp, &contentsListResponse)
|
||||
contentsListResponse := DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
assert.NotNil(t, contentsListResponse)
|
||||
lastCommit, err := gitRepo.GetCommitByPath("README.md")
|
||||
assert.NoError(t, err)
|
||||
@@ -106,7 +105,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) {
|
||||
refType = "branch"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/", user2.Name, repo1.Name)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsListResponse)
|
||||
contentsListResponse = DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
assert.NotNil(t, contentsListResponse)
|
||||
|
||||
expectedContentsListResponse = getExpectedContentsListResponseForContents(repo1.DefaultBranch, refType, lastCommit.ID.String())
|
||||
@@ -117,7 +116,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) {
|
||||
refType = "branch"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents?ref=%s", user2.Name, repo1.Name, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsListResponse)
|
||||
contentsListResponse = DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
assert.NotNil(t, contentsListResponse)
|
||||
branchCommit, err := gitRepo.GetBranchCommit(ref)
|
||||
assert.NoError(t, err)
|
||||
@@ -131,7 +130,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) {
|
||||
refType = "tag"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/?ref=%s", user2.Name, repo1.Name, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsListResponse)
|
||||
contentsListResponse = DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
assert.NotNil(t, contentsListResponse)
|
||||
tagCommit, err := gitRepo.GetTagCommit(ref)
|
||||
assert.NoError(t, err)
|
||||
@@ -145,7 +144,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) {
|
||||
refType = "commit"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/?ref=%s", user2.Name, repo1.Name, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsListResponse)
|
||||
contentsListResponse = DecodeJSON(t, resp, []*api.ContentsResponse{})
|
||||
assert.NotNil(t, contentsListResponse)
|
||||
expectedContentsListResponse = getExpectedContentsListResponseForContents(ref, refType, commitID)
|
||||
assert.Equal(t, expectedContentsListResponse, contentsListResponse)
|
||||
|
||||
@@ -105,50 +105,49 @@ func testAPIGetContents(t *testing.T, _ *url.URL) {
|
||||
refType := "branch"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
var contentsResponse api.ContentsResponse
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse := DecodeJSON(t, resp, &api.ContentsResponse{})
|
||||
lastCommit, _ := gitRepo.GetCommitByPath("README.md")
|
||||
expectedContentsResponse := getExpectedContentsResponseForContents(ref, refType, lastCommit.ID.String())
|
||||
assert.Equal(t, *expectedContentsResponse, contentsResponse)
|
||||
assert.Equal(t, *expectedContentsResponse, *contentsResponse)
|
||||
|
||||
// No ref
|
||||
refType = "branch"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsResponse{})
|
||||
expectedContentsResponse = getExpectedContentsResponseForContents(repo1.DefaultBranch, refType, lastCommit.ID.String())
|
||||
assert.Equal(t, *expectedContentsResponse, contentsResponse)
|
||||
assert.Equal(t, *expectedContentsResponse, *contentsResponse)
|
||||
|
||||
// ref is the branch we created above in setup
|
||||
ref = newBranch
|
||||
refType = "branch"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsResponse{})
|
||||
branchCommit, _ := gitRepo.GetBranchCommit(ref)
|
||||
lastCommit, _ = branchCommit.GetCommitByPath("README.md")
|
||||
expectedContentsResponse = getExpectedContentsResponseForContents(ref, refType, lastCommit.ID.String())
|
||||
assert.Equal(t, *expectedContentsResponse, contentsResponse)
|
||||
assert.Equal(t, *expectedContentsResponse, *contentsResponse)
|
||||
|
||||
// ref is the new tag we created above in setup
|
||||
ref = newTag
|
||||
refType = "tag"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsResponse{})
|
||||
tagCommit, _ := gitRepo.GetTagCommit(ref)
|
||||
lastCommit, _ = tagCommit.GetCommitByPath("README.md")
|
||||
expectedContentsResponse = getExpectedContentsResponseForContents(ref, refType, lastCommit.ID.String())
|
||||
assert.Equal(t, *expectedContentsResponse, contentsResponse)
|
||||
assert.Equal(t, *expectedContentsResponse, *contentsResponse)
|
||||
|
||||
// ref is a commit
|
||||
ref = commitID
|
||||
refType = "commit"
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsResponse{})
|
||||
expectedContentsResponse = getExpectedContentsResponseForContents(ref, refType, commitID)
|
||||
assert.Equal(t, *expectedContentsResponse, contentsResponse)
|
||||
assert.Equal(t, *expectedContentsResponse, *contentsResponse)
|
||||
|
||||
// Test file contents a file with a bad ref
|
||||
ref = "badref"
|
||||
@@ -211,22 +210,19 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
t.Run("DirContents", func(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext?ref=sub-home-md-img-check")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var contentsResponse api.ContentsExtResponse
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse := DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.FileContents)
|
||||
assert.NotNil(t, contentsResponse.DirContents)
|
||||
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext/.?ref=sub-home-md-img-check")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.FileContents)
|
||||
assert.NotNil(t, contentsResponse.DirContents)
|
||||
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext/docs?ref=sub-home-md-img-check")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.FileContents)
|
||||
assert.Equal(t, "README.md", contentsResponse.DirContents[0].Name)
|
||||
assert.Nil(t, contentsResponse.DirContents[0].Encoding)
|
||||
@@ -237,8 +233,7 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
// "includes=file_content" shouldn't affect directory listing
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext/docs?ref=sub-home-md-img-check&includes=file_content")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.FileContents)
|
||||
assert.Equal(t, "README.md", contentsResponse.DirContents[0].Name)
|
||||
assert.Nil(t, contentsResponse.DirContents[0].Encoding)
|
||||
@@ -246,8 +241,7 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/lfs/contents-ext?includes=file_content,lfs_metadata").AddTokenAuth(token2)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.FileContents)
|
||||
respFileIdx := slices.IndexFunc(contentsResponse.DirContents, func(response *api.ContentsResponse) bool { return response.Name == "jpeg.jpg" })
|
||||
require.NotEqual(t, -1, respFileIdx)
|
||||
@@ -262,8 +256,7 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
// by default, no file content or commit info is returned
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext/docs/README.md?ref=sub-home-md-img-check")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var contentsResponse api.ContentsExtResponse
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse := DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.DirContents)
|
||||
assert.Equal(t, "README.md", contentsResponse.FileContents.Name)
|
||||
assert.Nil(t, contentsResponse.FileContents.Encoding)
|
||||
@@ -274,8 +267,7 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
// file content is only returned when `includes=file_content`
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/contents-ext/docs/README.md?ref=sub-home-md-img-check&includes=file_content,commit_metadata,commit_message")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.DirContents)
|
||||
assert.Equal(t, "README.md", contentsResponse.FileContents.Name)
|
||||
assert.NotNil(t, contentsResponse.FileContents.Encoding)
|
||||
@@ -285,8 +277,7 @@ func testAPIGetContentsExt(t *testing.T) {
|
||||
|
||||
req = NewRequestf(t, "GET", "/api/v1/repos/user2/lfs/contents-ext/jpeg.jpg?includes=file_content").AddTokenAuth(token2)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
contentsResponse = api.ContentsExtResponse{}
|
||||
DecodeJSON(t, resp, &contentsResponse)
|
||||
contentsResponse = DecodeJSON(t, resp, &api.ContentsExtResponse{})
|
||||
assert.Nil(t, contentsResponse.DirContents)
|
||||
assert.NotNil(t, contentsResponse.FileContents)
|
||||
respFile := contentsResponse.FileContents
|
||||
|
||||
@@ -37,8 +37,7 @@ func TestAPIReposGitBlobs(t *testing.T) {
|
||||
// Test a public repo that anyone can GET the blob of
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", user2.Name, repo1.Name, repo1ReadmeSHA)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var gitBlobResponse api.GitBlobResponse
|
||||
DecodeJSON(t, resp, &gitBlobResponse)
|
||||
gitBlobResponse := DecodeJSON(t, resp, &api.GitBlobResponse{})
|
||||
assert.NotNil(t, gitBlobResponse)
|
||||
expectedContent := "dHJlZSAyYTJmMWQ0NjcwNzI4YTJlMTAwNDllMzQ1YmQ3YTI3NjQ2OGJlYWI2CmF1dGhvciB1c2VyMSA8YWRkcmVzczFAZXhhbXBsZS5jb20+IDE0ODk5NTY0NzkgLTA0MDAKY29tbWl0dGVyIEV0aGFuIEtvZW5pZyA8ZXRoYW50a29lbmlnQGdtYWlsLmNvbT4gMTQ4OTk1NjQ3OSAtMDQwMAoKSW5pdGlhbCBjb21taXQK"
|
||||
assert.Equal(t, expectedContent, *gitBlobResponse.Content)
|
||||
|
||||
@@ -68,8 +68,7 @@ func TestAPIReposGitCommitList(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 2)
|
||||
assert.Equal(t, "cfe3b3c1fd36fba04f9183287b106497e1afe986", apiData[0].CommitMeta.SHA)
|
||||
@@ -92,8 +91,7 @@ func TestAPIReposGitCommitListNotMaster(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 3)
|
||||
assert.Equal(t, "69554a64c1e6030f051e5c3f94bfbd773cd6a324", apiData[0].CommitMeta.SHA)
|
||||
@@ -118,8 +116,7 @@ func TestAPIReposGitCommitListPage2Empty(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Empty(t, apiData)
|
||||
}
|
||||
@@ -136,8 +133,7 @@ func TestAPIReposGitCommitListDifferentBranch(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 1)
|
||||
assert.Equal(t, "f27c2b2b03dcab38beaf89b0ab4ff61f6de63441", apiData[0].CommitMeta.SHA)
|
||||
@@ -156,8 +152,7 @@ func TestAPIReposGitCommitListWithoutSelectFields(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 1)
|
||||
assert.Equal(t, "f27c2b2b03dcab38beaf89b0ab4ff61f6de63441", apiData[0].CommitMeta.SHA)
|
||||
@@ -201,8 +196,7 @@ func TestGetFileHistory(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 1)
|
||||
assert.Equal(t, "f27c2b2b03dcab38beaf89b0ab4ff61f6de63441", apiData[0].CommitMeta.SHA)
|
||||
@@ -222,8 +216,7 @@ func TestGetFileHistoryNotOnMaster(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData []api.Commit
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, []api.Commit{})
|
||||
|
||||
assert.Len(t, apiData, 1)
|
||||
assert.Equal(t, "c8e31bc7688741a5287fcde4fbb8fc129ca07027", apiData[0].CommitMeta.SHA)
|
||||
|
||||
@@ -40,8 +40,7 @@ echo "TestGitHookScript"
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git", owner.Name, repo.Name).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiGitHooks []*api.GitHook
|
||||
DecodeJSON(t, resp, &apiGitHooks)
|
||||
apiGitHooks := DecodeJSON(t, resp, []*api.GitHook{})
|
||||
assert.Len(t, apiGitHooks, 3)
|
||||
for _, apiGitHook := range apiGitHooks {
|
||||
if apiGitHook.Name == "pre-receive" {
|
||||
@@ -66,8 +65,7 @@ echo "TestGitHookScript"
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git", owner.Name, repo.Name).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiGitHooks []*api.GitHook
|
||||
DecodeJSON(t, resp, &apiGitHooks)
|
||||
apiGitHooks := DecodeJSON(t, resp, []*api.GitHook{})
|
||||
assert.Len(t, apiGitHooks, 3)
|
||||
for _, apiGitHook := range apiGitHooks {
|
||||
assert.False(t, apiGitHook.IsActive)
|
||||
|
||||
@@ -37,8 +37,7 @@ func TestAPIReposGitNotes(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiData api.Note
|
||||
DecodeJSON(t, resp, &apiData)
|
||||
apiData := DecodeJSON(t, resp, &api.Note{})
|
||||
assert.Equal(t, "This is a test note\n", apiData.Message)
|
||||
assert.NotEmpty(t, apiData.Commit.Files)
|
||||
assert.NotNil(t, apiData.Commit.RepoCommit.Verification)
|
||||
|
||||
@@ -39,15 +39,13 @@ func TestAPIReposGitTrees(t *testing.T) {
|
||||
_ = MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/master"), http.StatusOK)
|
||||
|
||||
resp := MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?per_page=1"), http.StatusOK)
|
||||
var respGitTree api.GitTreeResponse
|
||||
DecodeJSON(t, resp, &respGitTree)
|
||||
respGitTree := DecodeJSON(t, resp, &api.GitTreeResponse{})
|
||||
assert.True(t, respGitTree.Truncated)
|
||||
require.Len(t, respGitTree.Entries, 1)
|
||||
assert.Equal(t, "File-WoW", respGitTree.Entries[0].Path)
|
||||
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?page=2&per_page=1"), http.StatusOK)
|
||||
respGitTree = api.GitTreeResponse{}
|
||||
DecodeJSON(t, resp, &respGitTree)
|
||||
respGitTree = DecodeJSON(t, resp, &api.GitTreeResponse{})
|
||||
assert.False(t, respGitTree.Truncated)
|
||||
require.Len(t, respGitTree.Entries, 1)
|
||||
assert.Equal(t, "README.md", respGitTree.Entries[0].Path)
|
||||
|
||||
@@ -43,8 +43,7 @@ func TestRepoLanguages(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/languages")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var languages map[string]int64
|
||||
DecodeJSON(t, resp, &languages)
|
||||
languages := DecodeJSON(t, resp, map[string]int64{})
|
||||
|
||||
assert.InDeltaMapValues(t, map[string]int64{"Go": 12}, languages, 0)
|
||||
})
|
||||
|
||||
@@ -45,8 +45,7 @@ func TestAPILFSLocksNotLogin(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/%s/%s.git/info/lfs/locks", user.Name, repo.Name)
|
||||
req.Header.Set("Accept", lfs.MediaType)
|
||||
resp := MakeRequest(t, req, http.StatusUnauthorized)
|
||||
var lfsLockError api.LFSLockError
|
||||
DecodeJSON(t, resp, &lfsLockError)
|
||||
lfsLockError := DecodeJSON(t, resp, &api.LFSLockError{})
|
||||
assert.Equal(t, "You must have pull access to list locks", lfsLockError.Message)
|
||||
}
|
||||
|
||||
@@ -109,8 +108,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
|
||||
req.Header.Set("Content-Type", lfs.MediaType)
|
||||
resp := session.MakeRequest(t, req, test.httpResult)
|
||||
if len(test.addTime) > 0 {
|
||||
var lfsLock api.LFSLockResponse
|
||||
DecodeJSON(t, resp, &lfsLock)
|
||||
lfsLock := DecodeJSON(t, resp, &api.LFSLockResponse{})
|
||||
assert.Equal(t, test.user.Name, lfsLock.Lock.Owner.Name)
|
||||
assert.Equal(t, lfsLock.Lock.LockedAt.Format(time.RFC3339), lfsLock.Lock.LockedAt.Format(time.RFC3339Nano)) // locked at should be rounded to second
|
||||
for _, id := range test.addTime {
|
||||
@@ -125,8 +123,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/%s.git/info/lfs/locks", test.repo.FullName())
|
||||
req.Header.Set("Accept", lfs.AcceptHeader)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
var lfsLocks api.LFSLockList
|
||||
DecodeJSON(t, resp, &lfsLocks)
|
||||
lfsLocks := DecodeJSON(t, resp, &api.LFSLockList{})
|
||||
assert.Len(t, lfsLocks.Locks, test.totalCount)
|
||||
for i, lock := range lfsLocks.Locks {
|
||||
assert.Equal(t, test.locksOwners[i].Name, lock.Owner.Name)
|
||||
@@ -138,8 +135,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
|
||||
req.Header.Set("Accept", lfs.AcceptHeader)
|
||||
req.Header.Set("Content-Type", lfs.MediaType)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
var lfsLocksVerify api.LFSLockListVerify
|
||||
DecodeJSON(t, resp, &lfsLocksVerify)
|
||||
lfsLocksVerify := DecodeJSON(t, resp, &api.LFSLockListVerify{})
|
||||
assert.Len(t, lfsLocksVerify.Ours, test.oursCount)
|
||||
assert.Len(t, lfsLocksVerify.Theirs, test.theirsCount)
|
||||
for _, lock := range lfsLocksVerify.Ours {
|
||||
@@ -162,8 +158,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
|
||||
req.Header.Set("Accept", lfs.AcceptHeader)
|
||||
req.Header.Set("Content-Type", lfs.MediaType)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
var lfsLockRep api.LFSLockResponse
|
||||
DecodeJSON(t, resp, &lfsLockRep)
|
||||
lfsLockRep := DecodeJSON(t, resp, &api.LFSLockResponse{})
|
||||
assert.Equal(t, test.lockID, lfsLockRep.Lock.ID)
|
||||
assert.Equal(t, test.user.Name, lfsLockRep.Lock.Owner.Name)
|
||||
}
|
||||
@@ -174,8 +169,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/%s.git/info/lfs/locks", test.repo.FullName())
|
||||
req.Header.Set("Accept", lfs.AcceptHeader)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
var lfsLocks api.LFSLockList
|
||||
DecodeJSON(t, resp, &lfsLocks)
|
||||
lfsLocks := DecodeJSON(t, resp, &api.LFSLockList{})
|
||||
assert.Empty(t, lfsLocks.Locks)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +74,7 @@ func checkRepoLicense(t *testing.T, owner, repo string, expected []string) {
|
||||
req := NewRequest(t, "GET", reqURL)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var licenses []string
|
||||
DecodeJSON(t, resp, &licenses)
|
||||
licenses := DecodeJSON(t, resp, []string{})
|
||||
|
||||
assert.ElementsMatch(t, expected, licenses, 0)
|
||||
}
|
||||
|
||||
@@ -31,8 +31,7 @@ func TestAPIRepoTags(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var tags []*api.Tag
|
||||
DecodeJSON(t, resp, &tags)
|
||||
tags := DecodeJSON(t, resp, []*api.Tag{})
|
||||
|
||||
assert.Len(t, tags, 1)
|
||||
assert.Equal(t, "v1.1", tags[0].Name)
|
||||
@@ -44,7 +43,7 @@ func TestAPIRepoTags(t *testing.T) {
|
||||
|
||||
newTag := createNewTagUsingAPI(t, token, user.Name, repoName, "gitea/22", "", "nice!\nand some text")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &tags)
|
||||
tags = DecodeJSON(t, resp, []*api.Tag{})
|
||||
assert.Len(t, tags, 2)
|
||||
for _, tag := range tags {
|
||||
if tag.Name != "v1.1" {
|
||||
@@ -80,7 +79,6 @@ func createNewTagUsingAPI(t *testing.T, token, ownerName, repoName, name, target
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var respObj api.Tag
|
||||
DecodeJSON(t, resp, &respObj)
|
||||
return &respObj
|
||||
respObj := DecodeJSON(t, resp, &api.Tag{})
|
||||
return respObj
|
||||
}
|
||||
|
||||
@@ -34,8 +34,7 @@ func TestAPIRepoTeams(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/teams", publicOrgRepo.FullName())).
|
||||
AddTokenAuth(token)
|
||||
res := MakeRequest(t, req, http.StatusOK)
|
||||
var teams []*api.Team
|
||||
DecodeJSON(t, res, &teams)
|
||||
teams := DecodeJSON(t, res, []*api.Team{})
|
||||
if assert.Len(t, teams, 2) {
|
||||
assert.Equal(t, "Owners", teams[0].Name)
|
||||
assert.True(t, teams[0].CanCreateOrgRepo)
|
||||
|
||||
@@ -30,8 +30,7 @@ func TestAPIUserReposNotLogin(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/users/%s/repos", user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiRepos []api.Repository
|
||||
DecodeJSON(t, resp, &apiRepos)
|
||||
apiRepos := DecodeJSON(t, resp, []api.Repository{})
|
||||
expectedLen := unittest.GetCount(t, repo_model.Repository{OwnerID: user.ID},
|
||||
unittest.Cond("is_private = ?", false))
|
||||
assert.Len(t, apiRepos, expectedLen)
|
||||
@@ -48,8 +47,7 @@ func TestAPISearchRepo(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/search?q=%s", keyword)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var body api.SearchResults
|
||||
DecodeJSON(t, resp, &body)
|
||||
body := DecodeJSON(t, resp, &api.SearchResults{})
|
||||
assert.NotEmpty(t, body.Data)
|
||||
for _, repo := range body.Data {
|
||||
assert.Contains(t, repo.Name, keyword)
|
||||
@@ -201,8 +199,7 @@ func TestAPISearchRepo(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
response := MakeRequest(t, request, http.StatusOK)
|
||||
|
||||
var body api.SearchResults
|
||||
DecodeJSON(t, response, &body)
|
||||
body := DecodeJSON(t, response, &api.SearchResults{})
|
||||
|
||||
repoNames := make([]string, 0, len(body.Data))
|
||||
for _, repo := range body.Data {
|
||||
@@ -248,11 +245,9 @@ func getRepo(t *testing.T, repoID int64) *repo_model.Repository {
|
||||
func TestAPIViewRepo(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
var repo api.Repository
|
||||
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.EqualValues(t, 1, repo.ID)
|
||||
assert.Equal(t, "repo1", repo.Name)
|
||||
assert.Equal(t, 2, repo.Releases)
|
||||
@@ -261,7 +256,7 @@ func TestAPIViewRepo(t *testing.T) {
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user12/repo10")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.EqualValues(t, 10, repo.ID)
|
||||
assert.Equal(t, "repo10", repo.Name)
|
||||
assert.Equal(t, 1, repo.OpenPulls)
|
||||
@@ -269,7 +264,7 @@ func TestAPIViewRepo(t *testing.T) {
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user5/repo4")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo = DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.EqualValues(t, 4, repo.ID)
|
||||
assert.Equal(t, "repo4", repo.Name)
|
||||
assert.Equal(t, 1, repo.Stars)
|
||||
@@ -303,8 +298,7 @@ func TestAPIOrgRepos(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiRepos []*api.Repository
|
||||
DecodeJSON(t, resp, &apiRepos)
|
||||
apiRepos := DecodeJSON(t, resp, []*api.Repository{})
|
||||
assert.Len(t, apiRepos, expected.count)
|
||||
for _, repo := range apiRepos {
|
||||
if !expected.includesPrivate {
|
||||
@@ -337,8 +331,7 @@ func TestAPIOrgReposWithCodeUnitDisabled(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var apiRepos []*api.Repository
|
||||
DecodeJSON(t, resp, &apiRepos)
|
||||
apiRepos := DecodeJSON(t, resp, []*api.Repository{})
|
||||
|
||||
var repoNames []string
|
||||
for _, r := range apiRepos {
|
||||
@@ -385,8 +378,7 @@ func TestAPIRepoMigrate(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, NoExpectedStatus)
|
||||
if resp.Code == http.StatusUnprocessableEntity {
|
||||
respJSON := map[string]string{}
|
||||
DecodeJSON(t, resp, &respJSON)
|
||||
respJSON := DecodeJSON(t, resp, map[string]string{})
|
||||
switch respJSON["message"] {
|
||||
case "Remote visit addressed rate limitation.":
|
||||
t.Log("test hit github rate limitation")
|
||||
@@ -431,8 +423,7 @@ func testAPIRepoMigrateConflict(t *testing.T, u *url.URL) {
|
||||
}).
|
||||
AddTokenAuth(httpContext.Token)
|
||||
resp := httpContext.Session.MakeRequest(t, req, http.StatusConflict)
|
||||
respJSON := map[string]string{}
|
||||
DecodeJSON(t, resp, &respJSON)
|
||||
respJSON := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Equal(t, "The repository with the same name already exists.", respJSON["message"])
|
||||
})
|
||||
}
|
||||
@@ -445,17 +436,15 @@ func TestAPIMirrorSyncNonMirrorRepo(t *testing.T) {
|
||||
session := loginUser(t, "user2")
|
||||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
|
||||
|
||||
var repo api.Repository
|
||||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.False(t, repo.Mirror)
|
||||
|
||||
req = NewRequestf(t, "POST", "/api/v1/repos/user2/repo1/mirror-sync").
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusBadRequest)
|
||||
errRespJSON := map[string]string{}
|
||||
DecodeJSON(t, resp, &errRespJSON)
|
||||
errRespJSON := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Equal(t, "Repository is not a mirror", errRespJSON["message"])
|
||||
}
|
||||
|
||||
@@ -511,8 +500,7 @@ func testAPIRepoCreateConflict(t *testing.T, u *url.URL) {
|
||||
}).
|
||||
AddTokenAuth(httpContext.Token)
|
||||
resp := httpContext.Session.MakeRequest(t, req, http.StatusConflict)
|
||||
respJSON := map[string]string{}
|
||||
DecodeJSON(t, resp, &respJSON)
|
||||
respJSON := DecodeJSON(t, resp, map[string]string{})
|
||||
assert.Equal(t, "The repository with the same name already exists.", respJSON["message"])
|
||||
})
|
||||
}
|
||||
@@ -709,8 +697,7 @@ func TestAPIRepoGetReviewers(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/reviewers", user.Name, repo.Name).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var reviewers []*api.User
|
||||
DecodeJSON(t, resp, &reviewers)
|
||||
reviewers := DecodeJSON(t, resp, []*api.User{})
|
||||
if assert.Len(t, reviewers, 1) {
|
||||
assert.ElementsMatch(t, []int64{2}, []int64{reviewers[0].ID})
|
||||
}
|
||||
@@ -726,7 +713,6 @@ func TestAPIRepoGetAssignees(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/assignees", user.Name, repo.Name).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var assignees []*api.User
|
||||
DecodeJSON(t, resp, &assignees)
|
||||
assignees := DecodeJSON(t, resp, []*api.User{})
|
||||
assert.Len(t, assignees, 2)
|
||||
}
|
||||
|
||||
@@ -22,33 +22,34 @@ import (
|
||||
func TestAPITopicSearch(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
searchURL, _ := url.Parse("/api/v1/topics/search")
|
||||
var topics struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}
|
||||
|
||||
// search all topics
|
||||
res := MakeRequest(t, NewRequest(t, "GET", searchURL.String()), http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics := DecodeJSON(t, res, &struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}{})
|
||||
assert.Len(t, topics.TopicNames, 6)
|
||||
assert.Equal(t, "6", res.Header().Get("x-total-count"))
|
||||
|
||||
// pagination search topics first page
|
||||
topics.TopicNames = nil
|
||||
query := url.Values{"page": []string{"1"}, "limit": []string{"4"}}
|
||||
|
||||
searchURL.RawQuery = query.Encode()
|
||||
res = MakeRequest(t, NewRequest(t, "GET", searchURL.String()), http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}{})
|
||||
assert.Len(t, topics.TopicNames, 4)
|
||||
assert.Equal(t, "6", res.Header().Get("x-total-count"))
|
||||
|
||||
// pagination search topics second page
|
||||
topics.TopicNames = nil
|
||||
query = url.Values{"page": []string{"2"}, "limit": []string{"4"}}
|
||||
|
||||
searchURL.RawQuery = query.Encode()
|
||||
res = MakeRequest(t, NewRequest(t, "GET", searchURL.String()), http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}{})
|
||||
assert.Len(t, topics.TopicNames, 2)
|
||||
assert.Equal(t, "6", res.Header().Get("x-total-count"))
|
||||
|
||||
@@ -57,13 +58,17 @@ func TestAPITopicSearch(t *testing.T) {
|
||||
query.Add("q", "topic")
|
||||
searchURL.RawQuery = query.Encode()
|
||||
res = MakeRequest(t, NewRequest(t, "GET", searchURL.String()), http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}{})
|
||||
assert.Len(t, topics.TopicNames, 2)
|
||||
|
||||
query.Set("q", "database")
|
||||
searchURL.RawQuery = query.Encode()
|
||||
res = MakeRequest(t, NewRequest(t, "GET", searchURL.String()), http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &struct {
|
||||
TopicNames []*api.TopicResponse `json:"topics"`
|
||||
}{})
|
||||
if assert.Len(t, topics.TopicNames, 1) {
|
||||
assert.EqualValues(t, 2, topics.TopicNames[0].ID)
|
||||
assert.Equal(t, "database", topics.TopicNames[0].Name)
|
||||
@@ -110,7 +115,7 @@ func TestAPIRepoTopic(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth(token2)
|
||||
res = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &api.TopicName{})
|
||||
assert.ElementsMatch(t, []string{"topicname2", "golang", "topicname3"}, topics.TopicNames)
|
||||
|
||||
// Test replace topics
|
||||
@@ -122,7 +127,7 @@ func TestAPIRepoTopic(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth(token2)
|
||||
res = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &api.TopicName{})
|
||||
assert.ElementsMatch(t, []string{"windows", "mac"}, topics.TopicNames)
|
||||
|
||||
// Test replace topics with something invalid
|
||||
@@ -134,7 +139,7 @@ func TestAPIRepoTopic(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth(token2)
|
||||
res = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &api.TopicName{})
|
||||
assert.ElementsMatch(t, []string{"windows", "mac"}, topics.TopicNames)
|
||||
|
||||
// Test with some topics multiple times, less than 25 unique
|
||||
@@ -146,7 +151,7 @@ func TestAPIRepoTopic(t *testing.T) {
|
||||
req = NewRequest(t, "GET", url).
|
||||
AddTokenAuth(token2)
|
||||
res = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &api.TopicName{})
|
||||
assert.Len(t, topics.TopicNames, 25)
|
||||
|
||||
// Test writing more topics than allowed
|
||||
@@ -173,7 +178,7 @@ func TestAPIRepoTopic(t *testing.T) {
|
||||
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/topics", org3.Name, repo3.Name)).
|
||||
AddTokenAuth(token4)
|
||||
res = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, res, &topics)
|
||||
topics = DecodeJSON(t, res, &api.TopicName{})
|
||||
assert.Empty(t, topics.TopicNames)
|
||||
|
||||
// Test add a topic to repo with write access (requires repo admin access)
|
||||
|
||||
@@ -17,19 +17,17 @@ import (
|
||||
func TestAPIExposedSettings(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
ui := new(api.GeneralUISettings)
|
||||
req := NewRequest(t, "GET", "/api/v1/settings/ui")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &ui)
|
||||
ui := DecodeJSON(t, resp, &api.GeneralUISettings{})
|
||||
assert.Len(t, ui.AllowedReactions, len(setting.UI.Reactions))
|
||||
assert.ElementsMatch(t, setting.UI.Reactions, ui.AllowedReactions)
|
||||
|
||||
apiSettings := new(api.GeneralAPISettings)
|
||||
req = NewRequest(t, "GET", "/api/v1/settings/api")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &apiSettings)
|
||||
apiSettings := DecodeJSON(t, resp, &api.GeneralAPISettings{})
|
||||
assert.Equal(t, &api.GeneralAPISettings{
|
||||
MaxResponseItems: setting.API.MaxResponseItems,
|
||||
DefaultPagingNum: setting.API.DefaultPagingNum,
|
||||
@@ -38,11 +36,10 @@ func TestAPIExposedSettings(t *testing.T) {
|
||||
DefaultMaxResponseSize: setting.API.DefaultMaxResponseSize,
|
||||
}, apiSettings)
|
||||
|
||||
repo := new(api.GeneralRepoSettings)
|
||||
req = NewRequest(t, "GET", "/api/v1/settings/repository")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &repo)
|
||||
repo := DecodeJSON(t, resp, &api.GeneralRepoSettings{})
|
||||
assert.Equal(t, &api.GeneralRepoSettings{
|
||||
MirrorsDisabled: !setting.Mirror.Enabled,
|
||||
HTTPGitDisabled: setting.Repository.DisableHTTPGit,
|
||||
@@ -51,11 +48,10 @@ func TestAPIExposedSettings(t *testing.T) {
|
||||
LFSDisabled: !setting.LFS.StartServer,
|
||||
}, repo)
|
||||
|
||||
attachment := new(api.GeneralAttachmentSettings)
|
||||
req = NewRequest(t, "GET", "/api/v1/settings/attachment")
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &attachment)
|
||||
attachment := DecodeJSON(t, resp, &api.GeneralAttachmentSettings{})
|
||||
assert.Equal(t, &api.GeneralAttachmentSettings{
|
||||
Enabled: setting.Attachment.Enabled,
|
||||
AllowedTypes: setting.Attachment.AllowedTypes,
|
||||
|
||||
@@ -37,8 +37,7 @@ func TestAPITeam(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiTeam api.Team
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
apiTeam := DecodeJSON(t, resp, &api.Team{})
|
||||
assert.Equal(t, team.ID, apiTeam.ID)
|
||||
assert.Equal(t, team.Name, apiTeam.Name)
|
||||
assert.Equal(t, convert.ToOrganization(t.Context(), org), apiTeam.Organization)
|
||||
@@ -74,9 +73,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/orgs/%s/teams", org.Name), teamToCreate).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "CreateTeam1", &apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "CreateTeam1", apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", teamToCreate.Units, nil)
|
||||
checkTeamBean(t, apiTeam.ID, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", teamToCreate.Units, nil)
|
||||
@@ -96,9 +94,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/teams/%d", teamID), teamToEdit).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "EditTeam1", &apiTeam, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "EditTeam1", apiTeam, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
teamToEdit.Permission, unit.AllUnitKeyNames(), nil)
|
||||
checkTeamBean(t, apiTeam.ID, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
teamToEdit.Permission, unit.AllUnitKeyNames(), nil)
|
||||
@@ -109,9 +106,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/teams/%d", teamID), teamToEditDesc).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "EditTeam1_DescOnly", &apiTeam, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "EditTeam1_DescOnly", apiTeam, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
teamToEdit.Permission, unit.AllUnitKeyNames(), nil)
|
||||
checkTeamBean(t, apiTeam.ID, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
teamToEdit.Permission, unit.AllUnitKeyNames(), nil)
|
||||
@@ -122,9 +118,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestf(t, "GET", "/api/v1/teams/%d", teamID).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "ReadTeam1", &apiTeam, teamRead.Name, *teamToEditDesc.Description, teamRead.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "ReadTeam1", apiTeam, teamRead.Name, *teamToEditDesc.Description, teamRead.IncludesAllRepositories,
|
||||
teamRead.AccessMode.ToString(), teamRead.GetUnitNames(), teamRead.GetUnitsMap())
|
||||
|
||||
// Delete team.
|
||||
@@ -145,9 +140,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/orgs/%s/teams", org.Name), teamToCreate).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "CreateTeam2", &apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "CreateTeam2", apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", nil, teamToCreate.UnitsMap)
|
||||
checkTeamBean(t, apiTeam.ID, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", nil, teamToCreate.UnitsMap)
|
||||
@@ -167,9 +161,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/teams/%d", teamID), teamToEdit).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "EditTeam2", &apiTeam, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "EditTeam2", apiTeam, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
"none", nil, teamToEdit.UnitsMap)
|
||||
checkTeamBean(t, apiTeam.ID, teamToEdit.Name, *teamToEdit.Description, *teamToEdit.IncludesAllRepositories,
|
||||
"none", nil, teamToEdit.UnitsMap)
|
||||
@@ -180,9 +173,8 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/teams/%d", teamID), teamToEditDesc).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "EditTeam2_DescOnly", &apiTeam, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "EditTeam2_DescOnly", apiTeam, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
"none", nil, teamToEdit.UnitsMap)
|
||||
checkTeamBean(t, apiTeam.ID, teamToEdit.Name, *teamToEditDesc.Description, *teamToEdit.IncludesAllRepositories,
|
||||
"none", nil, teamToEdit.UnitsMap)
|
||||
@@ -192,10 +184,9 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestf(t, "GET", "/api/v1/teams/%d", teamID).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
assert.NoError(t, teamRead.LoadUnits(t.Context()))
|
||||
checkTeamResponse(t, "ReadTeam2", &apiTeam, teamRead.Name, *teamToEditDesc.Description, teamRead.IncludesAllRepositories,
|
||||
checkTeamResponse(t, "ReadTeam2", apiTeam, teamRead.Name, *teamToEditDesc.Description, teamRead.IncludesAllRepositories,
|
||||
teamRead.AccessMode.ToString(), teamRead.GetUnitNames(), teamRead.GetUnitsMap())
|
||||
|
||||
// Delete team.
|
||||
@@ -214,8 +205,7 @@ func TestAPITeam(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/orgs/%s/teams", org.Name), teamToCreate).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
apiTeam = api.Team{}
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
apiTeam = DecodeJSON(t, resp, &api.Team{})
|
||||
for _, ut := range unit.AllRepoUnitTypes {
|
||||
up := perm.AccessModeAdmin
|
||||
if ut == unit.TypeExternalTracker || ut == unit.TypeExternalWiki {
|
||||
@@ -273,13 +263,11 @@ func TestAPITeamSearch(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
||||
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 17})
|
||||
|
||||
var results TeamSearchResults
|
||||
|
||||
token := getUserToken(t, user.Name, auth_model.AccessTokenScopeReadOrganization)
|
||||
req := NewRequestf(t, "GET", "/api/v1/orgs/%s/teams/search?q=%s", org.Name, "_team").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &TeamSearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
assert.Len(t, results.Data, 1)
|
||||
assert.Equal(t, "test_team", results.Data[0].Name)
|
||||
@@ -300,13 +288,11 @@ func TestAPIGetTeamRepo(t *testing.T) {
|
||||
teamRepo := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 24})
|
||||
team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 5})
|
||||
|
||||
var results api.Repository
|
||||
|
||||
token := getUserToken(t, user.Name, auth_model.AccessTokenScopeReadOrganization)
|
||||
req := NewRequestf(t, "GET", "/api/v1/teams/%d/repos/%s/", team.ID, teamRepo.FullName()).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &results)
|
||||
DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.Equal(t, "big_test_private_4", teamRepo.Name)
|
||||
|
||||
// no access if not organization member
|
||||
|
||||
@@ -544,8 +544,7 @@ func createAPIAccessTokenWithoutCleanUp(t *testing.T, tokenName string, user *us
|
||||
AddBasicAuth(user.Name)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var newAccessToken api.AccessToken
|
||||
DecodeJSON(t, resp, &newAccessToken)
|
||||
newAccessToken := DecodeJSON(t, resp, &api.AccessToken{})
|
||||
unittest.AssertExistsAndLoadBean(t, &auth_model.AccessToken{
|
||||
ID: newAccessToken.ID,
|
||||
Name: newAccessToken.Name,
|
||||
@@ -553,7 +552,7 @@ func createAPIAccessTokenWithoutCleanUp(t *testing.T, tokenName string, user *us
|
||||
UID: user.ID,
|
||||
})
|
||||
|
||||
return newAccessToken
|
||||
return *newAccessToken
|
||||
}
|
||||
|
||||
// deleteAPIAccessToken deletes an API access token and assert that deletion succeeded.
|
||||
|
||||
@@ -76,8 +76,7 @@ func TestBasicAuthWithWebAuthn(t *testing.T) {
|
||||
type tokenResponse struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
var tokenParsed tokenResponse
|
||||
DecodeJSON(t, resp, &tokenParsed)
|
||||
tokenParsed := DecodeJSON(t, resp, &tokenResponse{})
|
||||
assert.NotEmpty(t, tokenParsed.Token)
|
||||
|
||||
// user32 has webauthn enrolled, he can't request API with basic auth
|
||||
@@ -91,8 +90,7 @@ func TestBasicAuthWithWebAuthn(t *testing.T) {
|
||||
type userResponse struct {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
var userParsed userResponse
|
||||
DecodeJSON(t, resp, &userParsed)
|
||||
userParsed := DecodeJSON(t, resp, &userResponse{})
|
||||
assert.Equal(t, "basic authorization is not allowed while WebAuthn enrolled", userParsed.Message)
|
||||
|
||||
// user32 has webauthn enrolled, he can't request git protocol with basic auth
|
||||
|
||||
@@ -116,8 +116,7 @@ func TestBlockUser(t *testing.T) {
|
||||
AddTokenAuth(blockerToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, blockeeName, users[0].UserName)
|
||||
@@ -143,8 +142,7 @@ func TestBlockUser(t *testing.T) {
|
||||
AddTokenAuth(blockerToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
|
||||
assert.Empty(t, users)
|
||||
})
|
||||
@@ -206,8 +204,7 @@ func TestBlockUser(t *testing.T) {
|
||||
AddTokenAuth(doerToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, blockeeName, users[0].UserName)
|
||||
@@ -233,8 +230,7 @@ func TestBlockUser(t *testing.T) {
|
||||
AddTokenAuth(doerToken)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
|
||||
assert.Empty(t, users)
|
||||
})
|
||||
|
||||
@@ -25,8 +25,7 @@ func TestAPIListEmails(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var emails []*api.Email
|
||||
DecodeJSON(t, resp, &emails)
|
||||
emails := DecodeJSON(t, resp, []*api.Email{})
|
||||
|
||||
assert.Equal(t, []*api.Email{
|
||||
{
|
||||
@@ -64,8 +63,7 @@ func TestAPIAddEmail(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
|
||||
var emails []*api.Email
|
||||
DecodeJSON(t, resp, &emails)
|
||||
emails := DecodeJSON(t, resp, []*api.Email{})
|
||||
assert.Equal(t, []*api.Email{
|
||||
{
|
||||
Email: "user2@example.com",
|
||||
@@ -117,8 +115,7 @@ func TestAPIDeleteEmail(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var emails []*api.Email
|
||||
DecodeJSON(t, resp, &emails)
|
||||
emails := DecodeJSON(t, resp, []*api.Email{})
|
||||
assert.Equal(t, []*api.Email{
|
||||
{
|
||||
Email: "user2@example.com",
|
||||
|
||||
@@ -50,8 +50,7 @@ func TestAPIFollow(t *testing.T) {
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, user1, users[0].UserName)
|
||||
})
|
||||
@@ -63,8 +62,7 @@ func TestAPIFollow(t *testing.T) {
|
||||
AddTokenAuth(token2)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, user1, users[0].UserName)
|
||||
})
|
||||
@@ -76,8 +74,7 @@ func TestAPIFollow(t *testing.T) {
|
||||
AddTokenAuth(token1)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, user2, users[0].UserName)
|
||||
})
|
||||
@@ -89,8 +86,7 @@ func TestAPIFollow(t *testing.T) {
|
||||
AddTokenAuth(token1)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var users []api.User
|
||||
DecodeJSON(t, resp, &users)
|
||||
users := DecodeJSON(t, resp, []api.User{})
|
||||
assert.Len(t, users, 1)
|
||||
assert.Equal(t, user2, users[0].UserName)
|
||||
})
|
||||
|
||||
@@ -30,8 +30,7 @@ func TestUserHeatmap(t *testing.T) {
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/users/%s/heatmap", normalUsername)).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var heatmap []*activities_model.UserHeatmapData
|
||||
DecodeJSON(t, resp, &heatmap)
|
||||
heatmap := DecodeJSON(t, resp, []*activities_model.UserHeatmapData{})
|
||||
var dummyheatmap []*activities_model.UserHeatmapData
|
||||
dummyheatmap = append(dummyheatmap, &activities_model.UserHeatmapData{Timestamp: 1603227600, Contributions: 1})
|
||||
|
||||
|
||||
@@ -34,8 +34,7 @@ func TestAPIUserInfo(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var u api.User
|
||||
DecodeJSON(t, resp, &u)
|
||||
u := DecodeJSON(t, resp, &api.User{})
|
||||
assert.Equal(t, user2, u.UserName)
|
||||
|
||||
req = NewRequest(t, "GET", "/api/v1/users/"+user2)
|
||||
@@ -44,14 +43,14 @@ func TestAPIUserInfo(t *testing.T) {
|
||||
// test if the placaholder Mail is returned if a User is not logged in
|
||||
req = NewRequest(t, "GET", "/api/v1/users/"+org3.Name)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &u)
|
||||
u = DecodeJSON(t, resp, &api.User{})
|
||||
assert.Equal(t, org3.GetPlaceholderEmail(), u.Email)
|
||||
|
||||
// Test if the correct Mail is returned if a User is logged in
|
||||
req = NewRequest(t, "GET", "/api/v1/users/"+org3.Name).
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &u)
|
||||
u = DecodeJSON(t, resp, &api.User{})
|
||||
assert.Equal(t, org3.GetEmail(), u.Email)
|
||||
})
|
||||
|
||||
@@ -62,8 +61,7 @@ func TestAPIUserInfo(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var u api.User
|
||||
DecodeJSON(t, resp, &u)
|
||||
u := DecodeJSON(t, resp, &api.User{})
|
||||
assert.Equal(t, user, u.UserName)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -50,8 +50,7 @@ func sampleTest(t *testing.T, auoptc apiUserOrgPermTestCase) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var apiOP api.OrganizationPermissions
|
||||
DecodeJSON(t, resp, &apiOP)
|
||||
apiOP := DecodeJSON(t, resp, &api.OrganizationPermissions{})
|
||||
assert.Equal(t, auoptc.ExpectedOrganizationPermissions.IsOwner, apiOP.IsOwner)
|
||||
assert.Equal(t, auoptc.ExpectedOrganizationPermissions.IsAdmin, apiOP.IsAdmin)
|
||||
assert.Equal(t, auoptc.ExpectedOrganizationPermissions.CanWrite, apiOP.CanWrite)
|
||||
@@ -142,8 +141,7 @@ func testUnknownUser(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusNotFound)
|
||||
|
||||
var apiError api.APIError
|
||||
DecodeJSON(t, resp, &apiError)
|
||||
apiError := DecodeJSON(t, resp, &api.APIError{})
|
||||
assert.Equal(t, "user redirect does not exist [name: unknown]", apiError.Message)
|
||||
}
|
||||
|
||||
@@ -154,8 +152,7 @@ func testUnknownOrganization(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/users/user1/orgs/unknown/permissions").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusNotFound)
|
||||
var apiError api.APIError
|
||||
DecodeJSON(t, resp, &apiError)
|
||||
apiError := DecodeJSON(t, resp, &api.APIError{})
|
||||
assert.Equal(t, "GetUserByName", apiError.Message)
|
||||
}
|
||||
|
||||
@@ -174,9 +171,8 @@ func testHiddenMemberPermissionsForbidden(t *testing.T) {
|
||||
AddTokenAuth(adminToken)
|
||||
resp := MakeRequest(t, adminReq, http.StatusOK)
|
||||
|
||||
var apiOP api.OrganizationPermissions
|
||||
DecodeJSON(t, resp, &apiOP)
|
||||
assert.Equal(t, api.OrganizationPermissions{
|
||||
apiOP := DecodeJSON(t, resp, &api.OrganizationPermissions{})
|
||||
assert.Equal(t, &api.OrganizationPermissions{
|
||||
IsOwner: false,
|
||||
IsAdmin: false,
|
||||
CanWrite: true,
|
||||
|
||||
@@ -89,7 +89,7 @@ func getUserOrgs(t *testing.T, userDoer, userCheck string) (orgs []*api.Organiza
|
||||
req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/users/%s/orgs", userCheck)).
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &orgs)
|
||||
orgs = DecodeJSON(t, resp, []*api.Organization{})
|
||||
return orgs
|
||||
}
|
||||
|
||||
@@ -110,8 +110,7 @@ func TestMyOrgs(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/user/orgs").
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var orgs []*api.Organization
|
||||
DecodeJSON(t, resp, &orgs)
|
||||
orgs := DecodeJSON(t, resp, []*api.Organization{})
|
||||
org3 := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "org3"})
|
||||
org17 := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "org17"})
|
||||
org35 := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "private_org35"})
|
||||
|
||||
@@ -31,8 +31,7 @@ func TestAPIUserSearchLoggedIn(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
for _, user := range results.Data {
|
||||
assert.Contains(t, user.UserName, query)
|
||||
@@ -43,8 +42,7 @@ func TestAPIUserSearchLoggedIn(t *testing.T) {
|
||||
req = NewRequestf(t, "GET", "/api/v1/users/search?q=%s", query).
|
||||
AddTokenAuth(publicToken)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
results = SearchResults{}
|
||||
DecodeJSON(t, resp, &results)
|
||||
results = DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
for _, user := range results.Data {
|
||||
assert.Contains(t, user.UserName, query)
|
||||
@@ -59,8 +57,7 @@ func TestAPIUserSearchNotLoggedIn(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/users/search?q=%s", query)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
var modelUser *user_model.User
|
||||
for _, user := range results.Data {
|
||||
@@ -80,8 +77,7 @@ func TestAPIUserSearchSystemUsers(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/users/search?uid=%d", systemUser.ID)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
if assert.Len(t, results.Data, 1) {
|
||||
user := results.Data[0]
|
||||
@@ -102,8 +98,7 @@ func TestAPIUserSearchAdminLoggedInUserHidden(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
for _, user := range results.Data {
|
||||
assert.Contains(t, user.UserName, query)
|
||||
@@ -118,8 +113,7 @@ func TestAPIUserSearchNotLoggedInUserHidden(t *testing.T) {
|
||||
req := NewRequestf(t, "GET", "/api/v1/users/search?q=%s", query)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.Empty(t, results.Data)
|
||||
}
|
||||
|
||||
@@ -135,15 +129,14 @@ func TestAPIUserSearchByEmail(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var results SearchResults
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.Len(t, results.Data, 1)
|
||||
assert.Equal(t, query, results.Data[0].Email)
|
||||
|
||||
// no login user can not search user with private email
|
||||
req = NewRequestf(t, "GET", "/api/v1/users/search?q=%s", query)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &results)
|
||||
results = DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.Empty(t, results.Data)
|
||||
|
||||
// user can search self with private email
|
||||
@@ -154,7 +147,7 @@ func TestAPIUserSearchByEmail(t *testing.T) {
|
||||
AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &results)
|
||||
results = DecodeJSON(t, resp, &SearchResults{})
|
||||
assert.Len(t, results.Data, 1)
|
||||
assert.Equal(t, query, results.Data[0].Email)
|
||||
}
|
||||
|
||||
@@ -52,8 +52,7 @@ func TestAPIStar(t *testing.T) {
|
||||
|
||||
assert.Equal(t, "1", resp.Header().Get("X-Total-Count"))
|
||||
|
||||
var repos []api.Repository
|
||||
DecodeJSON(t, resp, &repos)
|
||||
repos := DecodeJSON(t, resp, []api.Repository{})
|
||||
assert.Len(t, repos, 1)
|
||||
assert.Equal(t, repo, repos[0].FullName)
|
||||
})
|
||||
@@ -67,8 +66,7 @@ func TestAPIStar(t *testing.T) {
|
||||
|
||||
assert.Equal(t, "1", resp.Header().Get("X-Total-Count"))
|
||||
|
||||
var repos []api.Repository
|
||||
DecodeJSON(t, resp, &repos)
|
||||
repos := DecodeJSON(t, resp, []api.Repository{})
|
||||
assert.Len(t, repos, 1)
|
||||
assert.Equal(t, repo, repos[0].FullName)
|
||||
})
|
||||
|
||||
@@ -50,8 +50,7 @@ func TestAPIWatch(t *testing.T) {
|
||||
|
||||
assert.Equal(t, "1", resp.Header().Get("X-Total-Count"))
|
||||
|
||||
var repos []api.Repository
|
||||
DecodeJSON(t, resp, &repos)
|
||||
repos := DecodeJSON(t, resp, []api.Repository{})
|
||||
assert.Len(t, repos, 1)
|
||||
assert.Equal(t, repo, repos[0].FullName)
|
||||
})
|
||||
@@ -65,8 +64,7 @@ func TestAPIWatch(t *testing.T) {
|
||||
|
||||
assert.Equal(t, "1", resp.Header().Get("X-Total-Count"))
|
||||
|
||||
var repos []api.Repository
|
||||
DecodeJSON(t, resp, &repos)
|
||||
repos := DecodeJSON(t, resp, []api.Repository{})
|
||||
assert.Len(t, repos, 1)
|
||||
assert.Equal(t, repo, repos[0].FullName)
|
||||
})
|
||||
|
||||
@@ -70,8 +70,7 @@ func TestAPIListWikiPages(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var meta []*api.WikiPageMetaData
|
||||
DecodeJSON(t, resp, &meta)
|
||||
meta := DecodeJSON(t, resp, []*api.WikiPageMetaData{})
|
||||
|
||||
dummymeta := []*api.WikiPageMetaData{
|
||||
{
|
||||
|
||||
@@ -60,8 +60,7 @@ func testCreateAttachment(t *testing.T, session *TestSession, repoURL, issueOrRe
|
||||
if expectedStatus != http.StatusOK {
|
||||
return ""
|
||||
}
|
||||
var obj map[string]string
|
||||
DecodeJSON(t, resp, &obj)
|
||||
obj := DecodeJSON(t, resp, map[string]string{})
|
||||
return obj["uuid"]
|
||||
}
|
||||
|
||||
|
||||
@@ -227,8 +227,7 @@ func testEditorWebGitCommitEmail(t *testing.T) {
|
||||
req.Header.Add("Content-Type", uploadForm.FormDataContentType())
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
respMap := map[string]string{}
|
||||
DecodeJSON(t, resp, &respMap)
|
||||
respMap := DecodeJSON(t, resp, map[string]string{})
|
||||
return respMap["uuid"]
|
||||
}
|
||||
|
||||
|
||||
@@ -179,8 +179,7 @@ func TestEmptyRepoAddFileByAPI(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var fileResponse api.FileResponse
|
||||
DecodeJSON(t, resp, &fileResponse)
|
||||
fileResponse := DecodeJSON(t, resp, &api.FileResponse{})
|
||||
expectedHTMLURL := setting.AppURL + "user30/empty/src/branch/new_branch/new-file.txt"
|
||||
assert.Equal(t, expectedHTMLURL, *fileResponse.Content.HTMLURL)
|
||||
|
||||
@@ -191,7 +190,6 @@ func TestEmptyRepoAddFileByAPI(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/repos/user30/empty").
|
||||
AddTokenAuth(token)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
var apiRepo api.Repository
|
||||
DecodeJSON(t, resp, &apiRepo)
|
||||
apiRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.Equal(t, "new_branch", apiRepo.DefaultBranch)
|
||||
}
|
||||
|
||||
@@ -61,14 +61,12 @@ func TestEventSourceManagerRun(t *testing.T) {
|
||||
session := loginUser(t, user2.Name)
|
||||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteNotification, auth_model.AccessTokenScopeWriteRepository)
|
||||
|
||||
var apiNL []api.NotificationThread
|
||||
|
||||
// -- mark notifications as read --
|
||||
req := NewRequest(t, "GET", "/api/v1/notifications?status-types=unread").
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL := DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
assert.Len(t, apiNL, 2)
|
||||
|
||||
lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ...
|
||||
@@ -79,7 +77,7 @@ func TestEventSourceManagerRun(t *testing.T) {
|
||||
req = NewRequest(t, "GET", "/api/v1/notifications?status-types=unread").
|
||||
AddTokenAuth(token)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiNL)
|
||||
apiNL = DecodeJSON(t, resp, []api.NotificationThread{})
|
||||
assert.Len(t, apiNL, 1)
|
||||
|
||||
assert.Eventually(t, expectNotificationCountEvent(1), 30*time.Second, 1*time.Second)
|
||||
|
||||
@@ -28,8 +28,7 @@ func TestHeatmapEndpoints(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/user2/-/heatmap")
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]any
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]any{})
|
||||
assert.Contains(t, result, "heatmapData")
|
||||
assert.Contains(t, result, "totalContributions")
|
||||
assert.Positive(t, result["totalContributions"])
|
||||
@@ -40,8 +39,7 @@ func TestHeatmapEndpoints(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/org/org3/dashboard/-/heatmap")
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]any
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]any{})
|
||||
assert.Contains(t, result, "heatmapData")
|
||||
assert.Contains(t, result, "totalContributions")
|
||||
})
|
||||
@@ -51,8 +49,7 @@ func TestHeatmapEndpoints(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/org/org3/dashboard/-/heatmap/team1")
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var result map[string]any
|
||||
DecodeJSON(t, resp, &result)
|
||||
result := DecodeJSON(t, resp, map[string]any{})
|
||||
assert.Contains(t, result, "heatmapData")
|
||||
assert.Contains(t, result, "totalContributions")
|
||||
})
|
||||
|
||||
@@ -493,8 +493,7 @@ func TestSearchIssues(t *testing.T) {
|
||||
link, _ := url.Parse("/issues/search")
|
||||
req := NewRequest(t, "GET", link.String())
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
var apiIssues []*api.Issue
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues := DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, expectedIssueCount)
|
||||
|
||||
since := "2000-01-01T00:50:01+00:00" // 946687801
|
||||
@@ -505,7 +504,7 @@ func TestSearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 11)
|
||||
query.Del("since")
|
||||
query.Del("before")
|
||||
@@ -514,14 +513,14 @@ func TestSearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query.Set("state", "all")
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Equal(t, "22", resp.Header().Get("X-Total-Count"))
|
||||
assert.Len(t, apiIssues, 20)
|
||||
|
||||
@@ -529,7 +528,7 @@ func TestSearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Equal(t, "22", resp.Header().Get("X-Total-Count"))
|
||||
assert.Len(t, apiIssues, 5)
|
||||
|
||||
@@ -537,42 +536,42 @@ func TestSearchIssues(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query = url.Values{"milestones": {"milestone1"}, "state": {"all"}}
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 1)
|
||||
|
||||
query = url.Values{"milestones": {"milestone1,milestone3"}, "state": {"all"}}
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
query = url.Values{"owner": {"user2"}} // user
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 8)
|
||||
|
||||
query = url.Values{"owner": {"org3"}} // organization
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 5)
|
||||
|
||||
query = url.Values{"owner": {"org3"}, "team": {"team1"}} // organization + team
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
}
|
||||
|
||||
@@ -589,14 +588,14 @@ func TestSearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req := NewRequest(t, "GET", link.String())
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, expectedIssueCount)
|
||||
|
||||
query.Add("labels", "label1")
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// multiple labels
|
||||
@@ -604,7 +603,7 @@ func TestSearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// an org label
|
||||
@@ -612,7 +611,7 @@ func TestSearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 1)
|
||||
|
||||
// org and repo label
|
||||
@@ -621,7 +620,7 @@ func TestSearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
|
||||
// org and repo label which share the same issue
|
||||
@@ -629,7 +628,7 @@ func TestSearchIssuesWithLabels(t *testing.T) {
|
||||
link.RawQuery = query.Encode()
|
||||
req = NewRequest(t, "GET", link.String())
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
apiIssues = DecodeJSON(t, resp, []*api.Issue{})
|
||||
assert.Len(t, apiIssues, 2)
|
||||
}
|
||||
|
||||
@@ -648,11 +647,10 @@ func TestGetIssueInfo(t *testing.T) {
|
||||
urlStr := fmt.Sprintf("/%s/%s/issues/%d/info", owner.Name, repo.Name, issue.Index)
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
var respStruct struct {
|
||||
respStruct := DecodeJSON(t, resp, &struct {
|
||||
ConvertedIssue api.Issue
|
||||
RenderedLabels template.HTML
|
||||
}
|
||||
DecodeJSON(t, resp, &respStruct)
|
||||
}{})
|
||||
|
||||
assert.Equal(t, issue.ID, respStruct.ConvertedIssue.ID)
|
||||
assert.Contains(t, string(respStruct.RenderedLabels), `"labels-list"`)
|
||||
|
||||
@@ -145,8 +145,7 @@ func testLinksAsUser(t *testing.T) {
|
||||
|
||||
reqAPI := NewRequestf(t, "GET", "/api/v1/users/user2/repos")
|
||||
respAPI := MakeRequest(t, reqAPI, http.StatusOK)
|
||||
var apiRepos []*api.Repository
|
||||
DecodeJSON(t, respAPI, &apiRepos)
|
||||
apiRepos := DecodeJSON(t, respAPI, []*api.Repository{})
|
||||
repoLinks := []string{
|
||||
"",
|
||||
"/issues",
|
||||
|
||||
@@ -992,8 +992,7 @@ func testOAuth2WellKnown(t *testing.T) {
|
||||
t.Run("WellKnown", func(t *testing.T) {
|
||||
req := NewRequest(t, "GET", urlOpenidConfiguration)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var respMap map[string]any
|
||||
DecodeJSON(t, resp, &respMap)
|
||||
respMap := DecodeJSON(t, resp, map[string]any{})
|
||||
assert.Equal(t, "https://try.gitea.io", respMap["issuer"])
|
||||
assert.Equal(t, "https://try.gitea.io/login/oauth/authorize", respMap["authorization_endpoint"])
|
||||
assert.Equal(t, "https://try.gitea.io/login/oauth/access_token", respMap["token_endpoint"])
|
||||
@@ -1007,8 +1006,7 @@ func testOAuth2WellKnown(t *testing.T) {
|
||||
defer test.MockVariableValue(&setting.OAuth2.JWTClaimIssuer, "https://try.gitea.io/")()
|
||||
req := NewRequest(t, "GET", urlOpenidConfiguration)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
var respMap map[string]any
|
||||
DecodeJSON(t, resp, &respMap)
|
||||
respMap := DecodeJSON(t, resp, map[string]any{})
|
||||
assert.Equal(t, "https://try.gitea.io/", respMap["issuer"]) // has trailing by JWTClaimIssuer
|
||||
assert.Equal(t, "https://try.gitea.io/login/oauth/authorize", respMap["authorization_endpoint"])
|
||||
})
|
||||
|
||||
@@ -182,11 +182,9 @@ func testOrgRestrictedUser(t *testing.T) {
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/orgs/%s/teams", orgName), teamToCreate).
|
||||
AddTokenAuth(token)
|
||||
|
||||
var apiTeam api.Team
|
||||
|
||||
resp := adminSession.MakeRequest(t, req, http.StatusCreated)
|
||||
DecodeJSON(t, resp, &apiTeam)
|
||||
checkTeamResponse(t, "CreateTeam_codereader", &apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
apiTeam := DecodeJSON(t, resp, &api.Team{})
|
||||
checkTeamResponse(t, "CreateTeam_codereader", apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", teamToCreate.Units, nil)
|
||||
checkTeamBean(t, apiTeam.ID, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
|
||||
"none", teamToCreate.Units, nil)
|
||||
@@ -209,12 +207,10 @@ func testTeamSearch(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 15})
|
||||
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 17})
|
||||
|
||||
var results TeamSearchResults
|
||||
|
||||
session := loginUser(t, user.Name)
|
||||
req := NewRequestf(t, "GET", "/org/%s/teams/-/search?q=%s", org.Name, "_team")
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
DecodeJSON(t, resp, &results)
|
||||
results := DecodeJSON(t, resp, &TeamSearchResults{})
|
||||
assert.NotEmpty(t, results.Data)
|
||||
assert.Len(t, results.Data, 2)
|
||||
assert.Equal(t, "review_team", results.Data[0].Name)
|
||||
|
||||
@@ -117,8 +117,7 @@ func testPrivateActivityHelperHasHeatmapContentFromPublic(t *testing.T) bool {
|
||||
req := NewRequestf(t, "GET", "/api/v1/users/%s/heatmap", privateActivityTestUser)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var items []*activities_model.UserHeatmapData
|
||||
DecodeJSON(t, resp, &items)
|
||||
items := DecodeJSON(t, resp, []*activities_model.UserHeatmapData{})
|
||||
|
||||
return len(items) != 0
|
||||
}
|
||||
@@ -130,8 +129,7 @@ func testPrivateActivityHelperHasHeatmapContentFromSession(t *testing.T, session
|
||||
AddTokenAuth(token)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var items []*activities_model.UserHeatmapData
|
||||
DecodeJSON(t, resp, &items)
|
||||
items := DecodeJSON(t, resp, []*activities_model.UserHeatmapData{})
|
||||
|
||||
return len(items) != 0
|
||||
}
|
||||
|
||||
@@ -21,11 +21,10 @@ func TestListPullCommits(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/user2/repo1/pulls/3/commits/list")
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var pullCommitList struct {
|
||||
pullCommitList := DecodeJSON(t, resp, &struct {
|
||||
Commits []pull_service.CommitInfo `json:"commits"`
|
||||
LastReviewCommitSha string `json:"last_review_commit_sha"`
|
||||
}
|
||||
DecodeJSON(t, resp, &pullCommitList)
|
||||
}{})
|
||||
|
||||
require.Len(t, pullCommitList.Commits, 2)
|
||||
assert.Equal(t, "985f0301dba5e7b34be866819cd15ad3d8f508ee", pullCommitList.Commits[0].ID)
|
||||
|
||||
@@ -289,8 +289,7 @@ func TestCreatePullRequestFromNestedOrgForks(t *testing.T) {
|
||||
Readme: "Default",
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusCreated)
|
||||
var baseRepo api.Repository
|
||||
DecodeJSON(t, resp, &baseRepo)
|
||||
baseRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.Equal(t, "main", baseRepo.DefaultBranch)
|
||||
|
||||
forkIntoOrg := func(srcOrg, dstOrg string) api.Repository {
|
||||
@@ -298,13 +297,12 @@ func TestCreatePullRequestFromNestedOrgForks(t *testing.T) {
|
||||
Organization: new(dstOrg),
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusAccepted)
|
||||
var forkRepo api.Repository
|
||||
DecodeJSON(t, resp, &forkRepo)
|
||||
forkRepo := DecodeJSON(t, resp, &api.Repository{})
|
||||
assert.NotNil(t, forkRepo.Owner)
|
||||
if forkRepo.Owner != nil {
|
||||
assert.Equal(t, dstOrg, forkRepo.Owner.UserName)
|
||||
}
|
||||
return forkRepo
|
||||
return *forkRepo
|
||||
}
|
||||
|
||||
forkIntoOrg(baseOrg, midForkOrg)
|
||||
@@ -327,8 +325,7 @@ func TestCreatePullRequestFromNestedOrgForks(t *testing.T) {
|
||||
}
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/pulls", baseOrg, repoName), prPayload).AddTokenAuth(token)
|
||||
resp = MakeRequest(t, req, http.StatusCreated)
|
||||
var pr api.PullRequest
|
||||
DecodeJSON(t, resp, &pr)
|
||||
pr := DecodeJSON(t, resp, &api.PullRequest{})
|
||||
assert.Equal(t, prPayload["title"], pr.Title)
|
||||
if assert.NotNil(t, pr.Head) {
|
||||
assert.Equal(t, patchBranch, pr.Head.Ref)
|
||||
|
||||
@@ -131,8 +131,7 @@ func TestRepoMergeUpstream(t *testing.T) {
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
checkFileContent("fork-branch", "test-content-2")
|
||||
|
||||
var mergeResp api.MergeUpstreamResponse
|
||||
DecodeJSON(t, resp, &mergeResp)
|
||||
mergeResp := DecodeJSON(t, resp, &api.MergeUpstreamResponse{})
|
||||
assert.Equal(t, "merge", mergeResp.MergeStyle)
|
||||
|
||||
// after merge, there should be no "sync fork" button anymore
|
||||
@@ -160,8 +159,7 @@ func TestRepoMergeUpstream(t *testing.T) {
|
||||
}).AddTokenAuth(token)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
var mergeResp api.MergeUpstreamResponse
|
||||
DecodeJSON(t, resp, &mergeResp)
|
||||
mergeResp := DecodeJSON(t, resp, &api.MergeUpstreamResponse{})
|
||||
assert.Equal(t, "fast-forward", mergeResp.MergeStyle)
|
||||
|
||||
// ff_only=true when fast-forward is not possible (should fail)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user