Fix missing branch in release bug (#3108)
This commit is contained in:
parent
68179dc676
commit
596308f213
3 changed files with 72 additions and 0 deletions
|
@ -9,6 +9,7 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"code.gitea.io/git"
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
|
||||||
|
@ -51,6 +52,15 @@ func LoadUser(t *testing.T, ctx *context.Context, userID int64) {
|
||||||
ctx.User = models.AssertExistsAndLoadBean(t, &models.User{ID: userID}).(*models.User)
|
ctx.User = models.AssertExistsAndLoadBean(t, &models.User{ID: userID}).(*models.User)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LoadGitRepo load a git repo into a test context. Requires that ctx.Repo has
|
||||||
|
// already been populated.
|
||||||
|
func LoadGitRepo(t *testing.T, ctx *context.Context) {
|
||||||
|
assert.NoError(t, ctx.Repo.Repository.GetOwner())
|
||||||
|
var err error
|
||||||
|
ctx.Repo.GitRepo, err = git.OpenRepository(ctx.Repo.Repository.RepoPath())
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
type mockLocale struct{}
|
type mockLocale struct{}
|
||||||
|
|
||||||
func (l mockLocale) Language() string {
|
func (l mockLocale) Language() string {
|
||||||
|
|
|
@ -191,6 +191,7 @@ func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) {
|
||||||
|
|
||||||
rel.Title = form.Title
|
rel.Title = form.Title
|
||||||
rel.Note = form.Content
|
rel.Note = form.Content
|
||||||
|
rel.Target = form.Target
|
||||||
rel.IsDraft = len(form.Draft) > 0
|
rel.IsDraft = len(form.Draft) > 0
|
||||||
rel.IsPrerelease = form.Prerelease
|
rel.IsPrerelease = form.Prerelease
|
||||||
rel.PublisherID = ctx.User.ID
|
rel.PublisherID = ctx.User.ID
|
||||||
|
|
61
routers/repo/release_test.go
Normal file
61
routers/repo/release_test.go
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package repo
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"code.gitea.io/gitea/models"
|
||||||
|
"code.gitea.io/gitea/modules/auth"
|
||||||
|
"code.gitea.io/gitea/modules/test"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNewReleasePost(t *testing.T) {
|
||||||
|
for _, testCase := range []struct {
|
||||||
|
RepoID int64
|
||||||
|
UserID int64
|
||||||
|
TagName string
|
||||||
|
Form auth.NewReleaseForm
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
RepoID: 1,
|
||||||
|
UserID: 2,
|
||||||
|
TagName: "v1.1", // pre-existing tag
|
||||||
|
Form: auth.NewReleaseForm{
|
||||||
|
TagName: "newtag",
|
||||||
|
Target: "master",
|
||||||
|
Title: "title",
|
||||||
|
Content: "content",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RepoID: 1,
|
||||||
|
UserID: 2,
|
||||||
|
TagName: "newtag",
|
||||||
|
Form: auth.NewReleaseForm{
|
||||||
|
TagName: "newtag",
|
||||||
|
Target: "master",
|
||||||
|
Title: "title",
|
||||||
|
Content: "content",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} {
|
||||||
|
models.PrepareTestEnv(t)
|
||||||
|
|
||||||
|
ctx := test.MockContext(t, "user2/repo1/releases/new")
|
||||||
|
test.LoadUser(t, ctx, 2)
|
||||||
|
test.LoadRepo(t, ctx, 1)
|
||||||
|
test.LoadGitRepo(t, ctx)
|
||||||
|
NewReleasePost(ctx, testCase.Form)
|
||||||
|
models.AssertExistsAndLoadBean(t, &models.Release{
|
||||||
|
RepoID: 1,
|
||||||
|
PublisherID: 2,
|
||||||
|
TagName: testCase.Form.TagName,
|
||||||
|
Target: testCase.Form.Target,
|
||||||
|
Title: testCase.Form.Title,
|
||||||
|
Note: testCase.Form.Content,
|
||||||
|
}, models.Cond("is_draft=?", len(testCase.Form.Draft) > 0))
|
||||||
|
}
|
||||||
|
}
|
Reference in a new issue