From d06f98d9a2f27e0b3f7c46f5febf04bbe9227351 Mon Sep 17 00:00:00 2001 From: Cirno the Strongest <1447794+CirnoT@users.noreply.github.com> Date: Tue, 9 Jun 2020 15:05:21 +0200 Subject: [PATCH] Honor DEFAULT_PAGING_NUM for API (#11805) (#11813) * Honor DEFAULT_PAGING_NUM for API * set pagination to 10 for tests * lint Co-authored-by: Lauris BH Co-authored-by: techknowlogick (cherry picked from commit cefbf73aea912c510a8dd194532233076b822d37) --- integrations/api_repo_test.go | 9 ++++++++- integrations/release_test.go | 7 +++++++ modules/convert/utils.go | 2 +- routers/api/v1/repo/topic.go | 6 ------ routers/repo/release.go | 7 ------- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/integrations/api_repo_test.go b/integrations/api_repo_test.go index d57e5daaf3e..7797b8f498c 100644 --- a/integrations/api_repo_test.go +++ b/integrations/api_repo_test.go @@ -13,6 +13,7 @@ import ( "testing" "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/setting" api "code.gitea.io/gitea/modules/structs" "github.com/stretchr/testify/assert" @@ -57,6 +58,12 @@ func TestAPISearchRepo(t *testing.T) { user4 := models.AssertExistsAndLoadBean(t, &models.User{ID: 20}).(*models.User) orgUser := models.AssertExistsAndLoadBean(t, &models.User{ID: 17}).(*models.User) + oldAPIDefaultNum := setting.API.DefaultPagingNum + defer func() { + setting.API.DefaultPagingNum = oldAPIDefaultNum + }() + setting.API.DefaultPagingNum = 10 + // Map of expected results, where key is user for login type expectedResults map[*models.User]struct { count int @@ -79,7 +86,7 @@ func TestAPISearchRepo(t *testing.T) { user: {count: 10}, user2: {count: 10}}, }, - {name: "RepositoriesDefaultMax10", requestURL: "/api/v1/repos/search?default&private=false", expectedResults: expectedResults{ + {name: "RepositoriesDefault", requestURL: "/api/v1/repos/search?default&private=false", expectedResults: expectedResults{ nil: {count: 10}, user: {count: 10}, user2: {count: 10}}, diff --git a/integrations/release_test.go b/integrations/release_test.go index 176f83d55ae..4d2260d8844 100644 --- a/integrations/release_test.go +++ b/integrations/release_test.go @@ -10,6 +10,7 @@ import ( "testing" "time" + "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/test" "github.com/stretchr/testify/assert" @@ -106,6 +107,12 @@ func TestCreateReleaseDraft(t *testing.T) { func TestCreateReleasePaging(t *testing.T) { defer prepareTestEnv(t)() + oldAPIDefaultNum := setting.API.DefaultPagingNum + defer func() { + setting.API.DefaultPagingNum = oldAPIDefaultNum + }() + setting.API.DefaultPagingNum = 10 + session := loginUser(t, "user2") // Create enaugh releases to have paging for i := 0; i < 12; i++ { diff --git a/modules/convert/utils.go b/modules/convert/utils.go index 66fb21be679..ddb8a8820d4 100644 --- a/modules/convert/utils.go +++ b/modules/convert/utils.go @@ -11,7 +11,7 @@ import ( // ToCorrectPageSize makes sure page size is in allowed range. func ToCorrectPageSize(size int) int { if size <= 0 { - size = 10 + size = setting.API.DefaultPagingNum } else if size > setting.API.MaxResponseItems { size = setting.API.MaxResponseItems } diff --git a/routers/api/v1/repo/topic.go b/routers/api/v1/repo/topic.go index 530b92a10d0..f256ab9422e 100644 --- a/routers/api/v1/repo/topic.go +++ b/routers/api/v1/repo/topic.go @@ -275,12 +275,6 @@ func TopicSearch(ctx *context.APIContext) { kw := ctx.Query("q") listOptions := utils.GetListOptions(ctx) - if listOptions.Page < 1 { - listOptions.Page = 1 - } - if listOptions.PageSize < 1 { - listOptions.PageSize = 10 - } topics, err := models.FindTopics(&models.FindTopicOptions{ Keyword: kw, diff --git a/routers/repo/release.go b/routers/repo/release.go index 1eac3dce972..1845563bcf7 100644 --- a/routers/repo/release.go +++ b/routers/repo/release.go @@ -69,13 +69,6 @@ func Releases(ctx *context.Context) { IncludeTags: true, } - if opts.ListOptions.Page <= 1 { - opts.ListOptions.Page = 1 - } - if opts.ListOptions.PageSize <= 0 { - opts.ListOptions.Page = 10 - } - releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, opts) if err != nil { ctx.ServerError("GetReleasesByRepoID", err)