From 7882390e675b4bfa2adbe509d55e2fffec010db3 Mon Sep 17 00:00:00 2001 From: Cameron Braid Date: Tue, 19 Jan 2021 16:01:47 +1100 Subject: [PATCH 1/4] get release by tag should filter out tag releases to be consisten with list releases and get by id --- routers/api/v1/repo/release_tags.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/routers/api/v1/repo/release_tags.go b/routers/api/v1/repo/release_tags.go index ef07ce5e1ad56..eaa37124e05b0 100644 --- a/routers/api/v1/repo/release_tags.go +++ b/routers/api/v1/repo/release_tags.go @@ -55,6 +55,12 @@ func GetReleaseTag(ctx *context.APIContext) { return } + if err != nil && models.IsErrReleaseNotExist(err) || + release.IsTag || release.RepoID != ctx.Repo.Repository.ID { + ctx.NotFound() + return + } + if err := release.LoadAttributes(); err != nil { ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) return From 876d7b16b32ecf431336620c811136288bea7c95 Mon Sep 17 00:00:00 2001 From: Cameron Braid Date: Tue, 19 Jan 2021 16:15:46 +1100 Subject: [PATCH 2/4] remove RepoID test --- routers/api/v1/repo/release_tags.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/routers/api/v1/repo/release_tags.go b/routers/api/v1/repo/release_tags.go index eaa37124e05b0..7d4d9cd06e611 100644 --- a/routers/api/v1/repo/release_tags.go +++ b/routers/api/v1/repo/release_tags.go @@ -55,8 +55,7 @@ func GetReleaseTag(ctx *context.APIContext) { return } - if err != nil && models.IsErrReleaseNotExist(err) || - release.IsTag || release.RepoID != ctx.Repo.Repository.ID { + if err != nil && models.IsErrReleaseNotExist(err) || release.IsTag { ctx.NotFound() return } From d3402e558508027e148f21330468e75da2125943 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 4 Feb 2021 02:59:05 +0100 Subject: [PATCH 3/4] simplify & enhance --- routers/api/v1/repo/release_tags.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routers/api/v1/repo/release_tags.go b/routers/api/v1/repo/release_tags.go index 7d4d9cd06e611..70011a6a8edcc 100644 --- a/routers/api/v1/repo/release_tags.go +++ b/routers/api/v1/repo/release_tags.go @@ -48,19 +48,19 @@ func GetReleaseTag(ctx *context.APIContext) { release, err := models.GetRelease(ctx.Repo.Repository.ID, tag) if err != nil { if models.IsErrReleaseNotExist(err) { - ctx.Error(http.StatusNotFound, "GetRelease", err) + ctx.NotFound() return } ctx.Error(http.StatusInternalServerError, "GetRelease", err) return } - if err != nil && models.IsErrReleaseNotExist(err) || release.IsTag { + if release.IsTag { ctx.NotFound() return } - if err := release.LoadAttributes(); err != nil { + if err = release.LoadAttributes(); err != nil { ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) return } From e6ceff923c983180055d1696a1ac626108e2d2dc Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 4 Feb 2021 03:41:17 +0100 Subject: [PATCH 4/4] fix test --- integrations/api_releases_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/integrations/api_releases_test.go b/integrations/api_releases_test.go index 870d7d0e64d6a..2b310d11e0847 100644 --- a/integrations/api_releases_test.go +++ b/integrations/api_releases_test.go @@ -7,7 +7,6 @@ package integrations import ( "fmt" "net/http" - "strings" "testing" "code.gitea.io/gitea/models" @@ -152,7 +151,7 @@ func TestAPIGetReleaseByTag(t *testing.T) { var err *api.APIError DecodeJSON(t, resp, &err) - assert.True(t, strings.HasPrefix(err.Message, "release tag does not exist")) + assert.EqualValues(t, "Not Found", err.Message) } func TestAPIDeleteTagByName(t *testing.T) {