mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 13:28:25 +00:00 
			
		
		
		
	Fix missing branch in release bug (#3108)
This commit is contained in:
		@@ -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 New Issue
	
	Block a user