From 2671b997f2f28d163a81957530929dd49ec9a624 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Apr 2026 14:57:07 +0000 Subject: [PATCH] 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 --- tests/integration/actions_approve_test.go | 3 +- tests/integration/actions_concurrency_test.go | 3 +- tests/integration/actions_job_test.go | 19 ++---- tests/integration/actions_job_token_test.go | 3 +- tests/integration/actions_route_test.go | 3 +- tests/integration/actions_runner_test.go | 5 +- tests/integration/actions_trigger_test.go | 3 +- .../integration/api_actions_artifact_test.go | 42 ++++-------- .../api_actions_permission_test.go | 3 +- tests/integration/api_actions_runner_test.go | 59 +++++++---------- tests/integration/api_admin_org_test.go | 3 +- tests/integration/api_admin_test.go | 18 ++---- tests/integration/api_branch_test.go | 17 ++--- .../api_comment_attachment_test.go | 14 ++-- tests/integration/api_comment_test.go | 25 +++----- .../api_gitignore_templates_test.go | 6 +- tests/integration/api_gpg_keys_test.go | 18 ++---- .../api_helper_for_declarative_test.go | 53 ++++++--------- .../integration/api_issue_attachment_test.go | 14 ++-- tests/integration/api_issue_config_test.go | 11 ++-- tests/integration/api_issue_label_test.go | 32 ++++------ tests/integration/api_issue_milestone_test.go | 17 ++--- tests/integration/api_issue_pin_test.go | 26 +++----- tests/integration/api_issue_reaction_test.go | 16 ++--- tests/integration/api_issue_stopwatch_test.go | 3 +- tests/integration/api_issue_templates_test.go | 8 +-- tests/integration/api_issue_test.go | 64 +++++++++---------- .../api_issue_tracked_time_test.go | 9 +-- tests/integration/api_keys_test.go | 24 +++---- tests/integration/api_label_templates_test.go | 6 +- .../integration/api_license_templates_test.go | 6 +- tests/integration/api_notification_test.go | 35 +++++----- tests/integration/api_org_test.go | 21 +++--- tests/integration/api_packages_cargo_test.go | 20 ++---- tests/integration/api_packages_chef_test.go | 15 ++--- .../integration/api_packages_composer_test.go | 15 ++--- tests/integration/api_packages_conan_test.go | 37 ++++------- tests/integration/api_packages_conda_test.go | 6 +- .../api_packages_container_test.go | 15 ++--- .../integration/api_packages_goproxy_test.go | 11 +--- tests/integration/api_packages_npm_test.go | 12 ++-- tests/integration/api_packages_nuget_test.go | 18 ++---- tests/integration/api_packages_pub_test.go | 9 +-- tests/integration/api_packages_test.go | 9 +-- .../integration/api_packages_vagrant_test.go | 3 +- tests/integration/api_pull_commits_test.go | 3 +- tests/integration/api_pull_review_test.go | 32 ++++------ tests/integration/api_pull_test.go | 6 +- .../api_releases_attachment_test.go | 3 +- tests/integration/api_releases_test.go | 38 ++++------- .../integration/api_repo_collaborator_test.go | 24 +++---- tests/integration/api_repo_edit_test.go | 13 ++-- .../integration/api_repo_file_create_test.go | 15 ++--- .../integration/api_repo_file_delete_test.go | 8 +-- .../api_repo_file_diffpatch_test.go | 3 +- .../integration/api_repo_file_update_test.go | 17 ++--- .../integration/api_repo_files_change_test.go | 17 ++--- tests/integration/api_repo_files_get_test.go | 5 +- .../api_repo_get_contents_list_test.go | 11 ++-- .../integration/api_repo_get_contents_test.go | 45 ++++++------- tests/integration/api_repo_git_blobs_test.go | 3 +- .../integration/api_repo_git_commits_test.go | 21 ++---- tests/integration/api_repo_git_hook_test.go | 6 +- tests/integration/api_repo_git_notes_test.go | 3 +- tests/integration/api_repo_git_trees_test.go | 6 +- tests/integration/api_repo_languages_test.go | 3 +- tests/integration/api_repo_lfs_locks_test.go | 18 ++---- tests/integration/api_repo_license_test.go | 3 +- tests/integration/api_repo_tags_test.go | 10 ++- tests/integration/api_repo_teams_test.go | 3 +- tests/integration/api_repo_test.go | 44 +++++-------- tests/integration/api_repo_topic_test.go | 35 +++++----- tests/integration/api_settings_test.go | 12 ++-- tests/integration/api_team_test.go | 54 ++++++---------- tests/integration/api_token_test.go | 5 +- tests/integration/api_twofa_test.go | 6 +- tests/integration/api_user_block_test.go | 12 ++-- tests/integration/api_user_email_test.go | 9 +-- tests/integration/api_user_follow_test.go | 12 ++-- tests/integration/api_user_heatmap_test.go | 3 +- tests/integration/api_user_info_test.go | 10 ++- tests/integration/api_user_org_perm_test.go | 14 ++-- tests/integration/api_user_orgs_test.go | 5 +- tests/integration/api_user_search_test.go | 25 +++----- tests/integration/api_user_star_test.go | 6 +- tests/integration/api_user_watch_test.go | 6 +- tests/integration/api_wiki_test.go | 3 +- tests/integration/attachment_test.go | 3 +- tests/integration/editor_test.go | 3 +- tests/integration/empty_repo_test.go | 6 +- tests/integration/eventsource_test.go | 6 +- tests/integration/heatmap_test.go | 9 +-- tests/integration/issue_test.go | 40 ++++++------ tests/integration/links_test.go | 3 +- tests/integration/oauth_test.go | 6 +- tests/integration/org_test.go | 10 +-- tests/integration/privateactivity_test.go | 6 +- tests/integration/pull_commit_test.go | 5 +- tests/integration/pull_create_test.go | 11 ++-- tests/integration/repo_merge_upstream_test.go | 6 +- tests/integration/repo_tag_test.go | 2 +- tests/integration/repo_topic_test.go | 23 ++++--- tests/integration/user_test.go | 3 +- tests/integration/version_test.go | 3 +- .../workflow_run_api_check_test.go | 18 ++---- 105 files changed, 569 insertions(+), 930 deletions(-) diff --git a/tests/integration/actions_approve_test.go b/tests/integration/actions_approve_test.go index 3f2c02f77a7..1964ff44d5a 100644 --- a/tests/integration/actions_approve_test.go +++ b/tests/integration/actions_approve_test.go @@ -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) diff --git a/tests/integration/actions_concurrency_test.go b/tests/integration/actions_concurrency_test.go index a85195e522a..6460af0fd26 100644 --- a/tests/integration/actions_concurrency_test.go +++ b/tests/integration/actions_concurrency_test.go @@ -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) diff --git a/tests/integration/actions_job_test.go b/tests/integration/actions_job_test.go index c9eb9414c91..3e1fd50eb58 100644 --- a/tests/integration/actions_job_test.go +++ b/tests/integration/actions_job_test.go @@ -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 diff --git a/tests/integration/actions_job_token_test.go b/tests/integration/actions_job_token_test.go index e22bc30bf92..421dec17d92 100644 --- a/tests/integration/actions_job_token_test.go +++ b/tests/integration/actions_job_token_test.go @@ -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 } diff --git a/tests/integration/actions_route_test.go b/tests/integration/actions_route_test.go index 09c117b1dec..66a00a6773f 100644 --- a/tests/integration/actions_route_test.go +++ b/tests/integration/actions_route_test.go @@ -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) diff --git a/tests/integration/actions_runner_test.go b/tests/integration/actions_runner_test.go index 0e9e372ab1d..e9a0a96ca81 100644 --- a/tests/integration/actions_runner_test.go +++ b/tests/integration/actions_runner_test.go @@ -86,10 +86,9 @@ func (r *mockRunner) registerAsRepoRunner(t *testing.T, ownerName, repoName, run token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) req := NewRequest(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/actions/runners/registration-token", ownerName, repoName)).AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) - var registrationToken struct { + registrationToken := DecodeJSON(t, resp, &struct { Token string `json:"token"` - } - DecodeJSON(t, resp, ®istrationToken) + }{}) r.doRegister(t, runnerName, registrationToken.Token, labels, ephemeral) } diff --git a/tests/integration/actions_trigger_test.go b/tests/integration/actions_trigger_test.go index e63e1b26a48..4d88d42f367 100644 --- a/tests/integration/actions_trigger_test.go +++ b/tests/integration/actions_trigger_test.go @@ -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) diff --git a/tests/integration/api_actions_artifact_test.go b/tests/integration/api_actions_artifact_test.go index 6ce51aa0651..0a4a63c551a 100644 --- a/tests/integration/api_actions_artifact_test.go +++ b/tests/integration/api_actions_artifact_test.go @@ -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 { diff --git a/tests/integration/api_actions_permission_test.go b/tests/integration/api_actions_permission_test.go index 072e2635a96..2c0aaa43e8c 100644 --- a/tests/integration/api_actions_permission_test.go +++ b/tests/integration/api_actions_permission_test.go @@ -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) } diff --git a/tests/integration/api_actions_runner_test.go b/tests/integration/api_actions_runner_test.go index 74788ec32e5..f32e2af890d 100644 --- a/tests/integration/api_actions_runner_test.go +++ b/tests/integration/api_actions_runner_test.go @@ -36,16 +36,14 @@ func testActionsRunnerAdmin(t *testing.T) { token := getUserToken(t, adminUsername, auth_model.AccessTokenScopeWriteAdmin) req := NewRequest(t, "POST", "/api/v1/admin/actions/runners/registration-token").AddTokenAuth(token) tokenResp := MakeRequest(t, req, http.StatusOK) - var registrationToken struct { + registrationToken := DecodeJSON(t, tokenResp, &struct { Token string `json:"token"` - } - DecodeJSON(t, tokenResp, ®istrationToken) + }{}) assert.NotEmpty(t, registrationToken.Token) req = NewRequest(t, "GET", "/api/v1/admin/actions/runners").AddTokenAuth(token) runnerListResp := MakeRequest(t, req, http.StatusOK) - runnerList := api.ActionRunnersResponse{} - DecodeJSON(t, runnerListResp, &runnerList) + runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{}) idx := slices.IndexFunc(runnerList.Entries, func(e *api.ActionRunner) bool { return e.ID == 34349 }) require.NotEqual(t, -1, idx) @@ -63,8 +61,7 @@ func testActionsRunnerAdmin(t *testing.T) { MakeRequest(t, req, http.StatusOK) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/admin/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - disabledRunner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &disabledRunner) + disabledRunner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.True(t, disabledRunner.Disabled) req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/admin/actions/runners/%d", expectedRunner.ID), false).AddTokenAuth(token) @@ -78,8 +75,7 @@ func testActionsRunnerAdmin(t *testing.T) { req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/admin/actions/runners/%d", runnerEntry.ID)).AddTokenAuth(token) runnerResp = MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, runnerEntry.Name, runner.Name) assert.Equal(t, runnerEntry.ID, runner.ID) @@ -102,16 +98,14 @@ func testActionsRunnerUser(t *testing.T) { token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteUser) req := NewRequest(t, "POST", "/api/v1/user/actions/runners/registration-token").AddTokenAuth(token) tokenResp := MakeRequest(t, req, http.StatusOK) - var registrationToken struct { + registrationToken := DecodeJSON(t, tokenResp, &struct { Token string `json:"token"` - } - DecodeJSON(t, tokenResp, ®istrationToken) + }{}) assert.NotEmpty(t, registrationToken.Token) req = NewRequest(t, "GET", "/api/v1/user/actions/runners").AddTokenAuth(token) runnerListResp := MakeRequest(t, req, http.StatusOK) - runnerList := api.ActionRunnersResponse{} - DecodeJSON(t, runnerListResp, &runnerList) + runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{}) assert.Len(t, runnerList.Entries, 1) assert.Equal(t, "runner_to_be_deleted-user", runnerList.Entries[0].Name) @@ -126,8 +120,7 @@ func testActionsRunnerUser(t *testing.T) { req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, "runner_to_be_deleted-user", runner.Name) assert.Equal(t, int64(34346), runner.ID) @@ -143,7 +136,7 @@ func testActionsRunnerUser(t *testing.T) { MakeRequest(t, req, http.StatusOK) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token) runnerResp = MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, runnerResp, &runner) + runner = DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.True(t, runner.Disabled) req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/user/actions/runners/%d", runnerList.Entries[0].ID), false).AddTokenAuth(token) @@ -170,8 +163,7 @@ func testActionsRunnerOwner(t *testing.T) { req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", 34347)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, "runner_to_be_deleted-org", runner.Name) assert.Equal(t, int64(34347), runner.ID) @@ -187,16 +179,14 @@ func testActionsRunnerOwner(t *testing.T) { token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteOrganization) req := NewRequest(t, "POST", "/api/v1/orgs/org3/actions/runners/registration-token").AddTokenAuth(token) tokenResp := MakeRequest(t, req, http.StatusOK) - var registrationToken struct { + registrationToken := DecodeJSON(t, tokenResp, &struct { Token string `json:"token"` - } - DecodeJSON(t, tokenResp, ®istrationToken) + }{}) assert.NotEmpty(t, registrationToken.Token) req = NewRequest(t, "GET", "/api/v1/orgs/org3/actions/runners").AddTokenAuth(token) runnerListResp := MakeRequest(t, req, http.StatusOK) - runnerList := api.ActionRunnersResponse{} - DecodeJSON(t, runnerListResp, &runnerList) + runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{}) idx := slices.IndexFunc(runnerList.Entries, func(e *api.ActionRunner) bool { return e.ID == 34347 }) require.NotEqual(t, -1, idx) @@ -215,8 +205,7 @@ func testActionsRunnerOwner(t *testing.T) { req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, "runner_to_be_deleted-org", runner.Name) assert.Equal(t, int64(34347), runner.ID) @@ -232,7 +221,7 @@ func testActionsRunnerOwner(t *testing.T) { MakeRequest(t, req, http.StatusOK) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID)).AddTokenAuth(token) runnerResp = MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, runnerResp, &runner) + runner = DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.True(t, runner.Disabled) req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/orgs/org3/actions/runners/%d", expectedRunner.ID), false).AddTokenAuth(token) @@ -311,8 +300,7 @@ func testActionsRunnerRepo(t *testing.T) { req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", 34348)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, "runner_to_be_deleted-repo1", runner.Name) assert.Equal(t, int64(34348), runner.ID) @@ -328,16 +316,14 @@ func testActionsRunnerRepo(t *testing.T) { token := getUserToken(t, userUsername, auth_model.AccessTokenScopeWriteRepository) req := NewRequest(t, "POST", "/api/v1/repos/user2/repo1/actions/runners/registration-token").AddTokenAuth(token) tokenResp := MakeRequest(t, req, http.StatusOK) - var registrationToken struct { + registrationToken := DecodeJSON(t, tokenResp, &struct { Token string `json:"token"` - } - DecodeJSON(t, tokenResp, ®istrationToken) + }{}) assert.NotEmpty(t, registrationToken.Token) req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/actions/runners").AddTokenAuth(token) runnerListResp := MakeRequest(t, req, http.StatusOK) - runnerList := api.ActionRunnersResponse{} - DecodeJSON(t, runnerListResp, &runnerList) + runnerList := DecodeJSON(t, runnerListResp, &api.ActionRunnersResponse{}) assert.Len(t, runnerList.Entries, 1) assert.Equal(t, "runner_to_be_deleted-repo1", runnerList.Entries[0].Name) @@ -352,8 +338,7 @@ func testActionsRunnerRepo(t *testing.T) { req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token) runnerResp := MakeRequest(t, req, http.StatusOK) - runner := api.ActionRunner{} - DecodeJSON(t, runnerResp, &runner) + runner := DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.Equal(t, "runner_to_be_deleted-repo1", runner.Name) assert.Equal(t, int64(34348), runner.ID) @@ -369,7 +354,7 @@ func testActionsRunnerRepo(t *testing.T) { MakeRequest(t, req, http.StatusOK) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID)).AddTokenAuth(token) runnerResp = MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, runnerResp, &runner) + runner = DecodeJSON(t, runnerResp, &api.ActionRunner{}) assert.True(t, runner.Disabled) req = newRunnerUpdateRequest(t, fmt.Sprintf("/api/v1/repos/user2/repo1/actions/runners/%d", runnerList.Entries[0].ID), false).AddTokenAuth(token) diff --git a/tests/integration/api_admin_org_test.go b/tests/integration/api_admin_org_test.go index b2d77456c4e..6019be70c6a 100644 --- a/tests/integration/api_admin_org_test.go +++ b/tests/integration/api_admin_org_test.go @@ -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) diff --git a/tests/integration/api_admin_test.go b/tests/integration/api_admin_test.go index 763d4d526b3..291cd21984a 100644 --- a/tests/integration/api_admin_test.go +++ b/tests/integration/api_admin_test.go @@ -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" { diff --git a/tests/integration/api_branch_test.go b/tests/integration/api_branch_test.go index 017790081e5..5bf53605498 100644 --- a/tests/integration/api_branch_test.go +++ b/tests/integration/api_branch_test.go @@ -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) diff --git a/tests/integration/api_comment_attachment_test.go b/tests/integration/api_comment_attachment_test.go index ae903319622..657b1637ac2 100644 --- a/tests/integration/api_comment_attachment_test.go +++ b/tests/integration/api_comment_attachment_test.go @@ -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}) } diff --git a/tests/integration/api_comment_test.go b/tests/integration/api_comment_test.go index c7f9c85f7c9..138d1d2e9bf 100644 --- a/tests/integration/api_comment_test.go +++ b/tests/integration/api_comment_test.go @@ -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) } diff --git a/tests/integration/api_gitignore_templates_test.go b/tests/integration/api_gitignore_templates_test.go index 1c56d513449..95e450b6953 100644 --- a/tests/integration/api_gitignore_templates_test.go +++ b/tests/integration/api_gitignore_templates_test.go @@ -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) diff --git a/tests/integration/api_gpg_keys_test.go b/tests/integration/api_gpg_keys_test.go index 89aee24b0c7..a5cee1d8a7d 100644 --- a/tests/integration/api_gpg_keys_test.go +++ b/tests/integration/api_gpg_keys_test.go @@ -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) }) }) diff --git a/tests/integration/api_helper_for_declarative_test.go b/tests/integration/api_helper_for_declarative_test.go index b30cdfd0fc3..8abfdd64896 100644 --- a/tests/integration/api_helper_for_declarative_test.go +++ b/tests/integration/api_helper_for_declarative_test.go @@ -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) } } } diff --git a/tests/integration/api_issue_attachment_test.go b/tests/integration/api_issue_attachment_test.go index 12acaeae5d1..3475c37ee4f 100644 --- a/tests/integration/api_issue_attachment_test.go +++ b/tests/integration/api_issue_attachment_test.go @@ -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}) } diff --git a/tests/integration/api_issue_config_test.go b/tests/integration/api_issue_config_test.go index f6045e1a805..31dfa9ce92b 100644 --- a/tests/integration/api_issue_config_test.go +++ b/tests/integration/api_issue_config_test.go @@ -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) diff --git a/tests/integration/api_issue_label_test.go b/tests/integration/api_issue_label_test.go index 4324fd37d95..0e522d3e83e 100644 --- a/tests/integration/api_issue_label_test.go +++ b/tests/integration/api_issue_label_test.go @@ -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, diff --git a/tests/integration/api_issue_milestone_test.go b/tests/integration/api_issue_milestone_test.go index 1196c8d358d..7f16db163d0 100644 --- a/tests/integration/api_issue_milestone_test.go +++ b/tests/integration/api_issue_milestone_test.go @@ -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) diff --git a/tests/integration/api_issue_pin_test.go b/tests/integration/api_issue_pin_test.go index c1bfa5aa0eb..47026449d79 100644 --- a/tests/integration/api_issue_pin_test.go +++ b/tests/integration/api_issue_pin_test.go @@ -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) diff --git a/tests/integration/api_issue_reaction_test.go b/tests/integration/api_issue_reaction_test.go index 88038799e5e..503caf8a725 100644 --- a/tests/integration/api_issue_reaction_test.go +++ b/tests/integration/api_issue_reaction_test.go @@ -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) diff --git a/tests/integration/api_issue_stopwatch_test.go b/tests/integration/api_issue_stopwatch_test.go index 1cf797f2219..970597bd8f4 100644 --- a/tests/integration/api_issue_stopwatch_test.go +++ b/tests/integration/api_issue_stopwatch_test.go @@ -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) { diff --git a/tests/integration/api_issue_templates_test.go b/tests/integration/api_issue_templates_test.go index 6b65e6e0867..452ff1c9d29 100644 --- a/tests/integration/api_issue_templates_test.go +++ b/tests/integration/api_issue_templates_test.go @@ -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")) diff --git a/tests/integration/api_issue_test.go b/tests/integration/api_issue_test.go index 8dc9e31cfa7..e3f6b8caecd 100644 --- a/tests/integration/api_issue_test.go +++ b/tests/integration/api_issue_test.go @@ -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) } diff --git a/tests/integration/api_issue_tracked_time_test.go b/tests/integration/api_issue_tracked_time_test.go index 12f4def9e1a..2bb9d765a6a 100644 --- a/tests/integration/api_issue_tracked_time_test.go +++ b/tests/integration/api_issue_tracked_time_test.go @@ -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) diff --git a/tests/integration/api_keys_test.go b/tests/integration/api_keys_test.go index 3162051acc4..7ea273ac166 100644 --- a/tests/integration/api_keys_test.go +++ b/tests/integration/api_keys_test.go @@ -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) } diff --git a/tests/integration/api_label_templates_test.go b/tests/integration/api_label_templates_test.go index 3e637daba6d..bb070fc1598 100644 --- a/tests/integration/api_label_templates_test.go +++ b/tests/integration/api_label_templates_test.go @@ -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) diff --git a/tests/integration/api_license_templates_test.go b/tests/integration/api_license_templates_test.go index 52e240f9a7f..d0c6274f1a6 100644 --- a/tests/integration/api_license_templates_test.go +++ b/tests/integration/api_license_templates_test.go @@ -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) diff --git a/tests/integration/api_notification_test.go b/tests/integration/api_notification_test.go index 0c17ece55d6..275521572d4 100644 --- a/tests/integration/api_notification_test.go +++ b/tests/integration/api_notification_test.go @@ -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) diff --git a/tests/integration/api_org_test.go b/tests/integration/api_org_test.go index 320b22a4ff0..92e7774aa7e 100644 --- a/tests/integration/api_org_test.go +++ b/tests/integration/api_org_test.go @@ -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) diff --git a/tests/integration/api_packages_cargo_test.go b/tests/integration/api_packages_cargo_test.go index d7a89e446d7..055d56fe790 100644 --- a/tests/integration/api_packages_cargo_test.go +++ b/tests/integration/api_packages_cargo_test.go @@ -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) diff --git a/tests/integration/api_packages_chef_test.go b/tests/integration/api_packages_chef_test.go index 999e8cd7b21..cceed8566bf 100644 --- a/tests/integration/api_packages_chef_test.go +++ b/tests/integration/api_packages_chef_test.go @@ -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) diff --git a/tests/integration/api_packages_composer_test.go b/tests/integration/api_packages_composer_test.go index fdc064488e3..a56f2dd39b6 100644 --- a/tests/integration/api_packages_composer_test.go +++ b/tests/integration/api_packages_composer_test.go @@ -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] diff --git a/tests/integration/api_packages_conan_test.go b/tests/integration/api_packages_conan_test.go index 90c0697ae6b..7422e8f5186 100644 --- a/tests/integration/api_packages_conan_test.go +++ b/tests/integration/api_packages_conan_test.go @@ -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] diff --git a/tests/integration/api_packages_conda_test.go b/tests/integration/api_packages_conda_test.go index f2960ede3ad..874fc4657f5 100644 --- a/tests/integration/api_packages_conda_test.go +++ b/tests/integration/api_packages_conda_test.go @@ -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) diff --git a/tests/integration/api_packages_container_test.go b/tests/integration/api_packages_container_test.go index 59888692082..93dd100680b 100644 --- a/tests/integration/api_packages_container_test.go +++ b/tests/integration/api_packages_container_test.go @@ -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)) diff --git a/tests/integration/api_packages_goproxy_test.go b/tests/integration/api_packages_goproxy_test.go index d96b7d4ba73..a91a6655450 100644 --- a/tests/integration/api_packages_goproxy_test.go +++ b/tests/integration/api_packages_goproxy_test.go @@ -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) }) diff --git a/tests/integration/api_packages_npm_test.go b/tests/integration/api_packages_npm_test.go index bbf7af09e36..92f9b61081b 100644 --- a/tests/integration/api_packages_npm_test.go +++ b/tests/integration/api_packages_npm_test.go @@ -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) diff --git a/tests/integration/api_packages_nuget_test.go b/tests/integration/api_packages_nuget_test.go index 457d4c6831f..47aa069f794 100644 --- a/tests/integration/api_packages_nuget_test.go +++ b/tests/integration/api_packages_nuget_test.go @@ -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]) diff --git a/tests/integration/api_packages_pub_test.go b/tests/integration/api_packages_pub_test.go index a080ede5df9..9873248a431 100644 --- a/tests/integration/api_packages_pub_test.go +++ b/tests/integration/api_packages_pub_test.go @@ -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) diff --git a/tests/integration/api_packages_test.go b/tests/integration/api_packages_test.go index f0fc71f70a0..f49cbb9a258 100644 --- a/tests/integration/api_packages_test.go +++ b/tests/integration/api_packages_test.go @@ -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) diff --git a/tests/integration/api_packages_vagrant_test.go b/tests/integration/api_packages_vagrant_test.go index 22412a8558e..86c1f066119 100644 --- a/tests/integration/api_packages_vagrant_test.go +++ b/tests/integration/api_packages_vagrant_test.go @@ -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) diff --git a/tests/integration/api_pull_commits_test.go b/tests/integration/api_pull_commits_test.go index 05143fcf251..fd077b1e7c1 100644 --- a/tests/integration/api_pull_commits_test.go +++ b/tests/integration/api_pull_commits_test.go @@ -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) diff --git a/tests/integration/api_pull_review_test.go b/tests/integration/api_pull_review_test.go index 51402b50984..feb423dd04a 100644 --- a/tests/integration/api_pull_review_test.go +++ b/tests/integration/api_pull_review_test.go @@ -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) diff --git a/tests/integration/api_pull_test.go b/tests/integration/api_pull_test.go index 39b54296e0f..4bc419e5e43 100644 --- a/tests/integration/api_pull_test.go +++ b/tests/integration/api_pull_test.go @@ -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) diff --git a/tests/integration/api_releases_attachment_test.go b/tests/integration/api_releases_attachment_test.go index 3f2592e331a..f6698fbb5e7 100644 --- a/tests/integration/api_releases_attachment_test.go +++ b/tests/integration/api_releases_attachment_test.go @@ -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) } diff --git a/tests/integration/api_releases_test.go b/tests/integration/api_releases_test.go index 0e2bd888202..7135f2ca365 100644 --- a/tests/integration/api_releases_test.go +++ b/tests/integration/api_releases_test.go @@ -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) diff --git a/tests/integration/api_repo_collaborator_test.go b/tests/integration/api_repo_collaborator_test.go index 11e2924e842..df1f715dc3e 100644 --- a/tests/integration/api_repo_collaborator_test.go +++ b/tests/integration/api_repo_collaborator_test.go @@ -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) }) diff --git a/tests/integration/api_repo_edit_test.go b/tests/integration/api_repo_edit_test.go index 215b48b64b3..46bcccc31ee 100644 --- a/tests/integration/api_repo_edit_test.go +++ b/tests/integration/api_repo_edit_test.go @@ -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{ diff --git a/tests/integration/api_repo_file_create_test.go b/tests/integration/api_repo_file_create_test.go index 5bc920a2742..cbd1e4963e8 100644 --- a/tests/integration/api_repo_file_create_test.go +++ b/tests/integration/api_repo_file_create_test.go @@ -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) diff --git a/tests/integration/api_repo_file_delete_test.go b/tests/integration/api_repo_file_delete_test.go index 59e21316186..96ca39dab9e 100644 --- a/tests/integration/api_repo_file_delete_test.go +++ b/tests/integration/api_repo_file_delete_test.go @@ -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) diff --git a/tests/integration/api_repo_file_diffpatch_test.go b/tests/integration/api_repo_file_diffpatch_test.go index e463027ed3c..928ea3bfb8e 100644 --- a/tests/integration/api_repo_file_diffpatch_test.go +++ b/tests/integration/api_repo_file_diffpatch_test.go @@ -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") diff --git a/tests/integration/api_repo_file_update_test.go b/tests/integration/api_repo_file_update_test.go index 2847e017917..4098beeefd9 100644 --- a/tests/integration/api_repo_file_update_test.go +++ b/tests/integration/api_repo_file_update_test.go @@ -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 diff --git a/tests/integration/api_repo_files_change_test.go b/tests/integration/api_repo_files_change_test.go index 47fe5066a71..d5189440831 100644 --- a/tests/integration/api_repo_files_change_test.go +++ b/tests/integration/api_repo_files_change_test.go @@ -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 diff --git a/tests/integration/api_repo_files_get_test.go b/tests/integration/api_repo_files_get_test.go index edf4f390634..3d299cd655e 100644 --- a/tests/integration/api_repo_files_get_test.go +++ b/tests/integration/api_repo_files_get_test.go @@ -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) }) diff --git a/tests/integration/api_repo_get_contents_list_test.go b/tests/integration/api_repo_get_contents_list_test.go index 679ad37befe..0b8bc5a8dc8 100644 --- a/tests/integration/api_repo_get_contents_list_test.go +++ b/tests/integration/api_repo_get_contents_list_test.go @@ -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) diff --git a/tests/integration/api_repo_get_contents_test.go b/tests/integration/api_repo_get_contents_test.go index 251816950b3..bc9a17ff8d2 100644 --- a/tests/integration/api_repo_get_contents_test.go +++ b/tests/integration/api_repo_get_contents_test.go @@ -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 diff --git a/tests/integration/api_repo_git_blobs_test.go b/tests/integration/api_repo_git_blobs_test.go index d4274bdb404..d8270ad9f36 100644 --- a/tests/integration/api_repo_git_blobs_test.go +++ b/tests/integration/api_repo_git_blobs_test.go @@ -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) diff --git a/tests/integration/api_repo_git_commits_test.go b/tests/integration/api_repo_git_commits_test.go index a1584d4629c..2c09026c906 100644 --- a/tests/integration/api_repo_git_commits_test.go +++ b/tests/integration/api_repo_git_commits_test.go @@ -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) diff --git a/tests/integration/api_repo_git_hook_test.go b/tests/integration/api_repo_git_hook_test.go index e106ab90cda..d8254c6c614 100644 --- a/tests/integration/api_repo_git_hook_test.go +++ b/tests/integration/api_repo_git_hook_test.go @@ -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) diff --git a/tests/integration/api_repo_git_notes_test.go b/tests/integration/api_repo_git_notes_test.go index 9f3e927077e..912b4f75c77 100644 --- a/tests/integration/api_repo_git_notes_test.go +++ b/tests/integration/api_repo_git_notes_test.go @@ -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) diff --git a/tests/integration/api_repo_git_trees_test.go b/tests/integration/api_repo_git_trees_test.go index ea7630f4145..5cfce1044d9 100644 --- a/tests/integration/api_repo_git_trees_test.go +++ b/tests/integration/api_repo_git_trees_test.go @@ -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) diff --git a/tests/integration/api_repo_languages_test.go b/tests/integration/api_repo_languages_test.go index 2cde3936cf3..89744067d7d 100644 --- a/tests/integration/api_repo_languages_test.go +++ b/tests/integration/api_repo_languages_test.go @@ -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) }) diff --git a/tests/integration/api_repo_lfs_locks_test.go b/tests/integration/api_repo_lfs_locks_test.go index 161fa45dc64..460b32a7dd7 100644 --- a/tests/integration/api_repo_lfs_locks_test.go +++ b/tests/integration/api_repo_lfs_locks_test.go @@ -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) } } diff --git a/tests/integration/api_repo_license_test.go b/tests/integration/api_repo_license_test.go index 46bd992190c..31358a1e3f6 100644 --- a/tests/integration/api_repo_license_test.go +++ b/tests/integration/api_repo_license_test.go @@ -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) } diff --git a/tests/integration/api_repo_tags_test.go b/tests/integration/api_repo_tags_test.go index c23151a30bb..03dafafb2d6 100644 --- a/tests/integration/api_repo_tags_test.go +++ b/tests/integration/api_repo_tags_test.go @@ -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 } diff --git a/tests/integration/api_repo_teams_test.go b/tests/integration/api_repo_teams_test.go index ade585a53d0..584416dfa38 100644 --- a/tests/integration/api_repo_teams_test.go +++ b/tests/integration/api_repo_teams_test.go @@ -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) diff --git a/tests/integration/api_repo_test.go b/tests/integration/api_repo_test.go index deacd68a494..6b9cef58ae8 100644 --- a/tests/integration/api_repo_test.go +++ b/tests/integration/api_repo_test.go @@ -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) } diff --git a/tests/integration/api_repo_topic_test.go b/tests/integration/api_repo_topic_test.go index d835775ed5d..d0e490d0c9a 100644 --- a/tests/integration/api_repo_topic_test.go +++ b/tests/integration/api_repo_topic_test.go @@ -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) diff --git a/tests/integration/api_settings_test.go b/tests/integration/api_settings_test.go index 743dbb04815..89b9ae75094 100644 --- a/tests/integration/api_settings_test.go +++ b/tests/integration/api_settings_test.go @@ -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, diff --git a/tests/integration/api_team_test.go b/tests/integration/api_team_test.go index 8c3c31b2bfe..dffa6a50e10 100644 --- a/tests/integration/api_team_test.go +++ b/tests/integration/api_team_test.go @@ -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 diff --git a/tests/integration/api_token_test.go b/tests/integration/api_token_test.go index 91c05e5085d..55354958414 100644 --- a/tests/integration/api_token_test.go +++ b/tests/integration/api_token_test.go @@ -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. diff --git a/tests/integration/api_twofa_test.go b/tests/integration/api_twofa_test.go index 960b3425f34..ae23d2b8ffe 100644 --- a/tests/integration/api_twofa_test.go +++ b/tests/integration/api_twofa_test.go @@ -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 diff --git a/tests/integration/api_user_block_test.go b/tests/integration/api_user_block_test.go index b6cec24ecc9..5e0f06c26df 100644 --- a/tests/integration/api_user_block_test.go +++ b/tests/integration/api_user_block_test.go @@ -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) }) diff --git a/tests/integration/api_user_email_test.go b/tests/integration/api_user_email_test.go index 5b6f0708ea1..804f35aff3d 100644 --- a/tests/integration/api_user_email_test.go +++ b/tests/integration/api_user_email_test.go @@ -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", diff --git a/tests/integration/api_user_follow_test.go b/tests/integration/api_user_follow_test.go index 6cb31a6802c..39aae37e6f8 100644 --- a/tests/integration/api_user_follow_test.go +++ b/tests/integration/api_user_follow_test.go @@ -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) }) diff --git a/tests/integration/api_user_heatmap_test.go b/tests/integration/api_user_heatmap_test.go index a23536735b4..ed7113bf464 100644 --- a/tests/integration/api_user_heatmap_test.go +++ b/tests/integration/api_user_heatmap_test.go @@ -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}) diff --git a/tests/integration/api_user_info_test.go b/tests/integration/api_user_info_test.go index 06353eabe09..93903eac741 100644 --- a/tests/integration/api_user_info_test.go +++ b/tests/integration/api_user_info_test.go @@ -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) }) } diff --git a/tests/integration/api_user_org_perm_test.go b/tests/integration/api_user_org_perm_test.go index 48bb92234eb..4dc369d135e 100644 --- a/tests/integration/api_user_org_perm_test.go +++ b/tests/integration/api_user_org_perm_test.go @@ -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, diff --git a/tests/integration/api_user_orgs_test.go b/tests/integration/api_user_orgs_test.go index 983d397b2b7..3e8e17c28ae 100644 --- a/tests/integration/api_user_orgs_test.go +++ b/tests/integration/api_user_orgs_test.go @@ -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"}) diff --git a/tests/integration/api_user_search_test.go b/tests/integration/api_user_search_test.go index 97264969ebb..3165d34e004 100644 --- a/tests/integration/api_user_search_test.go +++ b/tests/integration/api_user_search_test.go @@ -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) } diff --git a/tests/integration/api_user_star_test.go b/tests/integration/api_user_star_test.go index 989e7ab1d11..65422a4f983 100644 --- a/tests/integration/api_user_star_test.go +++ b/tests/integration/api_user_star_test.go @@ -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) }) diff --git a/tests/integration/api_user_watch_test.go b/tests/integration/api_user_watch_test.go index 71dc57453e9..002b8a10e69 100644 --- a/tests/integration/api_user_watch_test.go +++ b/tests/integration/api_user_watch_test.go @@ -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) }) diff --git a/tests/integration/api_wiki_test.go b/tests/integration/api_wiki_test.go index 4d5745548da..697a1a2ccbe 100644 --- a/tests/integration/api_wiki_test.go +++ b/tests/integration/api_wiki_test.go @@ -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{ { diff --git a/tests/integration/attachment_test.go b/tests/integration/attachment_test.go index 1e4e7c8e1cb..db6928beac2 100644 --- a/tests/integration/attachment_test.go +++ b/tests/integration/attachment_test.go @@ -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"] } diff --git a/tests/integration/editor_test.go b/tests/integration/editor_test.go index 2ddee704402..18b3a9400d7 100644 --- a/tests/integration/editor_test.go +++ b/tests/integration/editor_test.go @@ -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"] } diff --git a/tests/integration/empty_repo_test.go b/tests/integration/empty_repo_test.go index 4991ee95fc5..de2a2b73745 100644 --- a/tests/integration/empty_repo_test.go +++ b/tests/integration/empty_repo_test.go @@ -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) } diff --git a/tests/integration/eventsource_test.go b/tests/integration/eventsource_test.go index a13a8c346a7..e0dbd0b23f1 100644 --- a/tests/integration/eventsource_test.go +++ b/tests/integration/eventsource_test.go @@ -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) diff --git a/tests/integration/heatmap_test.go b/tests/integration/heatmap_test.go index 09b0d964b66..4e0c02dd0f1 100644 --- a/tests/integration/heatmap_test.go +++ b/tests/integration/heatmap_test.go @@ -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") }) diff --git a/tests/integration/issue_test.go b/tests/integration/issue_test.go index a9101d7b7ef..7733e75d5e7 100644 --- a/tests/integration/issue_test.go +++ b/tests/integration/issue_test.go @@ -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"`) diff --git a/tests/integration/links_test.go b/tests/integration/links_test.go index f80cc6f3f9c..733a3e045a0 100644 --- a/tests/integration/links_test.go +++ b/tests/integration/links_test.go @@ -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", diff --git a/tests/integration/oauth_test.go b/tests/integration/oauth_test.go index 7090c4c2389..b61f887d36f 100644 --- a/tests/integration/oauth_test.go +++ b/tests/integration/oauth_test.go @@ -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"]) }) diff --git a/tests/integration/org_test.go b/tests/integration/org_test.go index cc1d2052116..e34bc60635c 100644 --- a/tests/integration/org_test.go +++ b/tests/integration/org_test.go @@ -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) diff --git a/tests/integration/privateactivity_test.go b/tests/integration/privateactivity_test.go index 7a76d609ea0..5315042b090 100644 --- a/tests/integration/privateactivity_test.go +++ b/tests/integration/privateactivity_test.go @@ -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 } diff --git a/tests/integration/pull_commit_test.go b/tests/integration/pull_commit_test.go index 01b8ec1ff4f..702bddfcef5 100644 --- a/tests/integration/pull_commit_test.go +++ b/tests/integration/pull_commit_test.go @@ -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) diff --git a/tests/integration/pull_create_test.go b/tests/integration/pull_create_test.go index a8bf6689a34..fa10158a57c 100644 --- a/tests/integration/pull_create_test.go +++ b/tests/integration/pull_create_test.go @@ -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) diff --git a/tests/integration/repo_merge_upstream_test.go b/tests/integration/repo_merge_upstream_test.go index fcc6078fcdc..e0e47e1a038 100644 --- a/tests/integration/repo_merge_upstream_test.go +++ b/tests/integration/repo_merge_upstream_test.go @@ -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) diff --git a/tests/integration/repo_tag_test.go b/tests/integration/repo_tag_test.go index 586477deff3..eef83a794e2 100644 --- a/tests/integration/repo_tag_test.go +++ b/tests/integration/repo_tag_test.go @@ -166,7 +166,7 @@ func TestRepushTag(t *testing.T) { // query the release by API and it should not be a draft req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/%s", owner.Name, repo.Name, "v2.0")) resp = MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, resp, &respRelease) + respRelease = DecodeJSON(t, resp, &api.Release{}) assert.False(t, respRelease.IsDraft) }) } diff --git a/tests/integration/repo_topic_test.go b/tests/integration/repo_topic_test.go index 7f9594b9fde..522a774c4d2 100644 --- a/tests/integration/repo_topic_test.go +++ b/tests/integration/repo_topic_test.go @@ -17,13 +17,12 @@ import ( func TestTopicSearch(t *testing.T) { defer tests.PrepareTestEnv(t)() searchURL, _ := url.Parse("/explore/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")) @@ -33,7 +32,9 @@ func TestTopicSearch(t *testing.T) { 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")) @@ -43,7 +44,9 @@ func TestTopicSearch(t *testing.T) { 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")) @@ -53,14 +56,18 @@ func TestTopicSearch(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) topics.TopicNames = nil 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) diff --git a/tests/integration/user_test.go b/tests/integration/user_test.go index 0f68ecfe6c1..a124dc33c44 100644 --- a/tests/integration/user_test.go +++ b/tests/integration/user_test.go @@ -333,8 +333,7 @@ func testUserListStopWatches(t *testing.T) { session := loginUser(t, owner.Name) req := NewRequest(t, "GET", "/user/stopwatches") resp := session.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) { diff --git a/tests/integration/version_test.go b/tests/integration/version_test.go index a6ae649b400..ca716d47192 100644 --- a/tests/integration/version_test.go +++ b/tests/integration/version_test.go @@ -21,7 +21,6 @@ func TestVersion(t *testing.T) { req := NewRequest(t, "GET", "/api/v1/version") resp := MakeRequest(t, req, http.StatusOK) - var version structs.ServerVersion - DecodeJSON(t, resp, &version) + version := DecodeJSON(t, resp, &structs.ServerVersion{}) assert.Equal(t, setting.AppVer, version.Version) } diff --git a/tests/integration/workflow_run_api_check_test.go b/tests/integration/workflow_run_api_check_test.go index 8efcf18f8b0..d7390b3ac17 100644 --- a/tests/integration/workflow_run_api_check_test.go +++ b/tests/integration/workflow_run_api_check_test.go @@ -38,8 +38,7 @@ func testAPIWorkflowRunBasic(t *testing.T, apiRootURL, userUsername string, runI apiRunsURL := fmt.Sprintf("%s/%s", apiRootURL, "runs") req := NewRequest(t, "GET", apiRunsURL).AddTokenAuth(token) runnerListResp := MakeRequest(t, req, http.StatusOK) - runnerList := api.ActionWorkflowRunsResponse{} - DecodeJSON(t, runnerListResp, &runnerList) + runnerList := DecodeJSON(t, runnerListResp, &api.ActionWorkflowRunsResponse{}) foundRun := false @@ -59,8 +58,7 @@ func testAPIWorkflowRunBasic(t *testing.T, apiRootURL, userUsername string, runI // Verify run url works req := NewRequest(t, "GET", run.URL).AddTokenAuth(token) runResp := MakeRequest(t, req, http.StatusOK) - apiRun := api.ActionWorkflowRun{} - DecodeJSON(t, runResp, &apiRun) + apiRun := DecodeJSON(t, runResp, &api.ActionWorkflowRun{}) assert.Equal(t, run.ID, apiRun.ID) assert.Equal(t, run.Status, apiRun.Status) assert.Equal(t, run.Conclusion, apiRun.Conclusion) @@ -69,8 +67,7 @@ func testAPIWorkflowRunBasic(t *testing.T, apiRootURL, userUsername string, runI // Verify jobs list works req = NewRequest(t, "GET", fmt.Sprintf("%s/%s", run.URL, "jobs")).AddTokenAuth(token) jobsResp := MakeRequest(t, req, http.StatusOK) - jobList := api.ActionWorkflowJobsResponse{} - DecodeJSON(t, jobsResp, &jobList) + jobList := DecodeJSON(t, jobsResp, &api.ActionWorkflowJobsResponse{}) if run.ID == runID { foundRun = true @@ -86,8 +83,7 @@ func testAPIWorkflowRunBasic(t *testing.T, apiRootURL, userUsername string, runI // Verify job url works req := NewRequest(t, "GET", job.URL).AddTokenAuth(token) jobsResp := MakeRequest(t, req, http.StatusOK) - apiJob := api.ActionWorkflowJob{} - DecodeJSON(t, jobsResp, &apiJob) + apiJob := DecodeJSON(t, jobsResp, &api.ActionWorkflowJob{}) assert.Equal(t, job.ID, apiJob.ID) assert.Equal(t, job.RunID, apiJob.RunID) assert.Equal(t, job.Status, apiJob.Status) @@ -120,8 +116,7 @@ func verifyWorkflowRunCanbeFoundWithStatusFilter(t *testing.T, runAPIURL, token } req := NewRequest(t, "GET", runAPIURL+"?"+filter.Encode()).AddTokenAuth(token) runResp := MakeRequest(t, req, http.StatusOK) - runList := api.ActionWorkflowRunsResponse{} - DecodeJSON(t, runResp, &runList) + runList := DecodeJSON(t, runResp, &api.ActionWorkflowRunsResponse{}) found := false for _, run := range runList.Entries { @@ -155,8 +150,7 @@ func verifyWorkflowJobCanbeFoundWithStatusFilter(t *testing.T, runAPIURL, token } req := NewRequest(t, "GET", runAPIURL+"?status="+filter).AddTokenAuth(token) jobListResp := MakeRequest(t, req, http.StatusOK) - jobList := api.ActionWorkflowJobsResponse{} - DecodeJSON(t, jobListResp, &jobList) + jobList := DecodeJSON(t, jobListResp, &api.ActionWorkflowJobsResponse{}) found := false for _, job := range jobList.Entries {