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:
Copilot
2026-04-26 14:57:07 +00:00
committed by GitHub
parent 99cd4f6b22
commit 2671b997f2
105 changed files with 569 additions and 930 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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
}

View File

@@ -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)

View File

@@ -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, &registrationToken)
}{})
r.doRegister(t, runnerName, registrationToken.Token, labels, ephemeral)
}

View File

@@ -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)

View File

@@ -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 {

View File

@@ -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)
}

View File

@@ -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, &registrationToken)
}{})
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, &registrationToken)
}{})
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, &registrationToken)
}{})
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, &registrationToken)
}{})
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)

View File

@@ -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)

View File

@@ -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" {

View File

@@ -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)

View File

@@ -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})
}

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)
})
})

View File

@@ -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)
}
}
}

View File

@@ -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})
}

View File

@@ -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)

View File

@@ -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,

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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) {

View File

@@ -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"))

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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]

View File

@@ -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]

View File

@@ -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)

View File

@@ -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))

View File

@@ -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)
})

View File

@@ -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)

View File

@@ -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])

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)
})

View File

@@ -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{

View File

@@ -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)

View File

@@ -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)

View File

@@ -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")

View File

@@ -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

View File

@@ -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

View File

@@ -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)
})

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)
})

View File

@@ -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)
}
}

View File

@@ -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)
}

View File

@@ -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
}

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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,

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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)
})

View File

@@ -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",

View File

@@ -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)
})

View File

@@ -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})

View File

@@ -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)
})
}

View File

@@ -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,

View File

@@ -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"})

View File

@@ -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)
}

View File

@@ -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)
})

View File

@@ -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)
})

View File

@@ -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{
{

View File

@@ -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"]
}

View File

@@ -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"]
}

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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")
})

View File

@@ -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"`)

View File

@@ -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",

View File

@@ -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"])
})

View File

@@ -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)

View File

@@ -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
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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