mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Decouple unit test, remove intermediate unittestbridge package (#17662)
				
					
				
			Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -61,7 +61,7 @@ func makeRequest(t *testing.T, formData models.User, headerCode int) { | |||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	session.MakeRequest(t, req, headerCode) | 	session.MakeRequest(t, req, headerCode) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User) | ||||||
| 	assert.Equal(t, formData.Name, user.Name) | 	assert.Equal(t, formData.Name, user.Name) | ||||||
| 	assert.Equal(t, formData.LoginName, user.LoginName) | 	assert.Equal(t, formData.LoginName, user.LoginName) | ||||||
| 	assert.Equal(t, formData.Email, user.Email) | 	assert.Equal(t, formData.Email, user.Email) | ||||||
| @@ -79,5 +79,5 @@ func TestAdminDeleteUser(t *testing.T) { | |||||||
| 	session.MakeRequest(t, req, http.StatusOK) | 	session.MakeRequest(t, req, http.StatusOK) | ||||||
|  |  | ||||||
| 	assertUserDeleted(t, 8) | 	assertUserDeleted(t, 8) | ||||||
| 	models.CheckConsistencyFor(t, &models.User{}) | 	unittest.CheckConsistencyFor(t, &models.User{}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -43,7 +43,7 @@ func TestAPIAdminOrgCreate(t *testing.T) { | |||||||
| 		assert.Equal(t, org.Location, apiOrg.Location) | 		assert.Equal(t, org.Location, apiOrg.Location) | ||||||
| 		assert.Equal(t, org.Visibility, apiOrg.Visibility) | 		assert.Equal(t, org.Visibility, apiOrg.Visibility) | ||||||
|  |  | ||||||
| 		db.AssertExistsAndLoadBean(t, &models.User{ | 		unittest.AssertExistsAndLoadBean(t, &models.User{ | ||||||
| 			Name:      org.UserName, | 			Name:      org.UserName, | ||||||
| 			LowerName: strings.ToLower(org.UserName), | 			LowerName: strings.ToLower(org.UserName), | ||||||
| 			FullName:  org.FullName, | 			FullName:  org.FullName, | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/json" | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -21,7 +21,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| 	keyOwner := db.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User) | 	keyOwner := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User) | ||||||
|  |  | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	urlStr := fmt.Sprintf("/api/v1/admin/users/%s/keys?token=%s", keyOwner.Name, token) | 	urlStr := fmt.Sprintf("/api/v1/admin/users/%s/keys?token=%s", keyOwner.Name, token) | ||||||
| @@ -33,7 +33,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) { | |||||||
|  |  | ||||||
| 	var newPublicKey api.PublicKey | 	var newPublicKey api.PublicKey | ||||||
| 	DecodeJSON(t, resp, &newPublicKey) | 	DecodeJSON(t, resp, &newPublicKey) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.PublicKey{ | 	unittest.AssertExistsAndLoadBean(t, &models.PublicKey{ | ||||||
| 		ID:          newPublicKey.ID, | 		ID:          newPublicKey.ID, | ||||||
| 		Name:        newPublicKey.Title, | 		Name:        newPublicKey.Title, | ||||||
| 		Content:     newPublicKey.Key, | 		Content:     newPublicKey.Key, | ||||||
| @@ -44,7 +44,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) { | |||||||
| 	req = NewRequestf(t, "DELETE", "/api/v1/admin/users/%s/keys/%d?token=%s", | 	req = NewRequestf(t, "DELETE", "/api/v1/admin/users/%s/keys/%d?token=%s", | ||||||
| 		keyOwner.Name, newPublicKey.ID, token) | 		keyOwner.Name, newPublicKey.ID, token) | ||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
| 	db.AssertNotExistsBean(t, &models.PublicKey{ID: newPublicKey.ID}) | 	unittest.AssertNotExistsBean(t, &models.PublicKey{ID: newPublicKey.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIAdminDeleteMissingSSHKey(t *testing.T) { | func TestAPIAdminDeleteMissingSSHKey(t *testing.T) { | ||||||
| @@ -53,7 +53,7 @@ func TestAPIAdminDeleteMissingSSHKey(t *testing.T) { | |||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
|  |  | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	req := NewRequestf(t, "DELETE", "/api/v1/admin/users/user1/keys/%d?token=%s", db.NonexistentID, token) | 	req := NewRequestf(t, "DELETE", "/api/v1/admin/users/user1/keys/%d?token=%s", unittest.NonexistentID, token) | ||||||
| 	session.MakeRequest(t, req, http.StatusNotFound) | 	session.MakeRequest(t, req, http.StatusNotFound) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -128,7 +128,7 @@ func TestAPIListUsers(t *testing.T) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	assert.True(t, found) | 	assert.True(t, found) | ||||||
| 	numberOfUsers := db.GetCount(t, &models.User{}, "type = 0") | 	numberOfUsers := unittest.GetCount(t, &models.User{}, "type = 0") | ||||||
| 	assert.Equal(t, numberOfUsers, len(users)) | 	assert.Equal(t, numberOfUsers, len(users)) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -194,7 +194,7 @@ func TestAPIEditUser(t *testing.T) { | |||||||
| 	json.Unmarshal(resp.Body.Bytes(), &errMap) | 	json.Unmarshal(resp.Body.Bytes(), &errMap) | ||||||
| 	assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string)) | 	assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string)) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User) | ||||||
| 	assert.False(t, user2.IsRestricted) | 	assert.False(t, user2.IsRestricted) | ||||||
| 	bTrue := true | 	bTrue := true | ||||||
| 	req = NewRequestWithJSON(t, "PATCH", urlStr, api.EditUserOption{ | 	req = NewRequestWithJSON(t, "PATCH", urlStr, api.EditUserOption{ | ||||||
| @@ -205,6 +205,6 @@ func TestAPIEditUser(t *testing.T) { | |||||||
| 		Restricted: &bTrue, | 		Restricted: &bTrue, | ||||||
| 	}) | 	}) | ||||||
| 	session.MakeRequest(t, req, http.StatusOK) | 	session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	user2 = db.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User) | 	user2 = unittest.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User) | ||||||
| 	assert.True(t, user2.IsRestricted) | 	assert.True(t, user2.IsRestricted) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -21,11 +21,11 @@ import ( | |||||||
| func TestAPIListRepoComments(t *testing.T) { | func TestAPIListRepoComments(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{}, | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{}, | ||||||
| 		db.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | 		unittest.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments", repoOwner.Name, repo.Name)) | 	link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments", repoOwner.Name, repo.Name)) | ||||||
| @@ -37,9 +37,9 @@ func TestAPIListRepoComments(t *testing.T) { | |||||||
| 	assert.Len(t, apiComments, 2) | 	assert.Len(t, apiComments, 2) | ||||||
| 	for _, apiComment := range apiComments { | 	for _, apiComment := range apiComments { | ||||||
| 		c := &models.Comment{ID: apiComment.ID} | 		c := &models.Comment{ID: apiComment.ID} | ||||||
| 		db.AssertExistsAndLoadBean(t, c, | 		unittest.AssertExistsAndLoadBean(t, c, | ||||||
| 			db.Cond("type = ?", models.CommentTypeComment)) | 			unittest.Cond("type = ?", models.CommentTypeComment)) | ||||||
| 		db.AssertExistsAndLoadBean(t, &models.Issue{ID: c.IssueID, RepoID: repo.ID}) | 		unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: c.IssueID, RepoID: repo.ID}) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	//test before and since filters | 	//test before and since filters | ||||||
| @@ -67,11 +67,11 @@ func TestAPIListRepoComments(t *testing.T) { | |||||||
| func TestAPIListIssueComments(t *testing.T) { | func TestAPIListIssueComments(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{}, | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{}, | ||||||
| 		db.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | 		unittest.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/comments", | 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/comments", | ||||||
| @@ -80,8 +80,8 @@ func TestAPIListIssueComments(t *testing.T) { | |||||||
|  |  | ||||||
| 	var comments []*api.Comment | 	var comments []*api.Comment | ||||||
| 	DecodeJSON(t, resp, &comments) | 	DecodeJSON(t, resp, &comments) | ||||||
| 	expectedCount := db.GetCount(t, &models.Comment{IssueID: issue.ID}, | 	expectedCount := unittest.GetCount(t, &models.Comment{IssueID: issue.ID}, | ||||||
| 		db.Cond("type = ?", models.CommentTypeComment)) | 		unittest.Cond("type = ?", models.CommentTypeComment)) | ||||||
| 	assert.EqualValues(t, expectedCount, len(comments)) | 	assert.EqualValues(t, expectedCount, len(comments)) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -89,9 +89,9 @@ func TestAPICreateComment(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	const commentBody = "Comment body" | 	const commentBody = "Comment body" | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{}).(*models.Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -105,16 +105,16 @@ func TestAPICreateComment(t *testing.T) { | |||||||
| 	var updatedComment api.Comment | 	var updatedComment api.Comment | ||||||
| 	DecodeJSON(t, resp, &updatedComment) | 	DecodeJSON(t, resp, &updatedComment) | ||||||
| 	assert.EqualValues(t, commentBody, updatedComment.Body) | 	assert.EqualValues(t, commentBody, updatedComment.Body) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ID: updatedComment.ID, IssueID: issue.ID, Content: commentBody}) | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: updatedComment.ID, IssueID: issue.ID, Content: commentBody}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIGetComment(t *testing.T) { | func TestAPIGetComment(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{ID: 2}).(*models.Comment) | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: 2}).(*models.Comment) | ||||||
| 	assert.NoError(t, comment.LoadIssue()) | 	assert.NoError(t, comment.LoadIssue()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: comment.Issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: comment.Issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -139,11 +139,11 @@ func TestAPIEditComment(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	const newCommentBody = "This is the new comment body" | 	const newCommentBody = "This is the new comment body" | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{}, | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{}, | ||||||
| 		db.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | 		unittest.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -158,17 +158,17 @@ func TestAPIEditComment(t *testing.T) { | |||||||
| 	DecodeJSON(t, resp, &updatedComment) | 	DecodeJSON(t, resp, &updatedComment) | ||||||
| 	assert.EqualValues(t, comment.ID, updatedComment.ID) | 	assert.EqualValues(t, comment.ID, updatedComment.ID) | ||||||
| 	assert.EqualValues(t, newCommentBody, updatedComment.Body) | 	assert.EqualValues(t, newCommentBody, updatedComment.Body) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ID: comment.ID, IssueID: issue.ID, Content: newCommentBody}) | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: comment.ID, IssueID: issue.ID, Content: newCommentBody}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIDeleteComment(t *testing.T) { | func TestAPIDeleteComment(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{}, | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{}, | ||||||
| 		db.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | 		unittest.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -176,5 +176,5 @@ func TestAPIDeleteComment(t *testing.T) { | |||||||
| 		repoOwner.Name, repo.Name, comment.ID, token) | 		repoOwner.Name, repo.Name, comment.ID, token) | ||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &models.Comment{ID: comment.ID}) | 	unittest.AssertNotExistsBean(t, &models.Comment{ID: comment.ID}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,7 +13,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -22,8 +21,8 @@ import ( | |||||||
| func TestAPIModifyLabels(t *testing.T) { | func TestAPIModifyLabels(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.LoadFixtures()) | 	assert.NoError(t, unittest.LoadFixtures()) | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/labels?token=%s", owner.Name, repo.Name, token) | 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/labels?token=%s", owner.Name, repo.Name, token) | ||||||
| @@ -37,7 +36,7 @@ func TestAPIModifyLabels(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, req, http.StatusCreated) | 	resp := session.MakeRequest(t, req, http.StatusCreated) | ||||||
| 	apiLabel := new(api.Label) | 	apiLabel := new(api.Label) | ||||||
| 	DecodeJSON(t, resp, &apiLabel) | 	DecodeJSON(t, resp, &apiLabel) | ||||||
| 	dbLabel := db.AssertExistsAndLoadBean(t, &models.Label{ID: apiLabel.ID, RepoID: repo.ID}).(*models.Label) | 	dbLabel := unittest.AssertExistsAndLoadBean(t, &models.Label{ID: apiLabel.ID, RepoID: repo.ID}).(*models.Label) | ||||||
| 	assert.EqualValues(t, dbLabel.Name, apiLabel.Name) | 	assert.EqualValues(t, dbLabel.Name, apiLabel.Name) | ||||||
| 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color) | 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color) | ||||||
|  |  | ||||||
| @@ -92,10 +91,10 @@ func TestAPIModifyLabels(t *testing.T) { | |||||||
| func TestAPIAddIssueLabels(t *testing.T) { | func TestAPIAddIssueLabels(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.LoadFixtures()) | 	assert.NoError(t, unittest.LoadFixtures()) | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue) | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID, ID: 2}).(*models.Label) | 	_ = unittest.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID, ID: 2}).(*models.Label) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -107,18 +106,18 @@ func TestAPIAddIssueLabels(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, req, http.StatusOK) | 	resp := session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	var apiLabels []*api.Label | 	var apiLabels []*api.Label | ||||||
| 	DecodeJSON(t, resp, &apiLabels) | 	DecodeJSON(t, resp, &apiLabels) | ||||||
| 	assert.Len(t, apiLabels, db.GetCount(t, &models.IssueLabel{IssueID: issue.ID})) | 	assert.Len(t, apiLabels, unittest.GetCount(t, &models.IssueLabel{IssueID: issue.ID})) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: 2}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIReplaceIssueLabels(t *testing.T) { | func TestAPIReplaceIssueLabels(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.LoadFixtures()) | 	assert.NoError(t, unittest.LoadFixtures()) | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID}).(*models.Label) | 	label := unittest.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID}).(*models.Label) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -134,15 +133,15 @@ func TestAPIReplaceIssueLabels(t *testing.T) { | |||||||
| 		assert.EqualValues(t, label.ID, apiLabels[0].ID) | 		assert.EqualValues(t, label.ID, apiLabels[0].ID) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	db.AssertCount(t, &models.IssueLabel{IssueID: issue.ID}, 1) | 	unittest.AssertCount(t, &models.IssueLabel{IssueID: issue.ID}, 1) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | 	unittest.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIModifyOrgLabels(t *testing.T) { | func TestAPIModifyOrgLabels(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.LoadFixtures()) | 	assert.NoError(t, unittest.LoadFixtures()) | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	user := "user1" | 	user := "user1" | ||||||
| 	session := loginUser(t, user) | 	session := loginUser(t, user) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -157,7 +156,7 @@ func TestAPIModifyOrgLabels(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, req, http.StatusCreated) | 	resp := session.MakeRequest(t, req, http.StatusCreated) | ||||||
| 	apiLabel := new(api.Label) | 	apiLabel := new(api.Label) | ||||||
| 	DecodeJSON(t, resp, &apiLabel) | 	DecodeJSON(t, resp, &apiLabel) | ||||||
| 	dbLabel := db.AssertExistsAndLoadBean(t, &models.Label{ID: apiLabel.ID, OrgID: owner.ID}).(*models.Label) | 	dbLabel := unittest.AssertExistsAndLoadBean(t, &models.Label{ID: apiLabel.ID, OrgID: owner.ID}).(*models.Label) | ||||||
| 	assert.EqualValues(t, dbLabel.Name, apiLabel.Name) | 	assert.EqualValues(t, dbLabel.Name, apiLabel.Name) | ||||||
| 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color) | 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -19,9 +19,9 @@ import ( | |||||||
| func TestAPIIssuesMilestone(t *testing.T) { | func TestAPIIssuesMilestone(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	milestone := db.AssertExistsAndLoadBean(t, &models.Milestone{ID: 1}).(*models.Milestone) | 	milestone := unittest.AssertExistsAndLoadBean(t, &models.Milestone{ID: 1}).(*models.Milestone) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: milestone.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: milestone.RepoID}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	assert.Equal(t, int64(1), int64(milestone.NumIssues)) | 	assert.Equal(t, int64(1), int64(milestone.NumIssues)) | ||||||
| 	assert.Equal(t, structs.StateOpen, milestone.State()) | 	assert.Equal(t, structs.StateOpen, milestone.State()) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -21,14 +21,14 @@ import ( | |||||||
| func TestAPIIssuesReactions(t *testing.T) { | func TestAPIIssuesReactions(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | ||||||
| 	_ = issue.LoadRepo() | 	_ = issue.LoadRepo() | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/reactions?token=%s", | 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/reactions?token=%s", | ||||||
| 		owner.Name, issue.Repo.Name, issue.Index, token) | 		owner.Name, issue.Repo.Name, issue.Index, token) | ||||||
|  |  | ||||||
| @@ -78,17 +78,17 @@ func TestAPIIssuesReactions(t *testing.T) { | |||||||
| func TestAPICommentReactions(t *testing.T) { | func TestAPICommentReactions(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{ID: 2}).(*models.Comment) | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: 2}).(*models.Comment) | ||||||
| 	_ = comment.LoadIssue() | 	_ = comment.LoadIssue() | ||||||
| 	issue := comment.Issue | 	issue := comment.Issue | ||||||
| 	_ = issue.LoadRepo() | 	_ = issue.LoadRepo() | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/reactions?token=%s", | 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/reactions?token=%s", | ||||||
| 		owner.Name, issue.Repo.Name, comment.ID, token) | 		owner.Name, issue.Repo.Name, comment.ID, token) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -18,8 +18,8 @@ import ( | |||||||
| func TestAPIListStopWatches(t *testing.T) { | func TestAPIListStopWatches(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -27,8 +27,8 @@ func TestAPIListStopWatches(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, req, http.StatusOK) | 	resp := session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	var apiWatches []*api.StopWatch | 	var apiWatches []*api.StopWatch | ||||||
| 	DecodeJSON(t, resp, &apiWatches) | 	DecodeJSON(t, resp, &apiWatches) | ||||||
| 	stopwatch := db.AssertExistsAndLoadBean(t, &models.Stopwatch{UserID: owner.ID}).(*models.Stopwatch) | 	stopwatch := unittest.AssertExistsAndLoadBean(t, &models.Stopwatch{UserID: owner.ID}).(*models.Stopwatch) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: stopwatch.IssueID}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: stopwatch.IssueID}).(*models.Issue) | ||||||
| 	if assert.Len(t, apiWatches, 1) { | 	if assert.Len(t, apiWatches, 1) { | ||||||
| 		assert.EqualValues(t, stopwatch.CreatedUnix.AsTime().Unix(), apiWatches[0].Created.Unix()) | 		assert.EqualValues(t, stopwatch.CreatedUnix.AsTime().Unix(), apiWatches[0].Created.Unix()) | ||||||
| 		assert.EqualValues(t, issue.Index, apiWatches[0].IssueIndex) | 		assert.EqualValues(t, issue.Index, apiWatches[0].IssueIndex) | ||||||
| @@ -42,10 +42,10 @@ func TestAPIListStopWatches(t *testing.T) { | |||||||
| func TestAPIStopStopWatches(t *testing.T) { | func TestAPIStopStopWatches(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | ||||||
| 	_ = issue.LoadRepo() | 	_ = issue.LoadRepo() | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -58,10 +58,10 @@ func TestAPIStopStopWatches(t *testing.T) { | |||||||
| func TestAPICancelStopWatches(t *testing.T) { | func TestAPICancelStopWatches(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | ||||||
| 	_ = issue.LoadRepo() | 	_ = issue.LoadRepo() | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -74,10 +74,10 @@ func TestAPICancelStopWatches(t *testing.T) { | |||||||
| func TestAPIStartStopWatches(t *testing.T) { | func TestAPIStartStopWatches(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | ||||||
| 	_ = issue.LoadRepo() | 	_ = issue.LoadRepo() | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue.Repo.OwnerID}).(*models.User) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -19,20 +19,20 @@ import ( | |||||||
| func TestAPIIssueSubscriptions(t *testing.T) { | func TestAPIIssueSubscriptions(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 1}).(*models.Issue) | ||||||
| 	issue2 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | 	issue2 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | ||||||
| 	issue3 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | 	issue3 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | ||||||
| 	issue4 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 4}).(*models.Issue) | 	issue4 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 4}).(*models.Issue) | ||||||
| 	issue5 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 8}).(*models.Issue) | 	issue5 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 8}).(*models.Issue) | ||||||
|  |  | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: issue1.PosterID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: issue1.PosterID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	testSubscription := func(issue *models.Issue, isWatching bool) { | 	testSubscription := func(issue *models.Issue, isWatching bool) { | ||||||
|  |  | ||||||
| 		issueRepo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | 		issueRepo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 		urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/check?token=%s", issueRepo.OwnerName, issueRepo.Name, issue.Index, token) | 		urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/check?token=%s", issueRepo.OwnerName, issueRepo.Name, issue.Index, token) | ||||||
| 		req := NewRequest(t, "GET", urlStr) | 		req := NewRequest(t, "GET", urlStr) | ||||||
| @@ -53,7 +53,7 @@ func TestAPIIssueSubscriptions(t *testing.T) { | |||||||
| 	testSubscription(issue4, false) | 	testSubscription(issue4, false) | ||||||
| 	testSubscription(issue5, false) | 	testSubscription(issue5, false) | ||||||
|  |  | ||||||
| 	issue1Repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue1.RepoID}).(*models.Repository) | 	issue1Repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue1.RepoID}).(*models.Repository) | ||||||
| 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue1Repo.OwnerName, issue1Repo.Name, issue1.Index, owner.Name, token) | 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue1Repo.OwnerName, issue1Repo.Name, issue1.Index, owner.Name, token) | ||||||
| 	req := NewRequest(t, "DELETE", urlStr) | 	req := NewRequest(t, "DELETE", urlStr) | ||||||
| 	session.MakeRequest(t, req, http.StatusCreated) | 	session.MakeRequest(t, req, http.StatusCreated) | ||||||
| @@ -63,7 +63,7 @@ func TestAPIIssueSubscriptions(t *testing.T) { | |||||||
| 	session.MakeRequest(t, req, http.StatusOK) | 	session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	testSubscription(issue1, false) | 	testSubscription(issue1, false) | ||||||
|  |  | ||||||
| 	issue5Repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issue5.RepoID}).(*models.Repository) | 	issue5Repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issue5.RepoID}).(*models.Repository) | ||||||
| 	urlStr = fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue5Repo.OwnerName, issue5Repo.Name, issue5.Index, owner.Name, token) | 	urlStr = fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue5Repo.OwnerName, issue5Repo.Name, issue5.Index, owner.Name, token) | ||||||
| 	req = NewRequest(t, "PUT", urlStr) | 	req = NewRequest(t, "PUT", urlStr) | ||||||
| 	session.MakeRequest(t, req, http.StatusCreated) | 	session.MakeRequest(t, req, http.StatusCreated) | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -21,8 +21,8 @@ import ( | |||||||
| func TestAPIListIssues(t *testing.T) { | func TestAPIListIssues(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -32,9 +32,9 @@ func TestAPIListIssues(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | 	resp := session.MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | ||||||
| 	var apiIssues []*api.Issue | 	var apiIssues []*api.Issue | ||||||
| 	DecodeJSON(t, resp, &apiIssues) | 	DecodeJSON(t, resp, &apiIssues) | ||||||
| 	assert.Len(t, apiIssues, db.GetCount(t, &models.Issue{RepoID: repo.ID})) | 	assert.Len(t, apiIssues, unittest.GetCount(t, &models.Issue{RepoID: repo.ID})) | ||||||
| 	for _, apiIssue := range apiIssues { | 	for _, apiIssue := range apiIssues { | ||||||
| 		db.AssertExistsAndLoadBean(t, &models.Issue{ID: apiIssue.ID, RepoID: repo.ID}) | 		unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: apiIssue.ID, RepoID: repo.ID}) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// test milestone filter | 	// test milestone filter | ||||||
| @@ -72,8 +72,8 @@ func TestAPICreateIssue(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	const body, title = "apiTestBody", "apiTestTitle" | 	const body, title = "apiTestBody", "apiTestTitle" | ||||||
|  |  | ||||||
| 	repoBefore := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repoBefore := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -89,14 +89,14 @@ func TestAPICreateIssue(t *testing.T) { | |||||||
| 	assert.Equal(t, body, apiIssue.Body) | 	assert.Equal(t, body, apiIssue.Body) | ||||||
| 	assert.Equal(t, title, apiIssue.Title) | 	assert.Equal(t, title, apiIssue.Title) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Issue{ | 	unittest.AssertExistsAndLoadBean(t, &models.Issue{ | ||||||
| 		RepoID:     repoBefore.ID, | 		RepoID:     repoBefore.ID, | ||||||
| 		AssigneeID: owner.ID, | 		AssigneeID: owner.ID, | ||||||
| 		Content:    body, | 		Content:    body, | ||||||
| 		Title:      title, | 		Title:      title, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	repoAfter := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repoAfter := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	assert.Equal(t, repoBefore.NumIssues+1, repoAfter.NumIssues) | 	assert.Equal(t, repoBefore.NumIssues+1, repoAfter.NumIssues) | ||||||
| 	assert.Equal(t, repoBefore.NumClosedIssues, repoAfter.NumClosedIssues) | 	assert.Equal(t, repoBefore.NumClosedIssues, repoAfter.NumClosedIssues) | ||||||
| } | } | ||||||
| @@ -104,9 +104,9 @@ func TestAPICreateIssue(t *testing.T) { | |||||||
| func TestAPIEditIssue(t *testing.T) { | func TestAPIEditIssue(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issueBefore := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 10}).(*models.Issue) | 	issueBefore := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 10}).(*models.Issue) | ||||||
| 	repoBefore := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issueBefore.RepoID}).(*models.Repository) | 	repoBefore := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issueBefore.RepoID}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | ||||||
| 	assert.NoError(t, issueBefore.LoadAttributes()) | 	assert.NoError(t, issueBefore.LoadAttributes()) | ||||||
| 	assert.Equal(t, int64(1019307200), int64(issueBefore.DeadlineUnix)) | 	assert.Equal(t, int64(1019307200), int64(issueBefore.DeadlineUnix)) | ||||||
| 	assert.Equal(t, api.StateOpen, issueBefore.State()) | 	assert.Equal(t, api.StateOpen, issueBefore.State()) | ||||||
| @@ -135,8 +135,8 @@ func TestAPIEditIssue(t *testing.T) { | |||||||
| 	var apiIssue api.Issue | 	var apiIssue api.Issue | ||||||
| 	DecodeJSON(t, resp, &apiIssue) | 	DecodeJSON(t, resp, &apiIssue) | ||||||
|  |  | ||||||
| 	issueAfter := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 10}).(*models.Issue) | 	issueAfter := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 10}).(*models.Issue) | ||||||
| 	repoAfter := db.AssertExistsAndLoadBean(t, &models.Repository{ID: issueBefore.RepoID}).(*models.Repository) | 	repoAfter := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: issueBefore.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// check deleted user | 	// check deleted user | ||||||
| 	assert.Equal(t, int64(500), issueAfter.PosterID) | 	assert.Equal(t, int64(500), issueAfter.PosterID) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -20,8 +20,8 @@ import ( | |||||||
| func TestAPIGetTrackedTimes(t *testing.T) { | func TestAPIGetTrackedTimes(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	issue2 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | 	issue2 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | ||||||
| 	assert.NoError(t, issue2.LoadRepo()) | 	assert.NoError(t, issue2.LoadRepo()) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
| @@ -62,10 +62,10 @@ func TestAPIGetTrackedTimes(t *testing.T) { | |||||||
| func TestAPIDeleteTrackedTime(t *testing.T) { | func TestAPIDeleteTrackedTime(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	time6 := db.AssertExistsAndLoadBean(t, &models.TrackedTime{ID: 6}).(*models.TrackedTime) | 	time6 := unittest.AssertExistsAndLoadBean(t, &models.TrackedTime{ID: 6}).(*models.TrackedTime) | ||||||
| 	issue2 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | 	issue2 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | ||||||
| 	assert.NoError(t, issue2.LoadRepo()) | 	assert.NoError(t, issue2.LoadRepo()) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -74,7 +74,7 @@ func TestAPIDeleteTrackedTime(t *testing.T) { | |||||||
| 	req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time6.ID, token) | 	req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time6.ID, token) | ||||||
| 	session.MakeRequest(t, req, http.StatusForbidden) | 	session.MakeRequest(t, req, http.StatusForbidden) | ||||||
|  |  | ||||||
| 	time3 := db.AssertExistsAndLoadBean(t, &models.TrackedTime{ID: 3}).(*models.TrackedTime) | 	time3 := unittest.AssertExistsAndLoadBean(t, &models.TrackedTime{ID: 3}).(*models.TrackedTime) | ||||||
| 	req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time3.ID, token) | 	req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time3.ID, token) | ||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
| 	//Delete non existing time | 	//Delete non existing time | ||||||
| @@ -97,10 +97,10 @@ func TestAPIDeleteTrackedTime(t *testing.T) { | |||||||
| func TestAPIAddTrackedTimes(t *testing.T) { | func TestAPIAddTrackedTimes(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	issue2 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | 	issue2 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2}).(*models.Issue) | ||||||
| 	assert.NoError(t, issue2.LoadRepo()) | 	assert.NoError(t, issue2.LoadRepo()) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	admin := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	admin := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, admin.Name) | 	session := loginUser(t, admin.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -46,8 +46,8 @@ func TestDeleteDeployKeyNoLogin(t *testing.T) { | |||||||
|  |  | ||||||
| func TestCreateReadOnlyDeployKey(t *testing.T) { | func TestCreateReadOnlyDeployKey(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -62,7 +62,7 @@ func TestCreateReadOnlyDeployKey(t *testing.T) { | |||||||
|  |  | ||||||
| 	var newDeployKey api.DeployKey | 	var newDeployKey api.DeployKey | ||||||
| 	DecodeJSON(t, resp, &newDeployKey) | 	DecodeJSON(t, resp, &newDeployKey) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.DeployKey{ | 	unittest.AssertExistsAndLoadBean(t, &models.DeployKey{ | ||||||
| 		ID:      newDeployKey.ID, | 		ID:      newDeployKey.ID, | ||||||
| 		Name:    rawKeyBody.Title, | 		Name:    rawKeyBody.Title, | ||||||
| 		Content: rawKeyBody.Key, | 		Content: rawKeyBody.Key, | ||||||
| @@ -72,8 +72,8 @@ func TestCreateReadOnlyDeployKey(t *testing.T) { | |||||||
|  |  | ||||||
| func TestCreateReadWriteDeployKey(t *testing.T) { | func TestCreateReadWriteDeployKey(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | ||||||
| 	repoOwner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repoOwner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, repoOwner.Name) | 	session := loginUser(t, repoOwner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -87,7 +87,7 @@ func TestCreateReadWriteDeployKey(t *testing.T) { | |||||||
|  |  | ||||||
| 	var newDeployKey api.DeployKey | 	var newDeployKey api.DeployKey | ||||||
| 	DecodeJSON(t, resp, &newDeployKey) | 	DecodeJSON(t, resp, &newDeployKey) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.DeployKey{ | 	unittest.AssertExistsAndLoadBean(t, &models.DeployKey{ | ||||||
| 		ID:      newDeployKey.ID, | 		ID:      newDeployKey.ID, | ||||||
| 		Name:    rawKeyBody.Title, | 		Name:    rawKeyBody.Title, | ||||||
| 		Content: rawKeyBody.Key, | 		Content: rawKeyBody.Key, | ||||||
| @@ -97,7 +97,7 @@ func TestCreateReadWriteDeployKey(t *testing.T) { | |||||||
|  |  | ||||||
| func TestCreateUserKey(t *testing.T) { | func TestCreateUserKey(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| 	token := url.QueryEscape(getTokenForLoggedInUser(t, session)) | 	token := url.QueryEscape(getTokenForLoggedInUser(t, session)) | ||||||
| @@ -113,7 +113,7 @@ func TestCreateUserKey(t *testing.T) { | |||||||
|  |  | ||||||
| 	var newPublicKey api.PublicKey | 	var newPublicKey api.PublicKey | ||||||
| 	DecodeJSON(t, resp, &newPublicKey) | 	DecodeJSON(t, resp, &newPublicKey) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.PublicKey{ | 	unittest.AssertExistsAndLoadBean(t, &models.PublicKey{ | ||||||
| 		ID:      newPublicKey.ID, | 		ID:      newPublicKey.ID, | ||||||
| 		OwnerID: user.ID, | 		OwnerID: user.ID, | ||||||
| 		Name:    rawKeyBody.Title, | 		Name:    rawKeyBody.Title, | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -19,9 +19,9 @@ import ( | |||||||
| func TestAPINotification(t *testing.T) { | func TestAPINotification(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	thread5 := db.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | 	thread5 := unittest.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | ||||||
| 	assert.NoError(t, thread5.LoadAttributes()) | 	assert.NoError(t, thread5.LoadAttributes()) | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -112,7 +112,7 @@ func TestAPINotification(t *testing.T) { | |||||||
| 	resp = session.MakeRequest(t, req, http.StatusResetContent) | 	resp = session.MakeRequest(t, req, http.StatusResetContent) | ||||||
|  |  | ||||||
| 	assert.Equal(t, models.NotificationStatusUnread, thread5.Status) | 	assert.Equal(t, models.NotificationStatusUnread, thread5.Status) | ||||||
| 	thread5 = db.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | 	thread5 = unittest.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | ||||||
| 	assert.Equal(t, models.NotificationStatusRead, thread5.Status) | 	assert.Equal(t, models.NotificationStatusRead, thread5.Status) | ||||||
|  |  | ||||||
| 	// -- check notifications -- | 	// -- check notifications -- | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/login" | 	"code.gitea.io/gitea/models/login" | ||||||
|  | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -27,7 +27,7 @@ func TestOAuth2Application(t *testing.T) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func testAPICreateOAuth2Application(t *testing.T) { | func testAPICreateOAuth2Application(t *testing.T) { | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	appBody := api.CreateOAuth2ApplicationOptions{ | 	appBody := api.CreateOAuth2ApplicationOptions{ | ||||||
| 		Name: "test-app-1", | 		Name: "test-app-1", | ||||||
| 		RedirectURIs: []string{ | 		RedirectURIs: []string{ | ||||||
| @@ -47,15 +47,15 @@ func testAPICreateOAuth2Application(t *testing.T) { | |||||||
| 	assert.Len(t, createdApp.ClientID, 36) | 	assert.Len(t, createdApp.ClientID, 36) | ||||||
| 	assert.NotEmpty(t, createdApp.Created) | 	assert.NotEmpty(t, createdApp.Created) | ||||||
| 	assert.EqualValues(t, appBody.RedirectURIs[0], createdApp.RedirectURIs[0]) | 	assert.EqualValues(t, appBody.RedirectURIs[0], createdApp.RedirectURIs[0]) | ||||||
| 	db.AssertExistsAndLoadBean(t, &login.OAuth2Application{UID: user.ID, Name: createdApp.Name}) | 	unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{UID: user.ID, Name: createdApp.Name}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func testAPIListOAuth2Applications(t *testing.T) { | func testAPIListOAuth2Applications(t *testing.T) { | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	existApp := db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | 	existApp := unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | ||||||
| 		UID:  user.ID, | 		UID:  user.ID, | ||||||
| 		Name: "test-app-1", | 		Name: "test-app-1", | ||||||
| 		RedirectURIs: []string{ | 		RedirectURIs: []string{ | ||||||
| @@ -76,15 +76,15 @@ func testAPIListOAuth2Applications(t *testing.T) { | |||||||
| 	assert.Len(t, expectedApp.ClientID, 36) | 	assert.Len(t, expectedApp.ClientID, 36) | ||||||
| 	assert.Empty(t, expectedApp.ClientSecret) | 	assert.Empty(t, expectedApp.ClientSecret) | ||||||
| 	assert.EqualValues(t, existApp.RedirectURIs[0], expectedApp.RedirectURIs[0]) | 	assert.EqualValues(t, existApp.RedirectURIs[0], expectedApp.RedirectURIs[0]) | ||||||
| 	db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | 	unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func testAPIDeleteOAuth2Application(t *testing.T) { | func testAPIDeleteOAuth2Application(t *testing.T) { | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	oldApp := db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | 	oldApp := unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | ||||||
| 		UID:  user.ID, | 		UID:  user.ID, | ||||||
| 		Name: "test-app-1", | 		Name: "test-app-1", | ||||||
| 	}).(*login.OAuth2Application) | 	}).(*login.OAuth2Application) | ||||||
| @@ -93,7 +93,7 @@ func testAPIDeleteOAuth2Application(t *testing.T) { | |||||||
| 	req := NewRequest(t, "DELETE", urlStr) | 	req := NewRequest(t, "DELETE", urlStr) | ||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &login.OAuth2Application{UID: oldApp.UID, Name: oldApp.Name}) | 	unittest.AssertNotExistsBean(t, &login.OAuth2Application{UID: oldApp.UID, Name: oldApp.Name}) | ||||||
|  |  | ||||||
| 	// Delete again will return not found | 	// Delete again will return not found | ||||||
| 	req = NewRequest(t, "DELETE", urlStr) | 	req = NewRequest(t, "DELETE", urlStr) | ||||||
| @@ -101,11 +101,11 @@ func testAPIDeleteOAuth2Application(t *testing.T) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func testAPIGetOAuth2Application(t *testing.T) { | func testAPIGetOAuth2Application(t *testing.T) { | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	existApp := db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | 	existApp := unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | ||||||
| 		UID:  user.ID, | 		UID:  user.ID, | ||||||
| 		Name: "test-app-1", | 		Name: "test-app-1", | ||||||
| 		RedirectURIs: []string{ | 		RedirectURIs: []string{ | ||||||
| @@ -127,13 +127,13 @@ func testAPIGetOAuth2Application(t *testing.T) { | |||||||
| 	assert.Empty(t, expectedApp.ClientSecret) | 	assert.Empty(t, expectedApp.ClientSecret) | ||||||
| 	assert.Len(t, expectedApp.RedirectURIs, 1) | 	assert.Len(t, expectedApp.RedirectURIs, 1) | ||||||
| 	assert.EqualValues(t, existApp.RedirectURIs[0], expectedApp.RedirectURIs[0]) | 	assert.EqualValues(t, existApp.RedirectURIs[0], expectedApp.RedirectURIs[0]) | ||||||
| 	db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | 	unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func testAPIUpdateOAuth2Application(t *testing.T) { | func testAPIUpdateOAuth2Application(t *testing.T) { | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	existApp := db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | 	existApp := unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ | ||||||
| 		UID:  user.ID, | 		UID:  user.ID, | ||||||
| 		Name: "test-app-1", | 		Name: "test-app-1", | ||||||
| 		RedirectURIs: []string{ | 		RedirectURIs: []string{ | ||||||
| @@ -161,5 +161,5 @@ func testAPIUpdateOAuth2Application(t *testing.T) { | |||||||
| 	assert.Len(t, expectedApp.RedirectURIs, 2) | 	assert.Len(t, expectedApp.RedirectURIs, 2) | ||||||
| 	assert.EqualValues(t, expectedApp.RedirectURIs[0], appBody.RedirectURIs[0]) | 	assert.EqualValues(t, expectedApp.RedirectURIs[0], appBody.RedirectURIs[0]) | ||||||
| 	assert.EqualValues(t, expectedApp.RedirectURIs[1], appBody.RedirectURIs[1]) | 	assert.EqualValues(t, expectedApp.RedirectURIs[1], appBody.RedirectURIs[1]) | ||||||
| 	db.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | 	unittest.AssertExistsAndLoadBean(t, &login.OAuth2Application{ID: expectedApp.ID, Name: expectedApp.Name}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -44,7 +44,7 @@ func TestAPIOrgCreate(t *testing.T) { | |||||||
| 		assert.Equal(t, org.Location, apiOrg.Location) | 		assert.Equal(t, org.Location, apiOrg.Location) | ||||||
| 		assert.Equal(t, org.Visibility, apiOrg.Visibility) | 		assert.Equal(t, org.Visibility, apiOrg.Visibility) | ||||||
|  |  | ||||||
| 		db.AssertExistsAndLoadBean(t, &models.User{ | 		unittest.AssertExistsAndLoadBean(t, &models.User{ | ||||||
| 			Name:      org.UserName, | 			Name:      org.UserName, | ||||||
| 			LowerName: strings.ToLower(org.UserName), | 			LowerName: strings.ToLower(org.UserName), | ||||||
| 			FullName:  org.FullName, | 			FullName:  org.FullName, | ||||||
|   | |||||||
| @@ -9,16 +9,16 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAPIPullCommits(t *testing.T) { | func TestAPIPullCommits(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	pullIssue := db.AssertExistsAndLoadBean(t, &models.PullRequest{ID: 2}).(*models.PullRequest) | 	pullIssue := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ID: 2}).(*models.PullRequest) | ||||||
| 	assert.NoError(t, pullIssue.LoadIssue()) | 	assert.NoError(t, pullIssue.LoadIssue()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.HeadRepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.HeadRepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2") | 	session := loginUser(t, "user2") | ||||||
| 	req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/commits", repo.OwnerName, repo.Name, pullIssue.Index) | 	req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/commits", repo.OwnerName, repo.Name, pullIssue.Index) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/json" | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -19,9 +19,9 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIPullReview(t *testing.T) { | func TestAPIPullReview(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	pullIssue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | 	pullIssue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | ||||||
| 	assert.NoError(t, pullIssue.LoadAttributes()) | 	assert.NoError(t, pullIssue.LoadAttributes()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// test ListPullReviews | 	// test ListPullReviews | ||||||
| 	session := loginUser(t, "user2") | 	session := loginUser(t, "user2") | ||||||
| @@ -63,7 +63,7 @@ func TestAPIPullReview(t *testing.T) { | |||||||
| 	assert.EqualValues(t, *reviews[5], review) | 	assert.EqualValues(t, *reviews[5], review) | ||||||
|  |  | ||||||
| 	// test GetPullReviewComments | 	// test GetPullReviewComments | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &models.Comment{ID: 7}).(*models.Comment) | 	comment := unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: 7}).(*models.Comment) | ||||||
| 	req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d/comments?token=%s", repo.OwnerName, repo.Name, pullIssue.Index, 10, token) | 	req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d/comments?token=%s", repo.OwnerName, repo.Name, pullIssue.Index, 10, token) | ||||||
| 	resp = session.MakeRequest(t, req, http.StatusOK) | 	resp = session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	var reviewComments []*api.PullReviewComment | 	var reviewComments []*api.PullReviewComment | ||||||
| @@ -196,9 +196,9 @@ func TestAPIPullReview(t *testing.T) { | |||||||
|  |  | ||||||
| 	// test get review requests | 	// test get review requests | ||||||
| 	// to make it simple, use same api with get review | 	// to make it simple, use same api with get review | ||||||
| 	pullIssue12 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 12}).(*models.Issue) | 	pullIssue12 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 12}).(*models.Issue) | ||||||
| 	assert.NoError(t, pullIssue12.LoadAttributes()) | 	assert.NoError(t, pullIssue12.LoadAttributes()) | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue12.RepoID}).(*models.Repository) | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue12.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews?token=%s", repo3.OwnerName, repo3.Name, pullIssue12.Index, token) | 	req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews?token=%s", repo3.OwnerName, repo3.Name, pullIssue12.Index, token) | ||||||
| 	resp = session.MakeRequest(t, req, http.StatusOK) | 	resp = session.MakeRequest(t, req, http.StatusOK) | ||||||
| @@ -220,9 +220,9 @@ func TestAPIPullReview(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIPullReviewRequest(t *testing.T) { | func TestAPIPullReviewRequest(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	pullIssue := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | 	pullIssue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 3}).(*models.Issue) | ||||||
| 	assert.NoError(t, pullIssue.LoadAttributes()) | 	assert.NoError(t, pullIssue.LoadAttributes()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.RepoID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// Test add Review Request | 	// Test add Review Request | ||||||
| 	session := loginUser(t, "user2") | 	session := loginUser(t, "user2") | ||||||
| @@ -265,9 +265,9 @@ func TestAPIPullReviewRequest(t *testing.T) { | |||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
|  |  | ||||||
| 	// Test team review request | 	// Test team review request | ||||||
| 	pullIssue12 := db.AssertExistsAndLoadBean(t, &models.Issue{ID: 12}).(*models.Issue) | 	pullIssue12 := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 12}).(*models.Issue) | ||||||
| 	assert.NoError(t, pullIssue12.LoadAttributes()) | 	assert.NoError(t, pullIssue12.LoadAttributes()) | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue12.RepoID}).(*models.Repository) | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: pullIssue12.RepoID}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// Test add Team Review Request | 	// Test add Team Review Request | ||||||
| 	req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers?token=%s", repo3.OwnerName, repo3.Name, pullIssue12.Index, token), &api.PullReviewRequestOptions{ | 	req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers?token=%s", repo3.OwnerName, repo3.Name, pullIssue12.Index, token), &api.PullReviewRequestOptions{ | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/services/forms" | 	"code.gitea.io/gitea/services/forms" | ||||||
| @@ -21,8 +21,8 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIViewPulls(t *testing.T) { | func TestAPIViewPulls(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2") | 	session := loginUser(t, "user2") | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -31,16 +31,16 @@ func TestAPIViewPulls(t *testing.T) { | |||||||
|  |  | ||||||
| 	var pulls []*api.PullRequest | 	var pulls []*api.PullRequest | ||||||
| 	DecodeJSON(t, resp, &pulls) | 	DecodeJSON(t, resp, &pulls) | ||||||
| 	expectedLen := db.GetCount(t, &models.Issue{RepoID: repo.ID}, db.Cond("is_pull = ?", true)) | 	expectedLen := unittest.GetCount(t, &models.Issue{RepoID: repo.ID}, unittest.Cond("is_pull = ?", true)) | ||||||
| 	assert.Len(t, pulls, expectedLen) | 	assert.Len(t, pulls, expectedLen) | ||||||
| } | } | ||||||
|  |  | ||||||
| // TestAPIMergePullWIP ensures that we can't merge a WIP pull request | // TestAPIMergePullWIP ensures that we can't merge a WIP pull request | ||||||
| func TestAPIMergePullWIP(t *testing.T) { | func TestAPIMergePullWIP(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	pr := db.AssertExistsAndLoadBean(t, &models.PullRequest{Status: models.PullRequestStatusMergeable}, db.Cond("has_merged = ?", false)).(*models.PullRequest) | 	pr := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{Status: models.PullRequestStatusMergeable}, unittest.Cond("has_merged = ?", false)).(*models.PullRequest) | ||||||
| 	pr.LoadIssue() | 	pr.LoadIssue() | ||||||
| 	issue_service.ChangeTitle(pr.Issue, owner, setting.Repository.PullRequest.WorkInProgressPrefixes[0]+" "+pr.Issue.Title) | 	issue_service.ChangeTitle(pr.Issue, owner, setting.Repository.PullRequest.WorkInProgressPrefixes[0]+" "+pr.Issue.Title) | ||||||
|  |  | ||||||
| @@ -61,12 +61,12 @@ func TestAPIMergePullWIP(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPICreatePullSuccess(t *testing.T) { | func TestAPICreatePullSuccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo10 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | 	repo10 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | ||||||
| 	// repo10 have code, pulls units. | 	// repo10 have code, pulls units. | ||||||
| 	repo11 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | 	repo11 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | ||||||
| 	// repo11 only have code unit but should still create pulls | 	// repo11 only have code unit but should still create pulls | ||||||
| 	owner10 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | 	owner10 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | ||||||
| 	owner11 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | 	owner11 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner11.Name) | 	session := loginUser(t, owner11.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -82,11 +82,11 @@ func TestAPICreatePullSuccess(t *testing.T) { | |||||||
| func TestAPICreatePullWithFieldsSuccess(t *testing.T) { | func TestAPICreatePullWithFieldsSuccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	// repo10 have code, pulls units. | 	// repo10 have code, pulls units. | ||||||
| 	repo10 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | 	repo10 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | ||||||
| 	owner10 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | 	owner10 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | ||||||
| 	// repo11 only have code unit but should still create pulls | 	// repo11 only have code unit but should still create pulls | ||||||
| 	repo11 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | 	repo11 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | ||||||
| 	owner11 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | 	owner11 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner11.Name) | 	session := loginUser(t, owner11.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -119,11 +119,11 @@ func TestAPICreatePullWithFieldsSuccess(t *testing.T) { | |||||||
| func TestAPICreatePullWithFieldsFailure(t *testing.T) { | func TestAPICreatePullWithFieldsFailure(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	// repo10 have code, pulls units. | 	// repo10 have code, pulls units. | ||||||
| 	repo10 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | 	repo10 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | ||||||
| 	owner10 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | 	owner10 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | ||||||
| 	// repo11 only have code unit but should still create pulls | 	// repo11 only have code unit but should still create pulls | ||||||
| 	repo11 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | 	repo11 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | ||||||
| 	owner11 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | 	owner11 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner11.Name) | 	session := loginUser(t, owner11.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -152,8 +152,8 @@ func TestAPICreatePullWithFieldsFailure(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIEditPull(t *testing.T) { | func TestAPIEditPull(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo10 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | 	repo10 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | ||||||
| 	owner10 := db.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | 	owner10 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner10.Name) | 	session := loginUser(t, owner10.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -21,8 +21,8 @@ import ( | |||||||
| func TestAPIListReleases(t *testing.T) { | func TestAPIListReleases(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user2.LowerName) | 	session := loginUser(t, user2.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| @@ -85,7 +85,7 @@ func createNewReleaseUsingAPI(t *testing.T, session *TestSession, token string, | |||||||
|  |  | ||||||
| 	var newRelease api.Release | 	var newRelease api.Release | ||||||
| 	DecodeJSON(t, resp, &newRelease) | 	DecodeJSON(t, resp, &newRelease) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Release{ | 	unittest.AssertExistsAndLoadBean(t, &models.Release{ | ||||||
| 		ID:      newRelease.ID, | 		ID:      newRelease.ID, | ||||||
| 		TagName: newRelease.TagName, | 		TagName: newRelease.TagName, | ||||||
| 		Title:   newRelease.Title, | 		Title:   newRelease.Title, | ||||||
| @@ -98,8 +98,8 @@ func createNewReleaseUsingAPI(t *testing.T, session *TestSession, token string, | |||||||
| func TestAPICreateAndUpdateRelease(t *testing.T) { | func TestAPICreateAndUpdateRelease(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| @@ -138,7 +138,7 @@ func TestAPICreateAndUpdateRelease(t *testing.T) { | |||||||
| 	resp = session.MakeRequest(t, req, http.StatusOK) | 	resp = session.MakeRequest(t, req, http.StatusOK) | ||||||
|  |  | ||||||
| 	DecodeJSON(t, resp, &newRelease) | 	DecodeJSON(t, resp, &newRelease) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Release{ | 	unittest.AssertExistsAndLoadBean(t, &models.Release{ | ||||||
| 		ID:      newRelease.ID, | 		ID:      newRelease.ID, | ||||||
| 		TagName: newRelease.TagName, | 		TagName: newRelease.TagName, | ||||||
| 		Title:   newRelease.Title, | 		Title:   newRelease.Title, | ||||||
| @@ -149,8 +149,8 @@ func TestAPICreateAndUpdateRelease(t *testing.T) { | |||||||
| func TestAPICreateReleaseToDefaultBranch(t *testing.T) { | func TestAPICreateReleaseToDefaultBranch(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| @@ -160,8 +160,8 @@ func TestAPICreateReleaseToDefaultBranch(t *testing.T) { | |||||||
| func TestAPICreateReleaseToDefaultBranchOnExistingTag(t *testing.T) { | func TestAPICreateReleaseToDefaultBranchOnExistingTag(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| @@ -178,8 +178,8 @@ func TestAPICreateReleaseToDefaultBranchOnExistingTag(t *testing.T) { | |||||||
| func TestAPIGetReleaseByTag(t *testing.T) { | func TestAPIGetReleaseByTag(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
|  |  | ||||||
| 	tag := "v1.1" | 	tag := "v1.1" | ||||||
| @@ -211,8 +211,8 @@ func TestAPIGetReleaseByTag(t *testing.T) { | |||||||
| func TestAPIDeleteReleaseByTagName(t *testing.T) { | func TestAPIDeleteReleaseByTagName(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,8 +11,8 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	unit_model "code.gitea.io/gitea/models/unit" | 	unit_model "code.gitea.io/gitea/models/unit" | ||||||
|  | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -134,13 +134,13 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||||
| 		bFalse, bTrue := false, true | 		bFalse, bTrue := false, true | ||||||
|  |  | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 		user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 		user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 		user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 		user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 		repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 		repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 		repo15 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 15}).(*models.Repository) // empty repo | 		repo15 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 15}).(*models.Repository) // empty repo | ||||||
| 		repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 		repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
|  |  | ||||||
| 		// Get user2's token | 		// Get user2's token | ||||||
| 		session := loginUser(t, user2.Name) | 		session := loginUser(t, user2.Name) | ||||||
| @@ -166,7 +166,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		assert.Equal(t, *repoEditOption.Website, repo.Website) | 		assert.Equal(t, *repoEditOption.Website, repo.Website) | ||||||
| 		assert.Equal(t, *repoEditOption.Archived, repo.Archived) | 		assert.Equal(t, *repoEditOption.Archived, repo.Archived) | ||||||
| 		// check repo1 from database | 		// check repo1 from database | ||||||
| 		repo1edited := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 		repo1edited := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 		repo1editedOption := getRepoEditOptionFromRepo(repo1edited) | 		repo1editedOption := getRepoEditOptionFromRepo(repo1edited) | ||||||
| 		assert.Equal(t, *repoEditOption.Name, *repo1editedOption.Name) | 		assert.Equal(t, *repoEditOption.Name, *repo1editedOption.Name) | ||||||
| 		assert.Equal(t, *repoEditOption.Description, *repo1editedOption.Description) | 		assert.Equal(t, *repoEditOption.Description, *repo1editedOption.Description) | ||||||
| @@ -191,7 +191,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		DecodeJSON(t, resp, &repo) | 		DecodeJSON(t, resp, &repo) | ||||||
| 		assert.NotNil(t, repo) | 		assert.NotNil(t, repo) | ||||||
| 		// check repo1 was written to database | 		// check repo1 was written to database | ||||||
| 		repo1edited = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 		repo1edited = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | ||||||
| 		assert.Equal(t, *repo1editedOption.HasIssues, true) | 		assert.Equal(t, *repo1editedOption.HasIssues, true) | ||||||
| 		assert.Nil(t, repo1editedOption.ExternalTracker) | 		assert.Nil(t, repo1editedOption.ExternalTracker) | ||||||
| @@ -213,7 +213,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		DecodeJSON(t, resp, &repo) | 		DecodeJSON(t, resp, &repo) | ||||||
| 		assert.NotNil(t, repo) | 		assert.NotNil(t, repo) | ||||||
| 		// check repo1 was written to database | 		// check repo1 was written to database | ||||||
| 		repo1edited = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 		repo1edited = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | ||||||
| 		assert.Equal(t, *repo1editedOption.HasIssues, true) | 		assert.Equal(t, *repo1editedOption.HasIssues, true) | ||||||
| 		assert.Equal(t, *repo1editedOption.ExternalTracker, *repoEditOption.ExternalTracker) | 		assert.Equal(t, *repo1editedOption.ExternalTracker, *repoEditOption.ExternalTracker) | ||||||
| @@ -244,7 +244,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		DecodeJSON(t, resp, &repo) | 		DecodeJSON(t, resp, &repo) | ||||||
| 		assert.NotNil(t, repo) | 		assert.NotNil(t, repo) | ||||||
| 		// check repo1 was written to database | 		// check repo1 was written to database | ||||||
| 		repo1edited = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 		repo1edited = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | 		repo1editedOption = getRepoEditOptionFromRepo(repo1edited) | ||||||
| 		assert.Equal(t, *repo1editedOption.Description, *repoEditOption.Description) | 		assert.Equal(t, *repo1editedOption.Description, *repoEditOption.Description) | ||||||
| 		assert.Equal(t, *repo1editedOption.HasIssues, true) | 		assert.Equal(t, *repo1editedOption.HasIssues, true) | ||||||
| @@ -289,7 +289,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		_ = session.MakeRequest(t, req, http.StatusOK) | 		_ = session.MakeRequest(t, req, http.StatusOK) | ||||||
|  |  | ||||||
| 		// Test making a repo public that is private | 		// Test making a repo public that is private | ||||||
| 		repo16 = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) | 		repo16 = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) | ||||||
| 		assert.True(t, repo16.IsPrivate) | 		assert.True(t, repo16.IsPrivate) | ||||||
| 		repoEditOption = &api.EditRepoOption{ | 		repoEditOption = &api.EditRepoOption{ | ||||||
| 			Private: &bFalse, | 			Private: &bFalse, | ||||||
| @@ -297,7 +297,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 		url = fmt.Sprintf("/api/v1/repos/%s/%s?token=%s", user2.Name, repo16.Name, token2) | 		url = fmt.Sprintf("/api/v1/repos/%s/%s?token=%s", user2.Name, repo16.Name, token2) | ||||||
| 		req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption) | 		req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption) | ||||||
| 		_ = session.MakeRequest(t, req, http.StatusOK) | 		_ = session.MakeRequest(t, req, http.StatusOK) | ||||||
| 		repo16 = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) | 		repo16 = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) | ||||||
| 		assert.False(t, repo16.IsPrivate) | 		assert.False(t, repo16.IsPrivate) | ||||||
| 		// Make it private again | 		// Make it private again | ||||||
| 		repoEditOption.Private = &bTrue | 		repoEditOption.Private = &bTrue | ||||||
| @@ -311,7 +311,7 @@ func TestAPIRepoEdit(t *testing.T) { | |||||||
| 			Archived: &bTrue, | 			Archived: &bTrue, | ||||||
| 		}) | 		}) | ||||||
| 		_ = session.MakeRequest(t, req, http.StatusOK) | 		_ = session.MakeRequest(t, req, http.StatusOK) | ||||||
| 		repo15 = db.AssertExistsAndLoadBean(t, &models.Repository{ID: 15}).(*models.Repository) | 		repo15 = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 15}).(*models.Repository) | ||||||
| 		assert.True(t, repo15.IsArchived) | 		assert.True(t, repo15.IsArchived) | ||||||
| 		req = NewRequestWithJSON(t, "PATCH", url, &api.EditRepoOption{ | 		req = NewRequestWithJSON(t, "PATCH", url, &api.EditRepoOption{ | ||||||
| 			Archived: &bFalse, | 			Archived: &bFalse, | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -109,8 +109,8 @@ func getExpectedFileResponseForCreate(commitID, treePath string) *api.FileRespon | |||||||
| func BenchmarkAPICreateFileSmall(b *testing.B) { | func BenchmarkAPICreateFileSmall(b *testing.B) { | ||||||
| 	onGiteaRunTB(b, func(t testing.TB, u *url.URL) { | 	onGiteaRunTB(b, func(t testing.TB, u *url.URL) { | ||||||
| 		b := t.(*testing.B) | 		b := t.(*testing.B) | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)             // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)             // owner of the repo1 & repo16 | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) // public repo | ||||||
|  |  | ||||||
| 		for n := 0; n < b.N; n++ { | 		for n := 0; n < b.N; n++ { | ||||||
| 			treePath := fmt.Sprintf("update/file%d.txt", n) | 			treePath := fmt.Sprintf("update/file%d.txt", n) | ||||||
| @@ -124,8 +124,8 @@ func BenchmarkAPICreateFileMedium(b *testing.B) { | |||||||
|  |  | ||||||
| 	onGiteaRunTB(b, func(t testing.TB, u *url.URL) { | 	onGiteaRunTB(b, func(t testing.TB, u *url.URL) { | ||||||
| 		b := t.(*testing.B) | 		b := t.(*testing.B) | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)             // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)             // owner of the repo1 & repo16 | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) // public repo | ||||||
|  |  | ||||||
| 		b.ResetTimer() | 		b.ResetTimer() | ||||||
| 		for n := 0; n < b.N; n++ { | 		for n := 0; n < b.N; n++ { | ||||||
| @@ -138,12 +138,12 @@ func BenchmarkAPICreateFileMedium(b *testing.B) { | |||||||
|  |  | ||||||
| func TestAPICreateFile(t *testing.T) { | func TestAPICreateFile(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 		user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 		user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 		user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 		user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 		repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 		repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 		repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 		repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 		fileID := 0 | 		fileID := 0 | ||||||
|  |  | ||||||
| 		// Get user2's token | 		// Get user2's token | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -38,12 +38,12 @@ func getDeleteFileOptions() *api.DeleteFileOptions { | |||||||
|  |  | ||||||
| func TestAPIDeleteFile(t *testing.T) { | func TestAPIDeleteFile(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 		user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 		user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 		user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 		user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 		repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 		repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 		repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 		repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 		fileID := 0 | 		fileID := 0 | ||||||
|  |  | ||||||
| 		// Get user2's token | 		// Get user2's token | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -104,12 +104,12 @@ func getExpectedFileResponseForUpdate(commitID, treePath string) *api.FileRespon | |||||||
|  |  | ||||||
| func TestAPIUpdateFile(t *testing.T) { | func TestAPIUpdateFile(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 		user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 		user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 		user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 		user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 		repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 		repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 		repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 		repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 		fileID := 0 | 		fileID := 0 | ||||||
|  |  | ||||||
| 		// Get user2's token | 		// Get user2's token | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	repo_module "code.gitea.io/gitea/modules/repository" | 	repo_module "code.gitea.io/gitea/modules/repository" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -53,13 +53,13 @@ func TestAPIGetContentsList(t *testing.T) { | |||||||
|  |  | ||||||
| func testAPIGetContentsList(t *testing.T, u *url.URL) { | func testAPIGetContentsList(t *testing.T, u *url.URL) { | ||||||
| 	/*** SETUP ***/ | 	/*** SETUP ***/ | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 	repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 	repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 	treePath := ""                                                                           // root dir | 	treePath := ""                                                                                 // root dir | ||||||
|  |  | ||||||
| 	// Get user2's token | 	// Get user2's token | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	repo_module "code.gitea.io/gitea/modules/repository" | 	repo_module "code.gitea.io/gitea/modules/repository" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -54,12 +54,12 @@ func TestAPIGetContents(t *testing.T) { | |||||||
|  |  | ||||||
| func testAPIGetContents(t *testing.T, u *url.URL) { | func testAPIGetContents(t *testing.T, u *url.URL) { | ||||||
| 	/*** SETUP ***/ | 	/*** SETUP ***/ | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3, is an org | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 	repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 	repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 	treePath := "README.md" | 	treePath := "README.md" | ||||||
|  |  | ||||||
| 	// Get user2's token | 	// Get user2's token | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -17,12 +17,12 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIReposGitBlobs(t *testing.T) { | func TestAPIReposGitBlobs(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3 | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3 | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 	repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 	repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 	repo1ReadmeSHA := "65f1bf27bc3bf70f64657658635e66094edbcb4d" | 	repo1ReadmeSHA := "65f1bf27bc3bf70f64657658635e66094edbcb4d" | ||||||
| 	repo3ReadmeSHA := "d56a3073c1dbb7b15963110a049d50cdb5db99fc" | 	repo3ReadmeSHA := "d56a3073c1dbb7b15963110a049d50cdb5db99fc" | ||||||
| 	repo16ReadmeSHA := "f90451c72ef61a7645293d17b47be7a8e983da57" | 	repo16ReadmeSHA := "f90451c72ef61a7645293d17b47be7a8e983da57" | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -25,7 +25,7 @@ func compareCommitFiles(t *testing.T, expect []string, files []*api.CommitAffect | |||||||
|  |  | ||||||
| func TestAPIReposGitCommits(t *testing.T) { | func TestAPIReposGitCommits(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -53,7 +53,7 @@ func TestAPIReposGitCommits(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIReposGitCommitList(t *testing.T) { | func TestAPIReposGitCommitList(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -76,7 +76,7 @@ func TestAPIReposGitCommitList(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIReposGitCommitListPage2Empty(t *testing.T) { | func TestAPIReposGitCommitListPage2Empty(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -93,7 +93,7 @@ func TestAPIReposGitCommitListPage2Empty(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIReposGitCommitListDifferentBranch(t *testing.T) { | func TestAPIReposGitCommitListDifferentBranch(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -112,7 +112,7 @@ func TestAPIReposGitCommitListDifferentBranch(t *testing.T) { | |||||||
|  |  | ||||||
| func TestDownloadCommitDiffOrPatch(t *testing.T) { | func TestDownloadCommitDiffOrPatch(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -24,8 +24,8 @@ echo Hello, World! | |||||||
| func TestAPIListGitHooks(t *testing.T) { | func TestAPIListGitHooks(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| @@ -50,8 +50,8 @@ func TestAPIListGitHooks(t *testing.T) { | |||||||
| func TestAPIListGitHooksNoHooks(t *testing.T) { | func TestAPIListGitHooksNoHooks(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| @@ -71,8 +71,8 @@ func TestAPIListGitHooksNoHooks(t *testing.T) { | |||||||
| func TestAPIListGitHooksNoAccess(t *testing.T) { | func TestAPIListGitHooksNoAccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -84,8 +84,8 @@ func TestAPIListGitHooksNoAccess(t *testing.T) { | |||||||
| func TestAPIGetGitHook(t *testing.T) { | func TestAPIGetGitHook(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| @@ -102,8 +102,8 @@ func TestAPIGetGitHook(t *testing.T) { | |||||||
| func TestAPIGetGitHookNoAccess(t *testing.T) { | func TestAPIGetGitHookNoAccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -115,8 +115,8 @@ func TestAPIGetGitHookNoAccess(t *testing.T) { | |||||||
| func TestAPIEditGitHook(t *testing.T) { | func TestAPIEditGitHook(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| @@ -145,8 +145,8 @@ func TestAPIEditGitHook(t *testing.T) { | |||||||
| func TestAPIEditGitHookNoAccess(t *testing.T) { | func TestAPIEditGitHookNoAccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -161,8 +161,8 @@ func TestAPIEditGitHookNoAccess(t *testing.T) { | |||||||
| func TestAPIDeleteGitHook(t *testing.T) { | func TestAPIDeleteGitHook(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	// user1 is an admin user | 	// user1 is an admin user | ||||||
| 	session := loginUser(t, "user1") | 	session := loginUser(t, "user1") | ||||||
| @@ -184,8 +184,8 @@ func TestAPIDeleteGitHook(t *testing.T) { | |||||||
| func TestAPIDeleteGitHookNoAccess(t *testing.T) { | func TestAPIDeleteGitHookNoAccess(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,14 +10,14 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAPIReposGitNotes(t *testing.T) { | func TestAPIReposGitNotes(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(*testing.T, *url.URL) { | 	onGiteaRun(t, func(*testing.T, *url.URL) { | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 		// Login as User2. | 		// Login as User2. | ||||||
| 		session := loginUser(t, user.Name) | 		session := loginUser(t, user.Name) | ||||||
| 		token := getTokenForLoggedInUser(t, session) | 		token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -9,12 +9,12 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAPIReposGitRefs(t *testing.T) { | func TestAPIReposGitRefs(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| @@ -20,8 +20,8 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIGitTags(t *testing.T) { | func TestAPIGitTags(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -65,8 +65,8 @@ func TestAPIGitTags(t *testing.T) { | |||||||
| func TestAPIDeleteTagByName(t *testing.T) { | func TestAPIDeleteTagByName(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
| 	session := loginUser(t, owner.LowerName) | 	session := loginUser(t, owner.LowerName) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,17 +9,17 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAPIReposGitTrees(t *testing.T) { | func TestAPIReposGitTrees(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)               // owner of the repo1 & repo16 | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3 | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)               // owner of the repo3 | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)               // owner of neither repos | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)   // public repo | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository)   // public repo | ||||||
| 	repo16 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | 	repo16 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 16}).(*models.Repository) // private repo | ||||||
| 	repo1TreeSHA := "65f1bf27bc3bf70f64657658635e66094edbcb4d" | 	repo1TreeSHA := "65f1bf27bc3bf70f64657658635e66094edbcb4d" | ||||||
| 	repo3TreeSHA := "2a47ca4b614a9f5a43abbd5ad851a54a616ffee6" | 	repo3TreeSHA := "2a47ca4b614a9f5a43abbd5ad851a54a616ffee6" | ||||||
| 	repo16TreeSHA := "69554a64c1e6030f051e5c3f94bfbd773cd6a324" | 	repo16TreeSHA := "69554a64c1e6030f051e5c3f94bfbd773cd6a324" | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| @@ -22,8 +22,8 @@ import ( | |||||||
| func TestAPILFSLocksNotStarted(t *testing.T) { | func TestAPILFSLocksNotStarted(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	setting.LFS.StartServer = false | 	setting.LFS.StartServer = false | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "GET", "/%s/%s.git/info/lfs/locks", user.Name, repo.Name) | 	req := NewRequestf(t, "GET", "/%s/%s.git/info/lfs/locks", user.Name, repo.Name) | ||||||
| 	MakeRequest(t, req, http.StatusNotFound) | 	MakeRequest(t, req, http.StatusNotFound) | ||||||
| @@ -38,8 +38,8 @@ func TestAPILFSLocksNotStarted(t *testing.T) { | |||||||
| func TestAPILFSLocksNotLogin(t *testing.T) { | func TestAPILFSLocksNotLogin(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	setting.LFS.StartServer = true | 	setting.LFS.StartServer = true | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "GET", "/%s/%s.git/info/lfs/locks", user.Name, repo.Name) | 	req := NewRequestf(t, "GET", "/%s/%s.git/info/lfs/locks", user.Name, repo.Name) | ||||||
| 	req.Header.Set("Accept", lfs.MediaType) | 	req.Header.Set("Accept", lfs.MediaType) | ||||||
| @@ -52,11 +52,11 @@ func TestAPILFSLocksNotLogin(t *testing.T) { | |||||||
| func TestAPILFSLocksLogged(t *testing.T) { | func TestAPILFSLocksLogged(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	setting.LFS.StartServer = true | 	setting.LFS.StartServer = true | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) //in org 3 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) //in org 3 | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) //in org 3 | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) //in org 3 | ||||||
|  |  | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) // own by org 3 | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) // own by org 3 | ||||||
|  |  | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
| 		user       *models.User | 		user       *models.User | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| @@ -26,7 +26,7 @@ func TestAPIRepoLFSMigrateLocal(t *testing.T) { | |||||||
| 	setting.ImportLocalPaths = true | 	setting.ImportLocalPaths = true | ||||||
| 	setting.Migrations.AllowLocalNetworks = true | 	setting.Migrations.AllowLocalNetworks = true | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/json" | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -26,8 +26,8 @@ func TestAPILFSNotStarted(t *testing.T) { | |||||||
|  |  | ||||||
| 	setting.LFS.StartServer = false | 	setting.LFS.StartServer = false | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "POST", "/%s/%s.git/info/lfs/objects/batch", user.Name, repo.Name) | 	req := NewRequestf(t, "POST", "/%s/%s.git/info/lfs/objects/batch", user.Name, repo.Name) | ||||||
| 	MakeRequest(t, req, http.StatusNotFound) | 	MakeRequest(t, req, http.StatusNotFound) | ||||||
| @@ -46,8 +46,8 @@ func TestAPILFSMediaType(t *testing.T) { | |||||||
|  |  | ||||||
| 	setting.LFS.StartServer = true | 	setting.LFS.StartServer = true | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "POST", "/%s/%s.git/info/lfs/objects/batch", user.Name, repo.Name) | 	req := NewRequestf(t, "POST", "/%s/%s.git/info/lfs/objects/batch", user.Name, repo.Name) | ||||||
| 	MakeRequest(t, req, http.StatusUnsupportedMediaType) | 	MakeRequest(t, req, http.StatusUnsupportedMediaType) | ||||||
|   | |||||||
| @@ -9,12 +9,12 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAPIReposRaw(t *testing.T) { | func TestAPIReposRaw(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -19,7 +19,7 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIRepoTags(t *testing.T) { | func TestAPIRepoTags(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	// Login as User2. | 	// Login as User2. | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -20,9 +20,9 @@ func TestAPIRepoTeams(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	// publicOrgRepo = user3/repo21 | 	// publicOrgRepo = user3/repo21 | ||||||
| 	publicOrgRepo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 32}).(*models.Repository) | 	publicOrgRepo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 32}).(*models.Repository) | ||||||
| 	// user4 | 	// user4 | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| @@ -62,7 +62,7 @@ func TestAPIRepoTeams(t *testing.T) { | |||||||
| 	res = session.MakeRequest(t, req, http.StatusForbidden) | 	res = session.MakeRequest(t, req, http.StatusForbidden) | ||||||
|  |  | ||||||
| 	// AddTeam with user2 | 	// AddTeam with user2 | ||||||
| 	user = db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user = unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session = loginUser(t, user.Name) | 	session = loginUser(t, user.Name) | ||||||
| 	token = getTokenForLoggedInUser(t, session) | 	token = getTokenForLoggedInUser(t, session) | ||||||
| 	url = fmt.Sprintf("/api/v1/repos/%s/teams/%s?token=%s", publicOrgRepo.FullName(), "team1", token) | 	url = fmt.Sprintf("/api/v1/repos/%s/teams/%s?token=%s", publicOrgRepo.FullName(), "team1", token) | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| @@ -22,15 +22,15 @@ import ( | |||||||
|  |  | ||||||
| func TestAPIUserReposNotLogin(t *testing.T) { | func TestAPIUserReposNotLogin(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "GET", "/api/v1/users/%s/repos", user.Name) | 	req := NewRequestf(t, "GET", "/api/v1/users/%s/repos", user.Name) | ||||||
| 	resp := MakeRequest(t, req, http.StatusOK) | 	resp := MakeRequest(t, req, http.StatusOK) | ||||||
|  |  | ||||||
| 	var apiRepos []api.Repository | 	var apiRepos []api.Repository | ||||||
| 	DecodeJSON(t, resp, &apiRepos) | 	DecodeJSON(t, resp, &apiRepos) | ||||||
| 	expectedLen := db.GetCount(t, models.Repository{OwnerID: user.ID}, | 	expectedLen := unittest.GetCount(t, models.Repository{OwnerID: user.ID}, | ||||||
| 		db.Cond("is_private = ?", false)) | 		unittest.Cond("is_private = ?", false)) | ||||||
| 	assert.Len(t, apiRepos, expectedLen) | 	assert.Len(t, apiRepos, expectedLen) | ||||||
| 	for _, repo := range apiRepos { | 	for _, repo := range apiRepos { | ||||||
| 		assert.EqualValues(t, user.ID, repo.Owner.ID) | 		assert.EqualValues(t, user.ID, repo.Owner.ID) | ||||||
| @@ -53,11 +53,11 @@ func TestAPISearchRepo(t *testing.T) { | |||||||
| 		assert.False(t, repo.Private) | 		assert.False(t, repo.Private) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 15}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 15}).(*models.User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 16}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 16}).(*models.User) | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 18}).(*models.User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 18}).(*models.User) | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 20}).(*models.User) | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 20}).(*models.User) | ||||||
| 	orgUser := db.AssertExistsAndLoadBean(t, &models.User{ID: 17}).(*models.User) | 	orgUser := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 17}).(*models.User) | ||||||
|  |  | ||||||
| 	oldAPIDefaultNum := setting.API.DefaultPagingNum | 	oldAPIDefaultNum := setting.API.DefaultPagingNum | ||||||
| 	defer func() { | 	defer func() { | ||||||
| @@ -209,7 +209,7 @@ var repoCache = make(map[int64]*models.Repository) | |||||||
|  |  | ||||||
| func getRepo(t *testing.T, repoID int64) *models.Repository { | func getRepo(t *testing.T, repoID int64) *models.Repository { | ||||||
| 	if _, ok := repoCache[repoID]; !ok { | 	if _, ok := repoCache[repoID]; !ok { | ||||||
| 		repoCache[repoID] = db.AssertExistsAndLoadBean(t, &models.Repository{ID: repoID}).(*models.Repository) | 		repoCache[repoID] = unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: repoID}).(*models.Repository) | ||||||
| 	} | 	} | ||||||
| 	return repoCache[repoID] | 	return repoCache[repoID] | ||||||
| } | } | ||||||
| @@ -246,11 +246,11 @@ func TestAPIViewRepo(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIOrgRepos(t *testing.T) { | func TestAPIOrgRepos(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 5}).(*models.User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 5}).(*models.User) | ||||||
| 	// User3 is an Org. Check their repos. | 	// User3 is an Org. Check their repos. | ||||||
| 	sourceOrg := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) | 	sourceOrg := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) | ||||||
|  |  | ||||||
| 	expectedResults := map[*models.User]struct { | 	expectedResults := map[*models.User]struct { | ||||||
| 		count           int | 		count           int | ||||||
| @@ -292,7 +292,7 @@ func TestAPIOrgRepos(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIGetRepoByIDUnauthorized(t *testing.T) { | func TestAPIGetRepoByIDUnauthorized(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	req := NewRequestf(t, "GET", "/api/v1/repositories/2?token="+token) | 	req := NewRequestf(t, "GET", "/api/v1/repositories/2?token="+token) | ||||||
| @@ -316,7 +316,7 @@ func TestAPIRepoMigrate(t *testing.T) { | |||||||
|  |  | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	for _, testCase := range testCases { | 	for _, testCase := range testCases { | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | ||||||
| 		session := loginUser(t, user.Name) | 		session := loginUser(t, user.Name) | ||||||
| 		token := getTokenForLoggedInUser(t, session) | 		token := getTokenForLoggedInUser(t, session) | ||||||
| 		req := NewRequestWithJSON(t, "POST", "/api/v1/repos/migrate?token="+token, &api.MigrateRepoOptions{ | 		req := NewRequestWithJSON(t, "POST", "/api/v1/repos/migrate?token="+token, &api.MigrateRepoOptions{ | ||||||
| @@ -395,7 +395,7 @@ func TestAPIOrgRepoCreate(t *testing.T) { | |||||||
|  |  | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	for _, testCase := range testCases { | 	for _, testCase := range testCases { | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | ||||||
| 		session := loginUser(t, user.Name) | 		session := loginUser(t, user.Name) | ||||||
| 		token := getTokenForLoggedInUser(t, session) | 		token := getTokenForLoggedInUser(t, session) | ||||||
| 		req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/org/%s/repos?token="+token, testCase.orgName), &api.CreateRepoOption{ | 		req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/org/%s/repos?token="+token, testCase.orgName), &api.CreateRepoOption{ | ||||||
| @@ -463,7 +463,7 @@ func TestAPIRepoTransfer(t *testing.T) { | |||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	//create repo to move | 	//create repo to move | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	repoName := "moveME" | 	repoName := "moveME" | ||||||
| @@ -480,8 +480,8 @@ func TestAPIRepoTransfer(t *testing.T) { | |||||||
|  |  | ||||||
| 	//start testing | 	//start testing | ||||||
| 	for _, testCase := range testCases { | 	for _, testCase := range testCases { | ||||||
| 		user = db.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | 		user = unittest.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: apiRepo.ID}).(*models.Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: apiRepo.ID}).(*models.Repository) | ||||||
| 		session = loginUser(t, user.Name) | 		session = loginUser(t, user.Name) | ||||||
| 		token = getTokenForLoggedInUser(t, session) | 		token = getTokenForLoggedInUser(t, session) | ||||||
| 		req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer?token=%s", repo.OwnerName, repo.Name, token), &api.TransferRepoOption{ | 		req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer?token=%s", repo.OwnerName, repo.Name, token), &api.TransferRepoOption{ | ||||||
| @@ -492,18 +492,18 @@ func TestAPIRepoTransfer(t *testing.T) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	//cleanup | 	//cleanup | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: apiRepo.ID}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: apiRepo.ID}).(*models.Repository) | ||||||
| 	_ = models.DeleteRepository(user, repo.OwnerID, repo.ID) | 	_ = models.DeleteRepository(user, repo.OwnerID, repo.ID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAPIGenerateRepo(t *testing.T) { | func TestAPIGenerateRepo(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	templateRepo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 44}).(*models.Repository) | 	templateRepo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 44}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// user | 	// user | ||||||
| 	repo := new(api.Repository) | 	repo := new(api.Repository) | ||||||
| @@ -535,10 +535,10 @@ func TestAPIGenerateRepo(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIRepoGetReviewers(t *testing.T) { | func TestAPIRepoGetReviewers(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/reviewers?token=%s", user.Name, repo.Name, token) | 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/reviewers?token=%s", user.Name, repo.Name, token) | ||||||
| 	resp := session.MakeRequest(t, req, http.StatusOK) | 	resp := session.MakeRequest(t, req, http.StatusOK) | ||||||
| @@ -549,10 +549,10 @@ func TestAPIRepoGetReviewers(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIRepoGetAssignees(t *testing.T) { | func TestAPIRepoGetAssignees(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/assignees?token=%s", user.Name, repo.Name, token) | 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/assignees?token=%s", user.Name, repo.Name, token) | ||||||
| 	resp := session.MakeRequest(t, req, http.StatusOK) | 	resp := session.MakeRequest(t, req, http.StatusOK) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -51,11 +51,11 @@ func TestAPITopicSearch(t *testing.T) { | |||||||
|  |  | ||||||
| func TestAPIRepoTopic(t *testing.T) { | func TestAPIRepoTopic(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of repo2 | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of repo2 | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) // owner of repo3 | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) // owner of repo3 | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) // write access to repo 3 | 	user4 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) // write access to repo 3 | ||||||
| 	repo2 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository) | 	repo2 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 2}).(*models.Repository) | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) | 	repo3 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 3}).(*models.Repository) | ||||||
|  |  | ||||||
| 	// Get user2's token | 	// Get user2's token | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -21,9 +21,9 @@ import ( | |||||||
| func TestAPITeam(t *testing.T) { | func TestAPITeam(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	teamUser := db.AssertExistsAndLoadBean(t, &models.TeamUser{}).(*models.TeamUser) | 	teamUser := unittest.AssertExistsAndLoadBean(t, &models.TeamUser{}).(*models.TeamUser) | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team) | 	team := unittest.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: teamUser.UID}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: teamUser.UID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
| @@ -36,8 +36,8 @@ func TestAPITeam(t *testing.T) { | |||||||
| 	assert.Equal(t, team.Name, apiTeam.Name) | 	assert.Equal(t, team.Name, apiTeam.Name) | ||||||
|  |  | ||||||
| 	// non team member user will not access the teams details | 	// non team member user will not access the teams details | ||||||
| 	teamUser2 := db.AssertExistsAndLoadBean(t, &models.TeamUser{ID: 3}).(*models.TeamUser) | 	teamUser2 := unittest.AssertExistsAndLoadBean(t, &models.TeamUser{ID: 3}).(*models.TeamUser) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: teamUser2.UID}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: teamUser2.UID}).(*models.User) | ||||||
|  |  | ||||||
| 	session = loginUser(t, user2.Name) | 	session = loginUser(t, user2.Name) | ||||||
| 	token = getTokenForLoggedInUser(t, session) | 	token = getTokenForLoggedInUser(t, session) | ||||||
| @@ -48,11 +48,11 @@ func TestAPITeam(t *testing.T) { | |||||||
| 	_ = session.MakeRequest(t, req, http.StatusUnauthorized) | 	_ = session.MakeRequest(t, req, http.StatusUnauthorized) | ||||||
|  |  | ||||||
| 	// Get an admin user able to create, update and delete teams. | 	// Get an admin user able to create, update and delete teams. | ||||||
| 	user = db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user = unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	session = loginUser(t, user.Name) | 	session = loginUser(t, user.Name) | ||||||
| 	token = getTokenForLoggedInUser(t, session) | 	token = getTokenForLoggedInUser(t, session) | ||||||
|  |  | ||||||
| 	org := db.AssertExistsAndLoadBean(t, &models.User{ID: 6}).(*models.User) | 	org := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 6}).(*models.User) | ||||||
|  |  | ||||||
| 	// Create team. | 	// Create team. | ||||||
| 	teamToCreate := &api.CreateTeamOption{ | 	teamToCreate := &api.CreateTeamOption{ | ||||||
| @@ -102,7 +102,7 @@ func TestAPITeam(t *testing.T) { | |||||||
| 		teamToEdit.Permission, teamToEdit.Units) | 		teamToEdit.Permission, teamToEdit.Units) | ||||||
|  |  | ||||||
| 	// Read team. | 	// Read team. | ||||||
| 	teamRead := db.AssertExistsAndLoadBean(t, &models.Team{ID: teamID}).(*models.Team) | 	teamRead := unittest.AssertExistsAndLoadBean(t, &models.Team{ID: teamID}).(*models.Team) | ||||||
| 	req = NewRequestf(t, "GET", "/api/v1/teams/%d?token="+token, teamID) | 	req = NewRequestf(t, "GET", "/api/v1/teams/%d?token="+token, teamID) | ||||||
| 	resp = session.MakeRequest(t, req, http.StatusOK) | 	resp = session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	DecodeJSON(t, resp, &apiTeam) | 	DecodeJSON(t, resp, &apiTeam) | ||||||
| @@ -112,7 +112,7 @@ func TestAPITeam(t *testing.T) { | |||||||
| 	// Delete team. | 	// Delete team. | ||||||
| 	req = NewRequestf(t, "DELETE", "/api/v1/teams/%d?token="+token, teamID) | 	req = NewRequestf(t, "DELETE", "/api/v1/teams/%d?token="+token, teamID) | ||||||
| 	session.MakeRequest(t, req, http.StatusNoContent) | 	session.MakeRequest(t, req, http.StatusNoContent) | ||||||
| 	db.AssertNotExistsBean(t, &models.Team{ID: teamID}) | 	unittest.AssertNotExistsBean(t, &models.Team{ID: teamID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func checkTeamResponse(t *testing.T, apiTeam *api.Team, name, description string, includesAllRepositories bool, permission string, units []string) { | func checkTeamResponse(t *testing.T, apiTeam *api.Team, name, description string, includesAllRepositories bool, permission string, units []string) { | ||||||
| @@ -126,7 +126,7 @@ func checkTeamResponse(t *testing.T, apiTeam *api.Team, name, description string | |||||||
| } | } | ||||||
|  |  | ||||||
| func checkTeamBean(t *testing.T, id int64, name, description string, includesAllRepositories bool, permission string, units []string) { | func checkTeamBean(t *testing.T, id int64, name, description string, includesAllRepositories bool, permission string, units []string) { | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &models.Team{ID: id}).(*models.Team) | 	team := unittest.AssertExistsAndLoadBean(t, &models.Team{ID: id}).(*models.Team) | ||||||
| 	assert.NoError(t, team.GetUnits(), "GetUnits") | 	assert.NoError(t, team.GetUnits(), "GetUnits") | ||||||
| 	checkTeamResponse(t, convert.ToTeam(team), name, description, includesAllRepositories, permission, units) | 	checkTeamResponse(t, convert.ToTeam(team), name, description, includesAllRepositories, permission, units) | ||||||
| } | } | ||||||
| @@ -139,8 +139,8 @@ type TeamSearchResults struct { | |||||||
| func TestAPITeamSearch(t *testing.T) { | func TestAPITeamSearch(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	org := db.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) | 	org := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) | ||||||
|  |  | ||||||
| 	var results TeamSearchResults | 	var results TeamSearchResults | ||||||
|  |  | ||||||
| @@ -155,7 +155,7 @@ func TestAPITeamSearch(t *testing.T) { | |||||||
| 	assert.Equal(t, "test_team", results.Data[0].Name) | 	assert.Equal(t, "test_team", results.Data[0].Name) | ||||||
|  |  | ||||||
| 	// no access if not organization member | 	// no access if not organization member | ||||||
| 	user5 := db.AssertExistsAndLoadBean(t, &models.User{ID: 5}).(*models.User) | 	user5 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 5}).(*models.User) | ||||||
| 	session = loginUser(t, user5.Name) | 	session = loginUser(t, user5.Name) | ||||||
| 	csrf = GetCSRF(t, session, "/"+org.Name) | 	csrf = GetCSRF(t, session, "/"+org.Name) | ||||||
| 	req = NewRequestf(t, "GET", "/api/v1/orgs/%s/teams/search?q=%s", org.Name, "team") | 	req = NewRequestf(t, "GET", "/api/v1/orgs/%s/teams/search?q=%s", org.Name, "team") | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -30,7 +30,7 @@ func TestAPITeamUser(t *testing.T) { | |||||||
| 	var user2 *api.User | 	var user2 *api.User | ||||||
| 	DecodeJSON(t, resp, &user2) | 	DecodeJSON(t, resp, &user2) | ||||||
| 	user2.Created = user2.Created.In(time.Local) | 	user2.Created = user2.Created.In(time.Local) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User) | ||||||
|  |  | ||||||
| 	expectedUser := convert.ToUser(user, user) | 	expectedUser := convert.ToUser(user, user) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,14 +9,14 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // TestAPICreateAndDeleteToken tests that token that was just created can be deleted | // TestAPICreateAndDeleteToken tests that token that was just created can be deleted | ||||||
| func TestAPICreateAndDeleteToken(t *testing.T) { | func TestAPICreateAndDeleteToken(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
|  |  | ||||||
| 	req := NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{ | 	req := NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{ | ||||||
| 		"name": "test-key-1", | 		"name": "test-key-1", | ||||||
| @@ -26,7 +26,7 @@ func TestAPICreateAndDeleteToken(t *testing.T) { | |||||||
|  |  | ||||||
| 	var newAccessToken api.AccessToken | 	var newAccessToken api.AccessToken | ||||||
| 	DecodeJSON(t, resp, &newAccessToken) | 	DecodeJSON(t, resp, &newAccessToken) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.AccessToken{ | 	unittest.AssertExistsAndLoadBean(t, &models.AccessToken{ | ||||||
| 		ID:    newAccessToken.ID, | 		ID:    newAccessToken.ID, | ||||||
| 		Name:  newAccessToken.Name, | 		Name:  newAccessToken.Name, | ||||||
| 		Token: newAccessToken.Token, | 		Token: newAccessToken.Token, | ||||||
| @@ -37,7 +37,7 @@ func TestAPICreateAndDeleteToken(t *testing.T) { | |||||||
| 	req = AddBasicAuthHeader(req, user.Name) | 	req = AddBasicAuthHeader(req, user.Name) | ||||||
| 	MakeRequest(t, req, http.StatusNoContent) | 	MakeRequest(t, req, http.StatusNoContent) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &models.AccessToken{ID: newAccessToken.ID}) | 	unittest.AssertNotExistsBean(t, &models.AccessToken{ID: newAccessToken.ID}) | ||||||
|  |  | ||||||
| 	req = NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{ | 	req = NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{ | ||||||
| 		"name": "test-key-2", | 		"name": "test-key-2", | ||||||
| @@ -50,15 +50,15 @@ func TestAPICreateAndDeleteToken(t *testing.T) { | |||||||
| 	req = AddBasicAuthHeader(req, user.Name) | 	req = AddBasicAuthHeader(req, user.Name) | ||||||
| 	MakeRequest(t, req, http.StatusNoContent) | 	MakeRequest(t, req, http.StatusNoContent) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &models.AccessToken{ID: newAccessToken.ID}) | 	unittest.AssertNotExistsBean(t, &models.AccessToken{ID: newAccessToken.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| // TestAPIDeleteMissingToken ensures that error is thrown when token not found | // TestAPIDeleteMissingToken ensures that error is thrown when token not found | ||||||
| func TestAPIDeleteMissingToken(t *testing.T) { | func TestAPIDeleteMissingToken(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
|  |  | ||||||
| 	req := NewRequestf(t, "DELETE", "/api/v1/users/user1/tokens/%d", db.NonexistentID) | 	req := NewRequestf(t, "DELETE", "/api/v1/users/user1/tokens/%d", unittest.NonexistentID) | ||||||
| 	req = AddBasicAuthHeader(req, user.Name) | 	req = AddBasicAuthHeader(req, user.Name) | ||||||
| 	MakeRequest(t, req, http.StatusNotFound) | 	MakeRequest(t, req, http.StatusNotFound) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -25,7 +25,7 @@ func TestUserOrgs(t *testing.T) { | |||||||
|  |  | ||||||
| 	orgs := getUserOrgs(t, adminUsername, normalUsername) | 	orgs := getUserOrgs(t, adminUsername, normalUsername) | ||||||
|  |  | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{Name: "user3"}).(*models.User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user3"}).(*models.User) | ||||||
|  |  | ||||||
| 	assert.Equal(t, []*api.Organization{ | 	assert.Equal(t, []*api.Organization{ | ||||||
| 		{ | 		{ | ||||||
| @@ -81,7 +81,7 @@ func TestMyOrgs(t *testing.T) { | |||||||
| 	resp = session.MakeRequest(t, req, http.StatusOK) | 	resp = session.MakeRequest(t, req, http.StatusOK) | ||||||
| 	var orgs []*api.Organization | 	var orgs []*api.Organization | ||||||
| 	DecodeJSON(t, resp, &orgs) | 	DecodeJSON(t, resp, &orgs) | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &models.User{Name: "user3"}).(*models.User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user3"}).(*models.User) | ||||||
|  |  | ||||||
| 	assert.Equal(t, []*api.Organization{ | 	assert.Equal(t, []*api.Organization{ | ||||||
| 		{ | 		{ | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| @@ -52,7 +52,7 @@ func TestAPIUserSearchNotLoggedIn(t *testing.T) { | |||||||
| 	var modelUser *models.User | 	var modelUser *models.User | ||||||
| 	for _, user := range results.Data { | 	for _, user := range results.Data { | ||||||
| 		assert.Contains(t, user.UserName, query) | 		assert.Contains(t, user.UserName, query) | ||||||
| 		modelUser = db.AssertExistsAndLoadBean(t, &models.User{ID: user.ID}).(*models.User) | 		modelUser = unittest.AssertExistsAndLoadBean(t, &models.User{ID: user.ID}).(*models.User) | ||||||
| 		if modelUser.KeepEmailPrivate { | 		if modelUser.KeepEmailPrivate { | ||||||
| 			assert.EqualValues(t, fmt.Sprintf("%s@%s", modelUser.LowerName, setting.Service.NoReplyAddress), user.Email) | 			assert.EqualValues(t, fmt.Sprintf("%s@%s", modelUser.LowerName, setting.Service.NoReplyAddress), user.Email) | ||||||
| 		} else { | 		} else { | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -33,7 +33,7 @@ func BenchmarkRepoBranchCommit(b *testing.B) { | |||||||
|  |  | ||||||
| 		for _, repoID := range samples { | 		for _, repoID := range samples { | ||||||
| 			b.StopTimer() | 			b.StopTimer() | ||||||
| 			repo := db.AssertExistsAndLoadBean(b, &models.Repository{ID: repoID}).(*models.Repository) | 			repo := unittest.AssertExistsAndLoadBean(b, &models.Repository{ID: repoID}).(*models.Repository) | ||||||
| 			b.StartTimer() | 			b.StartTimer() | ||||||
| 			b.Run(repo.Name, func(b *testing.B) { | 			b.Run(repo.Name, func(b *testing.B) { | ||||||
| 				session := loginUser(b, "user2") | 				session := loginUser(b, "user2") | ||||||
|   | |||||||
| @@ -10,13 +10,13 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestChangeDefaultBranch(t *testing.T) { | func TestChangeDefaultBranch(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name) | 	session := loginUser(t, owner.Name) | ||||||
| 	branchesURL := fmt.Sprintf("/%s/%s/settings/branches", owner.Name, repo.Name) | 	branchesURL := fmt.Sprintf("/%s/%s/settings/branches", owner.Name, repo.Name) | ||||||
|   | |||||||
| @@ -10,19 +10,19 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func assertUserDeleted(t *testing.T, userID int64) { | func assertUserDeleted(t *testing.T, userID int64) { | ||||||
| 	db.AssertNotExistsBean(t, &models.User{ID: userID}) | 	unittest.AssertNotExistsBean(t, &models.User{ID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.Follow{UserID: userID}) | 	unittest.AssertNotExistsBean(t, &models.Follow{UserID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.Follow{FollowID: userID}) | 	unittest.AssertNotExistsBean(t, &models.Follow{FollowID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.Repository{OwnerID: userID}) | 	unittest.AssertNotExistsBean(t, &models.Repository{OwnerID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.Access{UserID: userID}) | 	unittest.AssertNotExistsBean(t, &models.Access{UserID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.OrgUser{UID: userID}) | 	unittest.AssertNotExistsBean(t, &models.OrgUser{UID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.IssueUser{UID: userID}) | 	unittest.AssertNotExistsBean(t, &models.IssueUser{UID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.TeamUser{UID: userID}) | 	unittest.AssertNotExistsBean(t, &models.TeamUser{UID: userID}) | ||||||
| 	db.AssertNotExistsBean(t, &models.Star{UID: userID}) | 	unittest.AssertNotExistsBean(t, &models.Star{UID: userID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUserDeleteAccount(t *testing.T) { | func TestUserDeleteAccount(t *testing.T) { | ||||||
| @@ -37,7 +37,7 @@ func TestUserDeleteAccount(t *testing.T) { | |||||||
| 	session.MakeRequest(t, req, http.StatusFound) | 	session.MakeRequest(t, req, http.StatusFound) | ||||||
|  |  | ||||||
| 	assertUserDeleted(t, 8) | 	assertUserDeleted(t, 8) | ||||||
| 	models.CheckConsistencyFor(t, &models.User{}) | 	unittest.CheckConsistencyFor(t, &models.User{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUserDeleteAccountStillOwnRepos(t *testing.T) { | func TestUserDeleteAccountStillOwnRepos(t *testing.T) { | ||||||
| @@ -52,5 +52,5 @@ func TestUserDeleteAccountStillOwnRepos(t *testing.T) { | |||||||
| 	session.MakeRequest(t, req, http.StatusFound) | 	session.MakeRequest(t, req, http.StatusFound) | ||||||
|  |  | ||||||
| 	// user should not have been deleted, because the user still owns repos | 	// user should not have been deleted, because the user still owns repos | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.User{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestEmptyRepo(t *testing.T) { | func TestEmptyRepo(t *testing.T) { | ||||||
| @@ -20,8 +20,8 @@ func TestEmptyRepo(t *testing.T) { | |||||||
| 		"commit/1ae57b34ccf7e18373", | 		"commit/1ae57b34ccf7e18373", | ||||||
| 		"graph", | 		"graph", | ||||||
| 	} | 	} | ||||||
| 	emptyRepo := db.AssertExistsAndLoadBean(t, &models.Repository{}, db.Cond("is_empty = ?", true)).(*models.Repository) | 	emptyRepo := unittest.AssertExistsAndLoadBean(t, &models.Repository{}, unittest.Cond("is_empty = ?", true)).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: emptyRepo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: emptyRepo.OwnerID}).(*models.User) | ||||||
| 	for _, subpath := range subpaths { | 	for _, subpath := range subpaths { | ||||||
| 		req := NewRequestf(t, "GET", "/%s/%s/%s", owner.Name, emptyRepo.Name, subpath) | 		req := NewRequestf(t, "GET", "/%s/%s/%s", owner.Name, emptyRepo.Name, subpath) | ||||||
| 		MakeRequest(t, req, http.StatusNotFound) | 		MakeRequest(t, req, http.StatusNotFound) | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/eventsource" | 	"code.gitea.io/gitea/modules/eventsource" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -50,9 +50,9 @@ func TestEventSourceManagerRun(t *testing.T) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	thread5 := db.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | 	thread5 := unittest.AssertExistsAndLoadBean(t, &models.Notification{ID: 5}).(*models.Notification) | ||||||
| 	assert.NoError(t, thread5.LoadAttributes()) | 	assert.NoError(t, thread5.LoadAttributes()) | ||||||
| 	session := loginUser(t, user2.Name) | 	session := loginUser(t, user2.Name) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -631,7 +631,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB | |||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		pullNum := db.GetCount(t, &models.PullRequest{}) | 		pullNum := unittest.GetCount(t, &models.PullRequest{}) | ||||||
|  |  | ||||||
| 		t.Run("CreateHeadBranch", doGitCreateBranch(dstPath, headBranch)) | 		t.Run("CreateHeadBranch", doGitCreateBranch(dstPath, headBranch)) | ||||||
|  |  | ||||||
| @@ -667,8 +667,8 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB | |||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			db.AssertCount(t, &models.PullRequest{}, pullNum+1) | 			unittest.AssertCount(t, &models.PullRequest{}, pullNum+1) | ||||||
| 			pr1 = db.AssertExistsAndLoadBean(t, &models.PullRequest{ | 			pr1 = unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ | ||||||
| 				HeadRepoID: repo.ID, | 				HeadRepoID: repo.ID, | ||||||
| 				Flow:       models.PullRequestFlowAGit, | 				Flow:       models.PullRequestFlowAGit, | ||||||
| 			}).(*models.PullRequest) | 			}).(*models.PullRequest) | ||||||
| @@ -688,8 +688,8 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB | |||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			db.AssertCount(t, &models.PullRequest{}, pullNum+2) | 			unittest.AssertCount(t, &models.PullRequest{}, pullNum+2) | ||||||
| 			pr2 = db.AssertExistsAndLoadBean(t, &models.PullRequest{ | 			pr2 = unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ | ||||||
| 				HeadRepoID: repo.ID, | 				HeadRepoID: repo.ID, | ||||||
| 				Index:      pr1.Index + 1, | 				Index:      pr1.Index + 1, | ||||||
| 				Flow:       models.PullRequestFlowAGit, | 				Flow:       models.PullRequestFlowAGit, | ||||||
| @@ -741,7 +741,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB | |||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			db.AssertCount(t, &models.PullRequest{}, pullNum+2) | 			unittest.AssertCount(t, &models.PullRequest{}, pullNum+2) | ||||||
| 			prMsg, err := doAPIGetPullRequest(*ctx, ctx.Username, ctx.Reponame, pr1.Index)(t) | 			prMsg, err := doAPIGetPullRequest(*ctx, ctx.Username, ctx.Reponame, pr1.Index)(t) | ||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
| @@ -753,7 +753,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB | |||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			db.AssertCount(t, &models.PullRequest{}, pullNum+2) | 			unittest.AssertCount(t, &models.PullRequest{}, pullNum+2) | ||||||
| 			prMsg, err = doAPIGetPullRequest(*ctx, ctx.Username, ctx.Reponame, pr2.Index)(t) | 			prMsg, err = doAPIGetPullRequest(*ctx, ctx.Username, ctx.Reponame, pr2.Index)(t) | ||||||
| 			if !assert.NoError(t, err) { | 			if !assert.NoError(t, err) { | ||||||
| 				return | 				return | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/process" | 	"code.gitea.io/gitea/modules/process" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| @@ -60,7 +60,7 @@ func TestGPGGit(t *testing.T) { | |||||||
| 	setting.Repository.Signing.SigningKey = rootKeyID | 	setting.Repository.Signing.SigningKey = rootKeyID | ||||||
| 	setting.Repository.Signing.SigningName = "gitea" | 	setting.Repository.Signing.SigningName = "gitea" | ||||||
| 	setting.Repository.Signing.SigningEmail = "gitea@fake.local" | 	setting.Repository.Signing.SigningEmail = "gitea@fake.local" | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{Name: username}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{Name: username}).(*models.User) | ||||||
|  |  | ||||||
| 	setting.Repository.Signing.InitialCommit = []string{"never"} | 	setting.Repository.Signing.InitialCommit = []string{"never"} | ||||||
| 	setting.Repository.Signing.CRUDActions = []string{"never"} | 	setting.Repository.Signing.CRUDActions = []string{"never"} | ||||||
|   | |||||||
| @@ -84,7 +84,6 @@ func NewNilResponseHashSumRecorder() *NilResponseHashSumRecorder { | |||||||
| func TestMain(m *testing.M) { | func TestMain(m *testing.M) { | ||||||
| 	defer log.Close() | 	defer log.Close() | ||||||
|  |  | ||||||
| 	unittest.InitUnitTestBridge() |  | ||||||
| 	managerCtx, cancel := context.WithCancel(context.Background()) | 	managerCtx, cancel := context.WithCancel(context.Background()) | ||||||
| 	graceful.InitManager(managerCtx) | 	graceful.InitManager(managerCtx) | ||||||
| 	defer cancel() | 	defer cancel() | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/indexer/issues" | 	"code.gitea.io/gitea/modules/indexer/issues" | ||||||
| 	"code.gitea.io/gitea/modules/references" | 	"code.gitea.io/gitea/modules/references" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -36,7 +36,7 @@ func getIssue(t *testing.T, repoID int64, issueSelection *goquery.Selection) *mo | |||||||
| 	indexStr := href[strings.LastIndexByte(href, '/')+1:] | 	indexStr := href[strings.LastIndexByte(href, '/')+1:] | ||||||
| 	index, err := strconv.Atoi(indexStr) | 	index, err := strconv.Atoi(indexStr) | ||||||
| 	assert.NoError(t, err, "Invalid issue href: %s", href) | 	assert.NoError(t, err, "Invalid issue href: %s", href) | ||||||
| 	return db.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repoID, Index: int64(index)}).(*models.Issue) | 	return unittest.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repoID, Index: int64(index)}).(*models.Issue) | ||||||
| } | } | ||||||
|  |  | ||||||
| func assertMatch(t testing.TB, issue *models.Issue, keyword string) { | func assertMatch(t testing.TB, issue *models.Issue, keyword string) { | ||||||
| @@ -61,8 +61,8 @@ func TestNoLoginViewIssues(t *testing.T) { | |||||||
| func TestViewIssuesSortByType(t *testing.T) { | func TestViewIssuesSortByType(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
| 	req := NewRequest(t, "GET", repo.RelLink()+"/issues?type=created_by") | 	req := NewRequest(t, "GET", repo.RelLink()+"/issues?type=created_by") | ||||||
| @@ -70,10 +70,10 @@ func TestViewIssuesSortByType(t *testing.T) { | |||||||
|  |  | ||||||
| 	htmlDoc := NewHTMLParser(t, resp.Body) | 	htmlDoc := NewHTMLParser(t, resp.Body) | ||||||
| 	issuesSelection := getIssuesSelection(t, htmlDoc) | 	issuesSelection := getIssuesSelection(t, htmlDoc) | ||||||
| 	expectedNumIssues := db.GetCount(t, | 	expectedNumIssues := unittest.GetCount(t, | ||||||
| 		&models.Issue{RepoID: repo.ID, PosterID: user.ID}, | 		&models.Issue{RepoID: repo.ID, PosterID: user.ID}, | ||||||
| 		db.Cond("is_closed=?", false), | 		unittest.Cond("is_closed=?", false), | ||||||
| 		db.Cond("is_pull=?", false), | 		unittest.Cond("is_pull=?", false), | ||||||
| 	) | 	) | ||||||
| 	if expectedNumIssues > setting.UI.IssuePagingNum { | 	if expectedNumIssues > setting.UI.IssuePagingNum { | ||||||
| 		expectedNumIssues = setting.UI.IssuePagingNum | 		expectedNumIssues = setting.UI.IssuePagingNum | ||||||
| @@ -89,8 +89,8 @@ func TestViewIssuesSortByType(t *testing.T) { | |||||||
| func TestViewIssuesKeyword(t *testing.T) { | func TestViewIssuesKeyword(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{ | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{ | ||||||
| 		RepoID: repo.ID, | 		RepoID: repo.ID, | ||||||
| 		Index:  1, | 		Index:  1, | ||||||
| 	}).(*models.Issue) | 	}).(*models.Issue) | ||||||
| @@ -236,7 +236,7 @@ func TestIssueCrossReference(t *testing.T) { | |||||||
|  |  | ||||||
| 	// Ref from issue title | 	// Ref from issue title | ||||||
| 	issueRefURL, issueRef := testIssueWithBean(t, "user2", 1, fmt.Sprintf("Title ref #%d", issueBase.Index), "Description") | 	issueRefURL, issueRef := testIssueWithBean(t, "user2", 1, fmt.Sprintf("Title ref #%d", issueBase.Index), "Description") | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ | ||||||
| 		IssueID:      issueBase.ID, | 		IssueID:      issueBase.ID, | ||||||
| 		RefRepoID:    1, | 		RefRepoID:    1, | ||||||
| 		RefIssueID:   issueRef.ID, | 		RefIssueID:   issueRef.ID, | ||||||
| @@ -246,7 +246,7 @@ func TestIssueCrossReference(t *testing.T) { | |||||||
|  |  | ||||||
| 	// Edit title, neuter ref | 	// Edit title, neuter ref | ||||||
| 	testIssueChangeInfo(t, "user2", issueRefURL, "title", "Title no ref") | 	testIssueChangeInfo(t, "user2", issueRefURL, "title", "Title no ref") | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ | ||||||
| 		IssueID:      issueBase.ID, | 		IssueID:      issueBase.ID, | ||||||
| 		RefRepoID:    1, | 		RefRepoID:    1, | ||||||
| 		RefIssueID:   issueRef.ID, | 		RefIssueID:   issueRef.ID, | ||||||
| @@ -256,7 +256,7 @@ func TestIssueCrossReference(t *testing.T) { | |||||||
|  |  | ||||||
| 	// Ref from issue content | 	// Ref from issue content | ||||||
| 	issueRefURL, issueRef = testIssueWithBean(t, "user2", 1, "TitleXRef", fmt.Sprintf("Description ref #%d", issueBase.Index)) | 	issueRefURL, issueRef = testIssueWithBean(t, "user2", 1, "TitleXRef", fmt.Sprintf("Description ref #%d", issueBase.Index)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ | ||||||
| 		IssueID:      issueBase.ID, | 		IssueID:      issueBase.ID, | ||||||
| 		RefRepoID:    1, | 		RefRepoID:    1, | ||||||
| 		RefIssueID:   issueRef.ID, | 		RefIssueID:   issueRef.ID, | ||||||
| @@ -266,7 +266,7 @@ func TestIssueCrossReference(t *testing.T) { | |||||||
|  |  | ||||||
| 	// Edit content, neuter ref | 	// Edit content, neuter ref | ||||||
| 	testIssueChangeInfo(t, "user2", issueRefURL, "content", "Description no ref") | 	testIssueChangeInfo(t, "user2", issueRefURL, "content", "Description no ref") | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ | ||||||
| 		IssueID:      issueBase.ID, | 		IssueID:      issueBase.ID, | ||||||
| 		RefRepoID:    1, | 		RefRepoID:    1, | ||||||
| 		RefIssueID:   issueRef.ID, | 		RefIssueID:   issueRef.ID, | ||||||
| @@ -284,11 +284,11 @@ func TestIssueCrossReference(t *testing.T) { | |||||||
| 		RefCommentID: commentID, | 		RefCommentID: commentID, | ||||||
| 		RefIsPull:    false, | 		RefIsPull:    false, | ||||||
| 		RefAction:    references.XRefActionNone} | 		RefAction:    references.XRefActionNone} | ||||||
| 	db.AssertExistsAndLoadBean(t, comment) | 	unittest.AssertExistsAndLoadBean(t, comment) | ||||||
|  |  | ||||||
| 	// Ref from a different repository | 	// Ref from a different repository | ||||||
| 	issueRefURL, issueRef = testIssueWithBean(t, "user12", 10, "TitleXRef", fmt.Sprintf("Description ref user2/repo1#%d", issueBase.Index)) | 	issueRefURL, issueRef = testIssueWithBean(t, "user12", 10, "TitleXRef", fmt.Sprintf("Description ref user2/repo1#%d", issueBase.Index)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.Comment{ | 	unittest.AssertExistsAndLoadBean(t, &models.Comment{ | ||||||
| 		IssueID:      issueBase.ID, | 		IssueID:      issueBase.ID, | ||||||
| 		RefRepoID:    10, | 		RefRepoID:    10, | ||||||
| 		RefIssueID:   issueRef.ID, | 		RefIssueID:   issueRef.ID, | ||||||
| @@ -304,7 +304,7 @@ func testIssueWithBean(t *testing.T, user string, repoID int64, title, content s | |||||||
| 	index, err := strconv.Atoi(indexStr) | 	index, err := strconv.Atoi(indexStr) | ||||||
| 	assert.NoError(t, err, "Invalid issue href: %s", issueURL) | 	assert.NoError(t, err, "Invalid issue href: %s", issueURL) | ||||||
| 	issue := &models.Issue{RepoID: repoID, Index: int64(index)} | 	issue := &models.Issue{RepoID: repoID, Index: int64(index)} | ||||||
| 	db.AssertExistsAndLoadBean(t, issue) | 	unittest.AssertExistsAndLoadBean(t, issue) | ||||||
| 	return issueURL, issue | 	return issueURL, issue | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/modules/migrations" | 	"code.gitea.io/gitea/modules/migrations" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| @@ -21,7 +20,7 @@ import ( | |||||||
| func TestMigrateLocalPath(t *testing.T) { | func TestMigrateLocalPath(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	adminUser := db.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) | 	adminUser := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) | ||||||
|  |  | ||||||
| 	old := setting.ImportLocalPaths | 	old := setting.ImportLocalPaths | ||||||
| 	setting.ImportLocalPaths = true | 	setting.ImportLocalPaths = true | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	migration "code.gitea.io/gitea/modules/migrations/base" | 	migration "code.gitea.io/gitea/modules/migrations/base" | ||||||
| 	"code.gitea.io/gitea/modules/repository" | 	"code.gitea.io/gitea/modules/repository" | ||||||
| @@ -22,8 +22,8 @@ import ( | |||||||
| func TestMirrorPull(t *testing.T) { | func TestMirrorPull(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	repoPath := models.RepoPath(user.Name, repo.Name) | 	repoPath := models.RepoPath(user.Name, repo.Name) | ||||||
|  |  | ||||||
| 	opts := migration.MigrateOptions{ | 	opts := migration.MigrateOptions{ | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/repository" | 	"code.gitea.io/gitea/modules/repository" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -30,8 +30,8 @@ func testMirrorPush(t *testing.T, u *url.URL) { | |||||||
|  |  | ||||||
| 	setting.Migrations.AllowLocalNetworks = true | 	setting.Migrations.AllowLocalNetworks = true | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	srcRepo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	srcRepo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	mirrorRepo, err := repository.CreateRepository(user, user, models.CreateRepoOptions{ | 	mirrorRepo, err := repository.CreateRepository(user, user, models.CreateRepoOptions{ | ||||||
| 		Name: "test-push-mirror", | 		Name: "test-push-mirror", | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -111,7 +111,7 @@ func doCheckOrgCounts(username string, orgCounts map[string]int, strict bool, ca | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return func(t *testing.T) { | 	return func(t *testing.T) { | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ | ||||||
| 			Name: username, | 			Name: username, | ||||||
| 		}).(*models.User) | 		}).(*models.User) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -25,8 +25,8 @@ const privateActivityTestOtherUser = "user4" | |||||||
| // activity helpers | // activity helpers | ||||||
|  |  | ||||||
| func testPrivateActivityDoSomethingForActionEntries(t *testing.T) { | func testPrivateActivityDoSomethingForActionEntries(t *testing.T) { | ||||||
| 	repoBefore := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repoBefore := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repoBefore.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, privateActivityTestUser) | 	session := loginUser(t, privateActivityTestUser) | ||||||
| 	token := getTokenForLoggedInUser(t, session) | 	token := getTokenForLoggedInUser(t, session) | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/models/webhook" | 	"code.gitea.io/gitea/models/webhook" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| @@ -221,15 +221,15 @@ func TestCantMergeConflict(t *testing.T) { | |||||||
| 		session.MakeRequest(t, req, 201) | 		session.MakeRequest(t, req, 201) | ||||||
|  |  | ||||||
| 		// Now this PR will be marked conflict - or at least a race will do - so drop down to pure code at this point... | 		// Now this PR will be marked conflict - or at least a race will do - so drop down to pure code at this point... | ||||||
| 		user1 := db.AssertExistsAndLoadBean(t, &models.User{ | 		user1 := unittest.AssertExistsAndLoadBean(t, &models.User{ | ||||||
| 			Name: "user1", | 			Name: "user1", | ||||||
| 		}).(*models.User) | 		}).(*models.User) | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ | ||||||
| 			OwnerID: user1.ID, | 			OwnerID: user1.ID, | ||||||
| 			Name:    "repo1", | 			Name:    "repo1", | ||||||
| 		}).(*models.Repository) | 		}).(*models.Repository) | ||||||
|  |  | ||||||
| 		pr := db.AssertExistsAndLoadBean(t, &models.PullRequest{ | 		pr := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ | ||||||
| 			HeadRepoID: repo1.ID, | 			HeadRepoID: repo1.ID, | ||||||
| 			BaseRepoID: repo1.ID, | 			BaseRepoID: repo1.ID, | ||||||
| 			HeadBranch: "conflict", | 			HeadBranch: "conflict", | ||||||
| @@ -258,10 +258,10 @@ func TestCantMergeUnrelated(t *testing.T) { | |||||||
|  |  | ||||||
| 		// Now we want to create a commit on a branch that is totally unrelated to our current head | 		// Now we want to create a commit on a branch that is totally unrelated to our current head | ||||||
| 		// Drop down to pure code at this point | 		// Drop down to pure code at this point | ||||||
| 		user1 := db.AssertExistsAndLoadBean(t, &models.User{ | 		user1 := unittest.AssertExistsAndLoadBean(t, &models.User{ | ||||||
| 			Name: "user1", | 			Name: "user1", | ||||||
| 		}).(*models.User) | 		}).(*models.User) | ||||||
| 		repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ | 		repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ | ||||||
| 			OwnerID: user1.ID, | 			OwnerID: user1.ID, | ||||||
| 			Name:    "repo1", | 			Name:    "repo1", | ||||||
| 		}).(*models.Repository) | 		}).(*models.Repository) | ||||||
| @@ -320,7 +320,7 @@ func TestCantMergeUnrelated(t *testing.T) { | |||||||
| 		// Now this PR could be marked conflict - or at least a race may occur - so drop down to pure code at this point... | 		// Now this PR could be marked conflict - or at least a race may occur - so drop down to pure code at this point... | ||||||
| 		gitRepo, err := git.OpenRepository(path) | 		gitRepo, err := git.OpenRepository(path) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		pr := db.AssertExistsAndLoadBean(t, &models.PullRequest{ | 		pr := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ | ||||||
| 			HeadRepoID: repo1.ID, | 			HeadRepoID: repo1.ID, | ||||||
| 			BaseRepoID: repo1.ID, | 			BaseRepoID: repo1.ID, | ||||||
| 			HeadBranch: "unrelated", | 			HeadBranch: "unrelated", | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/repofiles" | 	"code.gitea.io/gitea/modules/repofiles" | ||||||
| 	repo_module "code.gitea.io/gitea/modules/repository" | 	repo_module "code.gitea.io/gitea/modules/repository" | ||||||
| 	pull_service "code.gitea.io/gitea/services/pull" | 	pull_service "code.gitea.io/gitea/services/pull" | ||||||
| @@ -23,8 +23,8 @@ import ( | |||||||
| func TestAPIPullUpdate(t *testing.T) { | func TestAPIPullUpdate(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||||
| 		//Create PR to test | 		//Create PR to test | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 		org26 := db.AssertExistsAndLoadBean(t, &models.User{ID: 26}).(*models.User) | 		org26 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 26}).(*models.User) | ||||||
| 		pr := createOutdatedPR(t, user, org26) | 		pr := createOutdatedPR(t, user, org26) | ||||||
|  |  | ||||||
| 		//Test GetDiverging | 		//Test GetDiverging | ||||||
| @@ -51,8 +51,8 @@ func TestAPIPullUpdate(t *testing.T) { | |||||||
| func TestAPIPullUpdateByRebase(t *testing.T) { | func TestAPIPullUpdateByRebase(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||||
| 		//Create PR to test | 		//Create PR to test | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 		user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 		org26 := db.AssertExistsAndLoadBean(t, &models.User{ID: 26}).(*models.User) | 		org26 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 26}).(*models.User) | ||||||
| 		pr := createOutdatedPR(t, user, org26) | 		pr := createOutdatedPR(t, user, org26) | ||||||
|  |  | ||||||
| 		//Test GetDiverging | 		//Test GetDiverging | ||||||
| @@ -163,7 +163,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *models.User) *models.PullReq | |||||||
| 	err = pull_service.NewPullRequest(baseRepo, pullIssue, nil, nil, pullRequest, nil) | 	err = pull_service.NewPullRequest(baseRepo, pullIssue, nil, nil, pullRequest, nil) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &models.Issue{Title: "Test Pull -to-update-"}).(*models.Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &models.Issue{Title: "Test Pull -to-update-"}).(*models.Issue) | ||||||
| 	pr, err := models.GetPullRequestByIssueID(issue.ID) | 	pr, err := models.GetPullRequestByIssueID(issue.ID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/test" | 	"code.gitea.io/gitea/modules/test" | ||||||
|  |  | ||||||
| @@ -134,7 +134,7 @@ func TestCreateReleasePaging(t *testing.T) { | |||||||
| func TestViewReleaseListNoLogin(t *testing.T) { | func TestViewReleaseListNoLogin(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	link := repo.Link() + "/releases" | 	link := repo.Link() + "/releases" | ||||||
|  |  | ||||||
| @@ -160,7 +160,7 @@ func TestViewReleaseListNoLogin(t *testing.T) { | |||||||
| func TestViewReleaseListLogin(t *testing.T) { | func TestViewReleaseListLogin(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	link := repo.Link() + "/releases" | 	link := repo.Link() + "/releases" | ||||||
|  |  | ||||||
| @@ -191,7 +191,7 @@ func TestViewReleaseListLogin(t *testing.T) { | |||||||
| func TestViewTagsList(t *testing.T) { | func TestViewTagsList(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
|  |  | ||||||
| 	link := repo.Link() + "/tags" | 	link := repo.Link() + "/tags" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -39,6 +39,6 @@ func TestRenameBranch(t *testing.T) { | |||||||
| 	assert.Equal(t, "/user2/repo1/src/branch/main/README.md", location) | 	assert.Equal(t, "/user2/repo1/src/branch/main/README.md", location) | ||||||
|  |  | ||||||
| 	// check db | 	// check db | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	assert.Equal(t, "main", repo1.DefaultBranch) | 	assert.Equal(t, "main", repo1.DefaultBranch) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,13 +11,13 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkOwnerName, forkRepoName string) *httptest.ResponseRecorder { | func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkOwnerName, forkRepoName string) *httptest.ResponseRecorder { | ||||||
| 	forkOwner := db.AssertExistsAndLoadBean(t, &models.User{Name: forkOwnerName}).(*models.User) | 	forkOwner := unittest.AssertExistsAndLoadBean(t, &models.User{Name: forkOwnerName}).(*models.User) | ||||||
|  |  | ||||||
| 	// Step0: check the existence of the to-fork repo | 	// Step0: check the existence of the to-fork repo | ||||||
| 	req := NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName) | 	req := NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName) | ||||||
|   | |||||||
| @@ -11,13 +11,13 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, templateRepoName, generateOwnerName, generateRepoName string) *httptest.ResponseRecorder { | func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, templateRepoName, generateOwnerName, generateRepoName string) *httptest.ResponseRecorder { | ||||||
| 	generateOwner := db.AssertExistsAndLoadBean(t, &models.User{Name: generateOwnerName}).(*models.User) | 	generateOwner := unittest.AssertExistsAndLoadBean(t, &models.User{Name: generateOwnerName}).(*models.User) | ||||||
|  |  | ||||||
| 	// Step0: check the existence of the generated repo | 	// Step0: check the existence of the generated repo | ||||||
| 	req := NewRequestf(t, "GET", "/%s/%s", generateOwnerName, generateRepoName) | 	req := NewRequestf(t, "GET", "/%s/%s", generateOwnerName, generateRepoName) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	"code.gitea.io/gitea/services/release" | 	"code.gitea.io/gitea/services/release" | ||||||
| @@ -21,8 +21,8 @@ import ( | |||||||
| func TestCreateNewTagProtected(t *testing.T) { | func TestCreateNewTagProtected(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := unittest.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	t.Run("API", func(t *testing.T) { | 	t.Run("API", func(t *testing.T) { | ||||||
| 		defer PrintCurrentTest(t)() | 		defer PrintCurrentTest(t)() | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -18,8 +18,8 @@ func TestRepoWatch(t *testing.T) { | |||||||
| 		// Test round-trip auto-watch | 		// Test round-trip auto-watch | ||||||
| 		setting.Service.AutoWatchOnChanges = true | 		setting.Service.AutoWatchOnChanges = true | ||||||
| 		session := loginUser(t, "user2") | 		session := loginUser(t, "user2") | ||||||
| 		db.AssertNotExistsBean(t, &models.Watch{UserID: 2, RepoID: 3}) | 		unittest.AssertNotExistsBean(t, &models.Watch{UserID: 2, RepoID: 3}) | ||||||
| 		testEditFile(t, session, "user3", "repo3", "master", "README.md", "Hello, World (Edited for watch)\n") | 		testEditFile(t, session, "user3", "repo3", "master", "README.md", "Hello, World (Edited for watch)\n") | ||||||
| 		db.AssertExistsAndLoadBean(t, &models.Watch{UserID: 2, RepoID: 3, Mode: models.RepoWatchModeAuto}) | 		unittest.AssertExistsAndLoadBean(t, &models.Watch{UserID: 2, RepoID: 3, Mode: models.RepoWatchModeAuto}) | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| 	"github.com/unknwon/i18n" | 	"github.com/unknwon/i18n" | ||||||
| @@ -34,13 +34,13 @@ func testLoginFailed(t *testing.T, username, password, message string) { | |||||||
| func TestSignin(t *testing.T) { | func TestSignin(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
|  |  | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
|  |  | ||||||
| 	// add new user with user2's email | 	// add new user with user2's email | ||||||
| 	user.Name = "testuser" | 	user.Name = "testuser" | ||||||
| 	user.LowerName = strings.ToLower(user.Name) | 	user.LowerName = strings.ToLower(user.Name) | ||||||
| 	user.ID = 0 | 	user.ID = 0 | ||||||
| 	db.AssertSuccessfulInsert(t, user) | 	unittest.AssertSuccessfulInsert(t, user) | ||||||
|  |  | ||||||
| 	samples := []struct { | 	samples := []struct { | ||||||
| 		username string | 		username string | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| 	"github.com/unknwon/i18n" | 	"github.com/unknwon/i18n" | ||||||
| @@ -53,7 +53,7 @@ func TestSignupAsRestricted(t *testing.T) { | |||||||
| 	req = NewRequest(t, "GET", "/restrictedUser") | 	req = NewRequest(t, "GET", "/restrictedUser") | ||||||
| 	MakeRequest(t, req, http.StatusOK) | 	MakeRequest(t, req, http.StatusOK) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &models.User{Name: "restrictedUser"}).(*models.User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &models.User{Name: "restrictedUser"}).(*models.User) | ||||||
| 	assert.True(t, user2.IsRestricted) | 	assert.True(t, user2.IsRestricted) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,14 +14,14 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/avatar" | 	"code.gitea.io/gitea/modules/avatar" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestUserAvatar(t *testing.T) { | func TestUserAvatar(t *testing.T) { | ||||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||||
| 		user2 := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo3, is an org | 		user2 := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo3, is an org | ||||||
|  |  | ||||||
| 		seed := user2.Email | 		seed := user2.Email | ||||||
| 		if len(seed) == 0 { | 		if len(seed) == 0 { | ||||||
| @@ -71,7 +71,7 @@ func TestUserAvatar(t *testing.T) { | |||||||
|  |  | ||||||
| 		session.MakeRequest(t, req, http.StatusFound) | 		session.MakeRequest(t, req, http.StatusFound) | ||||||
|  |  | ||||||
| 		user2 = db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo3, is an org | 		user2 = unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo3, is an org | ||||||
|  |  | ||||||
| 		req = NewRequest(t, "GET", user2.AvatarLinkWithSize(0)) | 		req = NewRequest(t, "GET", user2.AvatarLinkWithSize(0)) | ||||||
| 		_ = session.MakeRequest(t, req, http.StatusOK) | 		_ = session.MakeRequest(t, req, http.StatusOK) | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/test" | 	"code.gitea.io/gitea/modules/test" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -35,8 +35,8 @@ func TestRenameUsername(t *testing.T) { | |||||||
| 	}) | 	}) | ||||||
| 	session.MakeRequest(t, req, http.StatusFound) | 	session.MakeRequest(t, req, http.StatusFound) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &models.User{Name: "newUsername"}) | 	unittest.AssertExistsAndLoadBean(t, &models.User{Name: "newUsername"}) | ||||||
| 	db.AssertNotExistsBean(t, &models.User{Name: "user2"}) | 	unittest.AssertNotExistsBean(t, &models.User{Name: "user2"}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestRenameInvalidUsername(t *testing.T) { | func TestRenameInvalidUsername(t *testing.T) { | ||||||
| @@ -67,7 +67,7 @@ func TestRenameInvalidUsername(t *testing.T) { | |||||||
| 			i18n.Tr("en", "form.alpha_dash_dot_error"), | 			i18n.Tr("en", "form.alpha_dash_dot_error"), | ||||||
| 		) | 		) | ||||||
|  |  | ||||||
| 		db.AssertNotExistsBean(t, &models.User{Name: invalidUsername}) | 		unittest.AssertNotExistsBean(t, &models.User{Name: invalidUsername}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -113,7 +113,7 @@ func TestRenameReservedUsername(t *testing.T) { | |||||||
| 			i18n.Tr("en", "user.form.name_reserved", reservedUsername), | 			i18n.Tr("en", "user.form.name_reserved", reservedUsername), | ||||||
| 		) | 		) | ||||||
|  |  | ||||||
| 		db.AssertNotExistsBean(t, &models.User{Name: reservedUsername}) | 		unittest.AssertNotExistsBean(t, &models.User{Name: reservedUsername}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,14 +9,14 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestXSSUserFullName(t *testing.T) { | func TestXSSUserFullName(t *testing.T) { | ||||||
| 	defer prepareTestEnv(t)() | 	defer prepareTestEnv(t)() | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | 	user := unittest.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||||||
| 	const fullName = `name & <script class="evil">alert('Oh no!');</script>` | 	const fullName = `name & <script class="evil">alert('Oh no!');</script>` | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name) | 	session := loginUser(t, user.Name) | ||||||
|   | |||||||
| @@ -15,21 +15,21 @@ import ( | |||||||
| func TestAccessLevel(t *testing.T) { | func TestAccessLevel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	user5 := db.AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) | 	user5 := unittest.AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) | ||||||
| 	user29 := db.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | 	user29 := unittest.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | ||||||
| 	// A public repository owned by User 2 | 	// A public repository owned by User 2 | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	assert.False(t, repo1.IsPrivate) | 	assert.False(t, repo1.IsPrivate) | ||||||
| 	// A private repository owned by Org 3 | 	// A private repository owned by Org 3 | ||||||
| 	repo3 := db.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | 	repo3 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | ||||||
| 	assert.True(t, repo3.IsPrivate) | 	assert.True(t, repo3.IsPrivate) | ||||||
|  |  | ||||||
| 	// Another public repository | 	// Another public repository | ||||||
| 	repo4 := db.AssertExistsAndLoadBean(t, &Repository{ID: 4}).(*Repository) | 	repo4 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 4}).(*Repository) | ||||||
| 	assert.False(t, repo4.IsPrivate) | 	assert.False(t, repo4.IsPrivate) | ||||||
| 	// org. owned private repo | 	// org. owned private repo | ||||||
| 	repo24 := db.AssertExistsAndLoadBean(t, &Repository{ID: 24}).(*Repository) | 	repo24 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 24}).(*Repository) | ||||||
|  |  | ||||||
| 	level, err := AccessLevel(user2, repo1) | 	level, err := AccessLevel(user2, repo1) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -66,13 +66,13 @@ func TestAccessLevel(t *testing.T) { | |||||||
| func TestHasAccess(t *testing.T) { | func TestHasAccess(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) | ||||||
| 	// A public repository owned by User 2 | 	// A public repository owned by User 2 | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	assert.False(t, repo1.IsPrivate) | 	assert.False(t, repo1.IsPrivate) | ||||||
| 	// A private repository owned by Org 3 | 	// A private repository owned by Org 3 | ||||||
| 	repo2 := db.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | 	repo2 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | ||||||
| 	assert.True(t, repo2.IsPrivate) | 	assert.True(t, repo2.IsPrivate) | ||||||
|  |  | ||||||
| 	has, err := HasAccess(user1.ID, repo1) | 	has, err := HasAccess(user1.ID, repo1) | ||||||
| @@ -92,12 +92,12 @@ func TestHasAccess(t *testing.T) { | |||||||
| func TestUser_GetRepositoryAccesses(t *testing.T) { | func TestUser_GetRepositoryAccesses(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	accesses, err := user1.GetRepositoryAccesses() | 	accesses, err := user1.GetRepositoryAccesses() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, accesses, 0) | 	assert.Len(t, accesses, 0) | ||||||
|  |  | ||||||
| 	user29 := db.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | 	user29 := unittest.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | ||||||
| 	accesses, err = user29.GetRepositoryAccesses() | 	accesses, err = user29.GetRepositoryAccesses() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, accesses, 2) | 	assert.Len(t, accesses, 2) | ||||||
| @@ -106,17 +106,17 @@ func TestUser_GetRepositoryAccesses(t *testing.T) { | |||||||
| func TestUser_GetAccessibleRepositories(t *testing.T) { | func TestUser_GetAccessibleRepositories(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	repos, err := user1.GetAccessibleRepositories(0) | 	repos, err := user1.GetAccessibleRepositories(0) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, repos, 0) | 	assert.Len(t, repos, 0) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	repos, err = user2.GetAccessibleRepositories(0) | 	repos, err = user2.GetAccessibleRepositories(0) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, repos, 4) | 	assert.Len(t, repos, 4) | ||||||
|  |  | ||||||
| 	user29 := db.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | 	user29 := unittest.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | ||||||
| 	repos, err = user29.GetAccessibleRepositories(0) | 	repos, err = user29.GetAccessibleRepositories(0) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, repos, 2) | 	assert.Len(t, repos, 2) | ||||||
| @@ -125,7 +125,7 @@ func TestUser_GetAccessibleRepositories(t *testing.T) { | |||||||
| func TestRepository_RecalculateAccesses(t *testing.T) { | func TestRepository_RecalculateAccesses(t *testing.T) { | ||||||
| 	// test with organization repo | 	// test with organization repo | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | ||||||
| 	assert.NoError(t, repo1.GetOwner()) | 	assert.NoError(t, repo1.GetOwner()) | ||||||
|  |  | ||||||
| 	_, err := db.GetEngine(db.DefaultContext).Delete(&Collaboration{UserID: 2, RepoID: 3}) | 	_, err := db.GetEngine(db.DefaultContext).Delete(&Collaboration{UserID: 2, RepoID: 3}) | ||||||
| @@ -142,7 +142,7 @@ func TestRepository_RecalculateAccesses(t *testing.T) { | |||||||
| func TestRepository_RecalculateAccesses2(t *testing.T) { | func TestRepository_RecalculateAccesses2(t *testing.T) { | ||||||
| 	// test with non-organization repo | 	// test with non-organization repo | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 4}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 4}).(*Repository) | ||||||
| 	assert.NoError(t, repo1.GetOwner()) | 	assert.NoError(t, repo1.GetOwner()) | ||||||
|  |  | ||||||
| 	_, err := db.GetEngine(db.DefaultContext).Delete(&Collaboration{UserID: 4, RepoID: 4}) | 	_, err := db.GetEngine(db.DefaultContext).Delete(&Collaboration{UserID: 4, RepoID: 4}) | ||||||
| @@ -156,8 +156,8 @@ func TestRepository_RecalculateAccesses2(t *testing.T) { | |||||||
|  |  | ||||||
| func TestRepository_RecalculateAccesses3(t *testing.T) { | func TestRepository_RecalculateAccesses3(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	team5 := db.AssertExistsAndLoadBean(t, &Team{ID: 5}).(*Team) | 	team5 := unittest.AssertExistsAndLoadBean(t, &Team{ID: 5}).(*Team) | ||||||
| 	user29 := db.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | 	user29 := unittest.AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | ||||||
|  |  | ||||||
| 	has, err := db.GetEngine(db.DefaultContext).Get(&Access{UserID: 29, RepoID: 23}) | 	has, err := db.GetEngine(db.DefaultContext).Get(&Access{UserID: 29, RepoID: 23}) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"path" | 	"path" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| @@ -17,16 +16,16 @@ import ( | |||||||
|  |  | ||||||
| func TestAction_GetRepoPath(t *testing.T) { | func TestAction_GetRepoPath(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{}).(*Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | 	owner := unittest.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | ||||||
| 	action := &Action{RepoID: repo.ID} | 	action := &Action{RepoID: repo.ID} | ||||||
| 	assert.Equal(t, path.Join(owner.Name, repo.Name), action.GetRepoPath()) | 	assert.Equal(t, path.Join(owner.Name, repo.Name), action.GetRepoPath()) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAction_GetRepoLink(t *testing.T) { | func TestAction_GetRepoLink(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{}).(*Repository) | ||||||
| 	owner := db.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | 	owner := unittest.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | ||||||
| 	action := &Action{RepoID: repo.ID} | 	action := &Action{RepoID: repo.ID} | ||||||
| 	setting.AppSubURL = "/suburl" | 	setting.AppSubURL = "/suburl" | ||||||
| 	expected := path.Join(setting.AppSubURL, owner.Name, repo.Name) | 	expected := path.Join(setting.AppSubURL, owner.Name, repo.Name) | ||||||
| @@ -36,7 +35,7 @@ func TestAction_GetRepoLink(t *testing.T) { | |||||||
| func TestGetFeeds(t *testing.T) { | func TestGetFeeds(t *testing.T) { | ||||||
| 	// test with an individual user | 	// test with an individual user | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	actions, err := GetFeeds(GetFeedsOptions{ | 	actions, err := GetFeeds(GetFeedsOptions{ | ||||||
| 		RequestedUser:   user, | 		RequestedUser:   user, | ||||||
| @@ -64,8 +63,8 @@ func TestGetFeeds(t *testing.T) { | |||||||
| func TestGetFeeds2(t *testing.T) { | func TestGetFeeds2(t *testing.T) { | ||||||
| 	// test with an organization user | 	// test with an organization user | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	org := db.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | 	org := unittest.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	actions, err := GetFeeds(GetFeedsOptions{ | 	actions, err := GetFeeds(GetFeedsOptions{ | ||||||
| 		RequestedUser:   org, | 		RequestedUser:   org, | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -27,9 +26,9 @@ func TestCreateNotice(t *testing.T) { | |||||||
| 		Type:        NoticeRepository, | 		Type:        NoticeRepository, | ||||||
| 		Description: "test description", | 		Description: "test description", | ||||||
| 	} | 	} | ||||||
| 	db.AssertNotExistsBean(t, noticeBean) | 	unittest.AssertNotExistsBean(t, noticeBean) | ||||||
| 	assert.NoError(t, CreateNotice(noticeBean.Type, noticeBean.Description)) | 	assert.NoError(t, CreateNotice(noticeBean.Type, noticeBean.Description)) | ||||||
| 	db.AssertExistsAndLoadBean(t, noticeBean) | 	unittest.AssertExistsAndLoadBean(t, noticeBean) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestCreateRepositoryNotice(t *testing.T) { | func TestCreateRepositoryNotice(t *testing.T) { | ||||||
| @@ -39,9 +38,9 @@ func TestCreateRepositoryNotice(t *testing.T) { | |||||||
| 		Type:        NoticeRepository, | 		Type:        NoticeRepository, | ||||||
| 		Description: "test description", | 		Description: "test description", | ||||||
| 	} | 	} | ||||||
| 	db.AssertNotExistsBean(t, noticeBean) | 	unittest.AssertNotExistsBean(t, noticeBean) | ||||||
| 	assert.NoError(t, CreateRepositoryNotice(noticeBean.Description)) | 	assert.NoError(t, CreateRepositoryNotice(noticeBean.Description)) | ||||||
| 	db.AssertExistsAndLoadBean(t, noticeBean) | 	unittest.AssertExistsAndLoadBean(t, noticeBean) | ||||||
| } | } | ||||||
|  |  | ||||||
| // TODO TestRemoveAllWithNotice | // TODO TestRemoveAllWithNotice | ||||||
| @@ -71,45 +70,45 @@ func TestNotices(t *testing.T) { | |||||||
| func TestDeleteNotice(t *testing.T) { | func TestDeleteNotice(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| 	assert.NoError(t, DeleteNotice(3)) | 	assert.NoError(t, DeleteNotice(3)) | ||||||
| 	db.AssertNotExistsBean(t, &Notice{ID: 3}) | 	unittest.AssertNotExistsBean(t, &Notice{ID: 3}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteNotices(t *testing.T) { | func TestDeleteNotices(t *testing.T) { | ||||||
| 	// delete a non-empty range | 	// delete a non-empty range | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| 	assert.NoError(t, DeleteNotices(1, 2)) | 	assert.NoError(t, DeleteNotices(1, 2)) | ||||||
| 	db.AssertNotExistsBean(t, &Notice{ID: 1}) | 	unittest.AssertNotExistsBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertNotExistsBean(t, &Notice{ID: 2}) | 	unittest.AssertNotExistsBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteNotices2(t *testing.T) { | func TestDeleteNotices2(t *testing.T) { | ||||||
| 	// delete an empty range | 	// delete an empty range | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| 	assert.NoError(t, DeleteNotices(3, 2)) | 	assert.NoError(t, DeleteNotices(3, 2)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteNoticesByIDs(t *testing.T) { | func TestDeleteNoticesByIDs(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
| 	assert.NoError(t, DeleteNoticesByIDs([]int64{1, 3})) | 	assert.NoError(t, DeleteNoticesByIDs([]int64{1, 3})) | ||||||
| 	db.AssertNotExistsBean(t, &Notice{ID: 1}) | 	unittest.AssertNotExistsBean(t, &Notice{ID: 1}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
| 	db.AssertNotExistsBean(t, &Notice{ID: 3}) | 	unittest.AssertNotExistsBean(t, &Notice{ID: 3}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -88,7 +88,7 @@ func TestUpdateAttachment(t *testing.T) { | |||||||
| 	attach.Name = "new_name" | 	attach.Name = "new_name" | ||||||
| 	assert.NoError(t, UpdateAttachment(attach)) | 	assert.NoError(t, UpdateAttachment(attach)) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Attachment{Name: "new_name"}) | 	unittest.AssertExistsAndLoadBean(t, &Attachment{Name: "new_name"}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetAttachmentsByUUIDs(t *testing.T) { | func TestGetAttachmentsByUUIDs(t *testing.T) { | ||||||
|   | |||||||
| @@ -7,15 +7,14 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestAddDeletedBranch(t *testing.T) { | func TestAddDeletedBranch(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	firstBranch := db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | 	firstBranch := unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | ||||||
|  |  | ||||||
| 	assert.Error(t, repo.AddDeletedBranch(firstBranch.Name, firstBranch.Commit, firstBranch.DeletedByID)) | 	assert.Error(t, repo.AddDeletedBranch(firstBranch.Name, firstBranch.Commit, firstBranch.DeletedByID)) | ||||||
| 	assert.NoError(t, repo.AddDeletedBranch("test", "5655464564554545466464656", int64(1))) | 	assert.NoError(t, repo.AddDeletedBranch("test", "5655464564554545466464656", int64(1))) | ||||||
| @@ -23,7 +22,7 @@ func TestAddDeletedBranch(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetDeletedBranches(t *testing.T) { | func TestGetDeletedBranches(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
|  |  | ||||||
| 	branches, err := repo.GetDeletedBranches() | 	branches, err := repo.GetDeletedBranches() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -32,7 +31,7 @@ func TestGetDeletedBranches(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetDeletedBranch(t *testing.T) { | func TestGetDeletedBranch(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	firstBranch := db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | 	firstBranch := unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | ||||||
|  |  | ||||||
| 	assert.NotNil(t, getDeletedBranch(t, firstBranch)) | 	assert.NotNil(t, getDeletedBranch(t, firstBranch)) | ||||||
| } | } | ||||||
| @@ -40,8 +39,8 @@ func TestGetDeletedBranch(t *testing.T) { | |||||||
| func TestDeletedBranchLoadUser(t *testing.T) { | func TestDeletedBranchLoadUser(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	firstBranch := db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | 	firstBranch := unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | ||||||
| 	secondBranch := db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 2}).(*DeletedBranch) | 	secondBranch := unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 2}).(*DeletedBranch) | ||||||
|  |  | ||||||
| 	branch := getDeletedBranch(t, firstBranch) | 	branch := getDeletedBranch(t, firstBranch) | ||||||
| 	assert.Nil(t, branch.DeletedBy) | 	assert.Nil(t, branch.DeletedBy) | ||||||
| @@ -58,18 +57,18 @@ func TestDeletedBranchLoadUser(t *testing.T) { | |||||||
|  |  | ||||||
| func TestRemoveDeletedBranch(t *testing.T) { | func TestRemoveDeletedBranch(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
|  |  | ||||||
| 	firstBranch := db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | 	firstBranch := unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1}).(*DeletedBranch) | ||||||
|  |  | ||||||
| 	err := repo.RemoveDeletedBranch(1) | 	err := repo.RemoveDeletedBranch(1) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	db.AssertNotExistsBean(t, firstBranch) | 	unittest.AssertNotExistsBean(t, firstBranch) | ||||||
| 	db.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &DeletedBranch{ID: 2}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func getDeletedBranch(t *testing.T, branch *DeletedBranch) *DeletedBranch { | func getDeletedBranch(t *testing.T, branch *DeletedBranch) *DeletedBranch { | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
|  |  | ||||||
| 	deletedBranch, err := repo.GetDeletedBranchByID(branch.ID) | 	deletedBranch, err := repo.GetDeletedBranchByID(branch.ID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -95,7 +94,7 @@ func TestFindRenamedBranch(t *testing.T) { | |||||||
|  |  | ||||||
| func TestRenameBranch(t *testing.T) { | func TestRenameBranch(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	_isDefault := false | 	_isDefault := false | ||||||
|  |  | ||||||
| 	err := UpdateProtectBranch(repo1, &ProtectedBranch{ | 	err := UpdateProtectBranch(repo1, &ProtectedBranch{ | ||||||
| @@ -110,21 +109,21 @@ func TestRenameBranch(t *testing.T) { | |||||||
| 	})) | 	})) | ||||||
|  |  | ||||||
| 	assert.Equal(t, true, _isDefault) | 	assert.Equal(t, true, _isDefault) | ||||||
| 	repo1 = db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 = unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	assert.Equal(t, "main", repo1.DefaultBranch) | 	assert.Equal(t, "main", repo1.DefaultBranch) | ||||||
|  |  | ||||||
| 	pull := db.AssertExistsAndLoadBean(t, &PullRequest{ID: 1}).(*PullRequest) // merged | 	pull := unittest.AssertExistsAndLoadBean(t, &PullRequest{ID: 1}).(*PullRequest) // merged | ||||||
| 	assert.Equal(t, "master", pull.BaseBranch) | 	assert.Equal(t, "master", pull.BaseBranch) | ||||||
|  |  | ||||||
| 	pull = db.AssertExistsAndLoadBean(t, &PullRequest{ID: 2}).(*PullRequest) // open | 	pull = unittest.AssertExistsAndLoadBean(t, &PullRequest{ID: 2}).(*PullRequest) // open | ||||||
| 	assert.Equal(t, "main", pull.BaseBranch) | 	assert.Equal(t, "main", pull.BaseBranch) | ||||||
|  |  | ||||||
| 	renamedBranch := db.AssertExistsAndLoadBean(t, &RenamedBranch{ID: 2}).(*RenamedBranch) | 	renamedBranch := unittest.AssertExistsAndLoadBean(t, &RenamedBranch{ID: 2}).(*RenamedBranch) | ||||||
| 	assert.Equal(t, "master", renamedBranch.From) | 	assert.Equal(t, "master", renamedBranch.From) | ||||||
| 	assert.Equal(t, "main", renamedBranch.To) | 	assert.Equal(t, "main", renamedBranch.To) | ||||||
| 	assert.Equal(t, int64(1), renamedBranch.RepoID) | 	assert.Equal(t, int64(1), renamedBranch.RepoID) | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &ProtectedBranch{ | 	unittest.AssertExistsAndLoadBean(t, &ProtectedBranch{ | ||||||
| 		RepoID:     repo1.ID, | 		RepoID:     repo1.ID, | ||||||
| 		BranchName: "main", | 		BranchName: "main", | ||||||
| 	}) | 	}) | ||||||
| @@ -136,7 +135,7 @@ func TestOnlyGetDeletedBranchOnCorrectRepo(t *testing.T) { | |||||||
| 	// Get deletedBranch with ID of 1 on repo with ID 2. | 	// Get deletedBranch with ID of 1 on repo with ID 2. | ||||||
| 	// This should return a nil branch as this deleted branch | 	// This should return a nil branch as this deleted branch | ||||||
| 	// is actually on repo with ID 1. | 	// is actually on repo with ID 1. | ||||||
| 	repo2 := db.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | 	repo2 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | ||||||
|  |  | ||||||
| 	deletedBranch, err := repo2.GetDeletedBranchByID(1) | 	deletedBranch, err := repo2.GetDeletedBranchByID(1) | ||||||
|  |  | ||||||
| @@ -146,7 +145,7 @@ func TestOnlyGetDeletedBranchOnCorrectRepo(t *testing.T) { | |||||||
|  |  | ||||||
| 	// Now get the deletedBranch with ID of 1 on repo with ID 1. | 	// Now get the deletedBranch with ID of 1 on repo with ID 1. | ||||||
| 	// This should return the deletedBranch. | 	// This should return the deletedBranch. | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
|  |  | ||||||
| 	deletedBranch, err = repo1.GetDeletedBranchByID(1) | 	deletedBranch, err = repo1.GetDeletedBranchByID(1) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ import ( | |||||||
| func TestGetCommitStatuses(t *testing.T) { | func TestGetCommitStatuses(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
|  |  | ||||||
| 	sha1 := "1234123412341234123412341234123412341234" | 	sha1 := "1234123412341234123412341234123412341234" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,177 +5,11 @@ | |||||||
| package models | package models | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"reflect" |  | ||||||
| 	"strings" |  | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" | 	"code.gitea.io/gitea/models/db" | ||||||
| 	"code.gitea.io/gitea/modules/unittestbridge" |  | ||||||
|  |  | ||||||
| 	"xorm.io/builder" | 	"xorm.io/builder" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // CheckConsistencyFor test that all matching database entries are consistent |  | ||||||
| func CheckConsistencyFor(t unittestbridge.Tester, beansToCheck ...interface{}) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	for _, bean := range beansToCheck { |  | ||||||
| 		sliceType := reflect.SliceOf(reflect.TypeOf(bean)) |  | ||||||
| 		sliceValue := reflect.MakeSlice(sliceType, 0, 10) |  | ||||||
|  |  | ||||||
| 		ptrToSliceValue := reflect.New(sliceType) |  | ||||||
| 		ptrToSliceValue.Elem().Set(sliceValue) |  | ||||||
|  |  | ||||||
| 		ta.NoError(db.GetEngine(db.DefaultContext).Table(bean).Find(ptrToSliceValue.Interface())) |  | ||||||
| 		sliceValue = ptrToSliceValue.Elem() |  | ||||||
|  |  | ||||||
| 		for i := 0; i < sliceValue.Len(); i++ { |  | ||||||
| 			entity := sliceValue.Index(i).Interface() |  | ||||||
| 			checkForConsistency(ta, entity) |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForConsistency(ta unittestbridge.Asserter, bean interface{}) { |  | ||||||
| 	switch b := bean.(type) { |  | ||||||
| 	case *User: |  | ||||||
| 		checkForUserConsistency(b, ta) |  | ||||||
| 	case *Repository: |  | ||||||
| 		checkForRepoConsistency(b, ta) |  | ||||||
| 	case *Issue: |  | ||||||
| 		checkForIssueConsistency(b, ta) |  | ||||||
| 	case *PullRequest: |  | ||||||
| 		checkForPullRequestConsistency(b, ta) |  | ||||||
| 	case *Milestone: |  | ||||||
| 		checkForMilestoneConsistency(b, ta) |  | ||||||
| 	case *Label: |  | ||||||
| 		checkForLabelConsistency(b, ta) |  | ||||||
| 	case *Team: |  | ||||||
| 		checkForTeamConsistency(b, ta) |  | ||||||
| 	case *Action: |  | ||||||
| 		checkForActionConsistency(b, ta) |  | ||||||
| 	default: |  | ||||||
| 		ta.Errorf("unknown bean type: %#v", bean) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // getCount get the count of database entries matching bean |  | ||||||
| func getCount(ta unittestbridge.Asserter, e db.Engine, bean interface{}) int64 { |  | ||||||
| 	count, err := e.Count(bean) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	return count |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // assertCount test the count of database entries matching bean |  | ||||||
| func assertCount(ta unittestbridge.Asserter, bean interface{}, expected int) { |  | ||||||
| 	ta.EqualValues(expected, getCount(ta, db.GetEngine(db.DefaultContext), bean), |  | ||||||
| 		"Failed consistency test, the counted bean (of type %T) was %+v", bean, bean) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForUserConsistency(user *User, ta unittestbridge.Asserter) { |  | ||||||
| 	assertCount(ta, &Repository{OwnerID: user.ID}, user.NumRepos) |  | ||||||
| 	assertCount(ta, &Star{UID: user.ID}, user.NumStars) |  | ||||||
| 	assertCount(ta, &OrgUser{OrgID: user.ID}, user.NumMembers) |  | ||||||
| 	assertCount(ta, &Team{OrgID: user.ID}, user.NumTeams) |  | ||||||
| 	assertCount(ta, &Follow{UserID: user.ID}, user.NumFollowing) |  | ||||||
| 	assertCount(ta, &Follow{FollowID: user.ID}, user.NumFollowers) |  | ||||||
| 	if user.Type != UserTypeOrganization { |  | ||||||
| 		ta.EqualValues(0, user.NumMembers) |  | ||||||
| 		ta.EqualValues(0, user.NumTeams) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForRepoConsistency(repo *Repository, ta unittestbridge.Asserter) { |  | ||||||
| 	ta.Equal(repo.LowerName, strings.ToLower(repo.Name), "repo: %+v", repo) |  | ||||||
| 	assertCount(ta, &Star{RepoID: repo.ID}, repo.NumStars) |  | ||||||
| 	assertCount(ta, &Milestone{RepoID: repo.ID}, repo.NumMilestones) |  | ||||||
| 	assertCount(ta, &Repository{ForkID: repo.ID}, repo.NumForks) |  | ||||||
| 	if repo.IsFork { |  | ||||||
| 		db.AssertExistsAndLoadBean(ta, &Repository{ID: repo.ForkID}) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	actual := getCount(ta, db.GetEngine(db.DefaultContext).Where("Mode<>?", RepoWatchModeDont), &Watch{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumWatches, actual, |  | ||||||
| 		"Unexpected number of watches for repo %+v", repo) |  | ||||||
|  |  | ||||||
| 	actual = getCount(ta, db.GetEngine(db.DefaultContext).Where("is_pull=?", false), &Issue{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumIssues, actual, |  | ||||||
| 		"Unexpected number of issues for repo %+v", repo) |  | ||||||
|  |  | ||||||
| 	actual = getCount(ta, db.GetEngine(db.DefaultContext).Where("is_pull=? AND is_closed=?", false, true), &Issue{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumClosedIssues, actual, |  | ||||||
| 		"Unexpected number of closed issues for repo %+v", repo) |  | ||||||
|  |  | ||||||
| 	actual = getCount(ta, db.GetEngine(db.DefaultContext).Where("is_pull=?", true), &Issue{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumPulls, actual, |  | ||||||
| 		"Unexpected number of pulls for repo %+v", repo) |  | ||||||
|  |  | ||||||
| 	actual = getCount(ta, db.GetEngine(db.DefaultContext).Where("is_pull=? AND is_closed=?", true, true), &Issue{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumClosedPulls, actual, |  | ||||||
| 		"Unexpected number of closed pulls for repo %+v", repo) |  | ||||||
|  |  | ||||||
| 	actual = getCount(ta, db.GetEngine(db.DefaultContext).Where("is_closed=?", true), &Milestone{RepoID: repo.ID}) |  | ||||||
| 	ta.EqualValues(repo.NumClosedMilestones, actual, |  | ||||||
| 		"Unexpected number of closed milestones for repo %+v", repo) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForIssueConsistency(issue *Issue, ta unittestbridge.Asserter) { |  | ||||||
| 	actual := getCount(ta, db.GetEngine(db.DefaultContext).Where("type=?", CommentTypeComment), &Comment{IssueID: issue.ID}) |  | ||||||
| 	ta.EqualValues(issue.NumComments, actual, |  | ||||||
| 		"Unexpected number of comments for issue %+v", issue) |  | ||||||
| 	if issue.IsPull { |  | ||||||
| 		pr := db.AssertExistsAndLoadBean(ta, &PullRequest{IssueID: issue.ID}).(*PullRequest) |  | ||||||
| 		ta.EqualValues(pr.Index, issue.Index) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForPullRequestConsistency(pr *PullRequest, ta unittestbridge.Asserter) { |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(ta, &Issue{ID: pr.IssueID}).(*Issue) |  | ||||||
| 	ta.True(issue.IsPull) |  | ||||||
| 	ta.EqualValues(issue.Index, pr.Index) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForMilestoneConsistency(milestone *Milestone, ta unittestbridge.Asserter) { |  | ||||||
| 	assertCount(ta, &Issue{MilestoneID: milestone.ID}, milestone.NumIssues) |  | ||||||
|  |  | ||||||
| 	actual := getCount(ta, db.GetEngine(db.DefaultContext).Where("is_closed=?", true), &Issue{MilestoneID: milestone.ID}) |  | ||||||
| 	ta.EqualValues(milestone.NumClosedIssues, actual, |  | ||||||
| 		"Unexpected number of closed issues for milestone %+v", milestone) |  | ||||||
|  |  | ||||||
| 	completeness := 0 |  | ||||||
| 	if milestone.NumIssues > 0 { |  | ||||||
| 		completeness = milestone.NumClosedIssues * 100 / milestone.NumIssues |  | ||||||
| 	} |  | ||||||
| 	ta.Equal(completeness, milestone.Completeness) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForLabelConsistency(label *Label, ta unittestbridge.Asserter) { |  | ||||||
| 	issueLabels := make([]*IssueLabel, 0, 10) |  | ||||||
| 	ta.NoError(db.GetEngine(db.DefaultContext).Find(&issueLabels, &IssueLabel{LabelID: label.ID})) |  | ||||||
| 	ta.EqualValues(label.NumIssues, len(issueLabels), |  | ||||||
| 		"Unexpected number of issue for label %+v", label) |  | ||||||
|  |  | ||||||
| 	issueIDs := make([]int64, len(issueLabels)) |  | ||||||
| 	for i, issueLabel := range issueLabels { |  | ||||||
| 		issueIDs[i] = issueLabel.IssueID |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	expected := int64(0) |  | ||||||
| 	if len(issueIDs) > 0 { |  | ||||||
| 		expected = getCount(ta, db.GetEngine(db.DefaultContext).In("id", issueIDs).Where("is_closed=?", true), &Issue{}) |  | ||||||
| 	} |  | ||||||
| 	ta.EqualValues(expected, label.NumClosedIssues, |  | ||||||
| 		"Unexpected number of closed issues for label %+v", label) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForTeamConsistency(team *Team, ta unittestbridge.Asserter) { |  | ||||||
| 	assertCount(ta, &TeamUser{TeamID: team.ID}, team.NumMembers) |  | ||||||
| 	assertCount(ta, &TeamRepo{TeamID: team.ID}, team.NumRepos) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func checkForActionConsistency(action *Action, ta unittestbridge.Asserter) { |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(ta, &Repository{ID: action.RepoID}).(*Repository) |  | ||||||
| 	ta.Equal(repo.IsPrivate, action.IsPrivate, "action: %+v", action) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // CountOrphanedLabels return count of labels witch are broken and not accessible via ui anymore | // CountOrphanedLabels return count of labels witch are broken and not accessible via ui anymore | ||||||
| func CountOrphanedLabels() (int64, error) { | func CountOrphanedLabels() (int64, error) { | ||||||
| 	noref, err := db.GetEngine(db.DefaultContext).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Count("label.id") | 	noref, err := db.GetEngine(db.DefaultContext).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Count("label.id") | ||||||
|   | |||||||
| @@ -153,6 +153,15 @@ func InitEngine(ctx context.Context) (err error) { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // SetEngine is used by unit test code | ||||||
|  | func SetEngine(eng *xorm.Engine) { | ||||||
|  | 	x = eng | ||||||
|  | 	DefaultContext = &Context{ | ||||||
|  | 		Context: context.Background(), | ||||||
|  | 		e:       x, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| // InitEngineWithMigration initializes a new xorm.Engine | // InitEngineWithMigration initializes a new xorm.Engine | ||||||
| // This function must never call .Sync2() if the provided migration function fails. | // This function must never call .Sync2() if the provided migration function fails. | ||||||
| // When called from the "doctor" command, the migration function is a version check | // When called from the "doctor" command, the migration function is a version check | ||||||
|   | |||||||
| @@ -1,125 +0,0 @@ | |||||||
| // Copyright 2016 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 db |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 	"math" |  | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/unittestbridge" |  | ||||||
|  |  | ||||||
| 	"xorm.io/xorm" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| // Code in this file is mainly used by models.CheckConsistencyFor, which is not in the unit test for various reasons. |  | ||||||
| // In the future if we can decouple CheckConsistencyFor into separate unit test code, then this file can be moved into unittest package too. |  | ||||||
|  |  | ||||||
| // NonexistentID an ID that will never exist |  | ||||||
| const NonexistentID = int64(math.MaxInt64) |  | ||||||
|  |  | ||||||
| //SetUnitTestEngine is used by unit test code |  | ||||||
| func SetUnitTestEngine(eng *xorm.Engine) { |  | ||||||
| 	x = eng |  | ||||||
| 	DefaultContext = &Context{ |  | ||||||
| 		Context: context.Background(), |  | ||||||
| 		e:       x, |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type testCond struct { |  | ||||||
| 	query interface{} |  | ||||||
| 	args  []interface{} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Cond create a condition with arguments for a test |  | ||||||
| func Cond(query interface{}, args ...interface{}) interface{} { |  | ||||||
| 	return &testCond{query: query, args: args} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func whereConditions(sess *xorm.Session, conditions []interface{}) { |  | ||||||
| 	for _, condition := range conditions { |  | ||||||
| 		switch cond := condition.(type) { |  | ||||||
| 		case *testCond: |  | ||||||
| 			sess.Where(cond.query, cond.args...) |  | ||||||
| 		default: |  | ||||||
| 			sess.Where(cond) |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // LoadBeanIfExists loads beans from fixture database if exist |  | ||||||
| func LoadBeanIfExists(bean interface{}, conditions ...interface{}) (bool, error) { |  | ||||||
| 	sess := x.NewSession() |  | ||||||
| 	defer sess.Close() |  | ||||||
| 	whereConditions(sess, conditions) |  | ||||||
| 	return sess.Get(bean) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // BeanExists for testing, check if a bean exists |  | ||||||
| func BeanExists(t unittestbridge.Tester, bean interface{}, conditions ...interface{}) bool { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	exists, err := LoadBeanIfExists(bean, conditions...) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	return exists |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertExistsAndLoadBean assert that a bean exists and load it from the test database |  | ||||||
| func AssertExistsAndLoadBean(t unittestbridge.Tester, bean interface{}, conditions ...interface{}) interface{} { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	exists, err := LoadBeanIfExists(bean, conditions...) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	ta.True(exists, |  | ||||||
| 		"Expected to find %+v (of type %T, with conditions %+v), but did not", |  | ||||||
| 		bean, bean, conditions) |  | ||||||
| 	return bean |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // GetCount get the count of a bean |  | ||||||
| func GetCount(t unittestbridge.Tester, bean interface{}, conditions ...interface{}) int { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	sess := x.NewSession() |  | ||||||
| 	defer sess.Close() |  | ||||||
| 	whereConditions(sess, conditions) |  | ||||||
| 	count, err := sess.Count(bean) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	return int(count) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertNotExistsBean assert that a bean does not exist in the test database |  | ||||||
| func AssertNotExistsBean(t unittestbridge.Tester, bean interface{}, conditions ...interface{}) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	exists, err := LoadBeanIfExists(bean, conditions...) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	ta.False(exists) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertExistsIf asserts that a bean exists or does not exist, depending on |  | ||||||
| // what is expected. |  | ||||||
| func AssertExistsIf(t unittestbridge.Tester, expected bool, bean interface{}, conditions ...interface{}) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	exists, err := LoadBeanIfExists(bean, conditions...) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| 	ta.Equal(expected, exists) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertSuccessfulInsert assert that beans is successfully inserted |  | ||||||
| func AssertSuccessfulInsert(t unittestbridge.Tester, beans ...interface{}) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	_, err := x.Insert(beans...) |  | ||||||
| 	ta.NoError(err) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertCount assert the count of a bean |  | ||||||
| func AssertCount(t unittestbridge.Tester, bean, expected interface{}) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	ta.EqualValues(expected, GetCount(ta, bean)) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // AssertInt64InRange assert value is in range [low, high] |  | ||||||
| func AssertInt64InRange(t unittestbridge.Tester, low, high, value int64) { |  | ||||||
| 	ta := unittestbridge.NewAsserter(t) |  | ||||||
| 	ta.True(value >= low && value <= high, |  | ||||||
| 		"Expected value in range [%d, %d], found %d", low, high, value) |  | ||||||
| } |  | ||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
|  |  | ||||||
| @@ -196,7 +195,7 @@ Unknown GPG key with good email | |||||||
| func TestCheckGPGUserEmail(t *testing.T) { | func TestCheckGPGUserEmail(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	_ = unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	testEmailWithUpperCaseLetters := `-----BEGIN PGP PUBLIC KEY BLOCK----- | 	testEmailWithUpperCaseLetters := `-----BEGIN PGP PUBLIC KEY BLOCK----- | ||||||
| Version: GnuPG v1 | Version: GnuPG v1 | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -65,8 +64,8 @@ func TestUpdateAssignee(t *testing.T) { | |||||||
| func TestMakeIDsFromAPIAssigneesToAdd(t *testing.T) { | func TestMakeIDsFromAPIAssigneesToAdd(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	_ = unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	_ = unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	IDs, err := MakeIDsFromAPIAssigneesToAdd("", []string{""}) | 	IDs, err := MakeIDsFromAPIAssigneesToAdd("", []string{""}) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -16,9 +15,9 @@ import ( | |||||||
| func TestCreateComment(t *testing.T) { | func TestCreateComment(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{}).(*Issue) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository) | ||||||
| 	doer := db.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | 	doer := unittest.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | ||||||
|  |  | ||||||
| 	now := time.Now().Unix() | 	now := time.Now().Unix() | ||||||
| 	comment, err := CreateComment(&CreateCommentOptions{ | 	comment, err := CreateComment(&CreateCommentOptions{ | ||||||
| @@ -35,18 +34,18 @@ func TestCreateComment(t *testing.T) { | |||||||
| 	assert.EqualValues(t, "Hello", comment.Content) | 	assert.EqualValues(t, "Hello", comment.Content) | ||||||
| 	assert.EqualValues(t, issue.ID, comment.IssueID) | 	assert.EqualValues(t, issue.ID, comment.IssueID) | ||||||
| 	assert.EqualValues(t, doer.ID, comment.PosterID) | 	assert.EqualValues(t, doer.ID, comment.PosterID) | ||||||
| 	db.AssertInt64InRange(t, now, then, int64(comment.CreatedUnix)) | 	unittest.AssertInt64InRange(t, now, then, int64(comment.CreatedUnix)) | ||||||
| 	db.AssertExistsAndLoadBean(t, comment) // assert actually added to DB | 	unittest.AssertExistsAndLoadBean(t, comment) // assert actually added to DB | ||||||
|  |  | ||||||
| 	updatedIssue := db.AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue) | 	updatedIssue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue) | ||||||
| 	db.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix)) | 	unittest.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestFetchCodeComments(t *testing.T) { | func TestFetchCodeComments(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	res, err := FetchCodeComments(issue, user) | 	res, err := FetchCodeComments(issue, user) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Contains(t, res, "README.md") | 	assert.Contains(t, res, "README.md") | ||||||
| @@ -54,7 +53,7 @@ func TestFetchCodeComments(t *testing.T) { | |||||||
| 	assert.Len(t, res["README.md"][4], 1) | 	assert.Len(t, res["README.md"][4], 1) | ||||||
| 	assert.Equal(t, int64(4), res["README.md"][4][0].ID) | 	assert.Equal(t, int64(4), res["README.md"][4][0].ID) | ||||||
|  |  | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	res, err = FetchCodeComments(issue, user2) | 	res, err = FetchCodeComments(issue, user2) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, res, 1) | 	assert.Len(t, res, 1) | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -39,7 +38,7 @@ func TestCreateIssueDependency(t *testing.T) { | |||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| 	assert.True(t, IsErrCircularDependency(err)) | 	assert.True(t, IsErrCircularDependency(err)) | ||||||
|  |  | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeAddDependency, PosterID: user1.ID, IssueID: issue1.ID}) | 	_ = unittest.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeAddDependency, PosterID: user1.ID, IssueID: issue1.ID}) | ||||||
|  |  | ||||||
| 	// Check if dependencies left is correct | 	// Check if dependencies left is correct | ||||||
| 	left, err := IssueNoDependenciesLeft(issue1) | 	left, err := IssueNoDependenciesLeft(issue1) | ||||||
|   | |||||||
| @@ -17,17 +17,17 @@ import ( | |||||||
|  |  | ||||||
| func TestLabel_CalOpenIssues(t *testing.T) { | func TestLabel_CalOpenIssues(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	label.CalOpenIssues() | 	label.CalOpenIssues() | ||||||
| 	assert.EqualValues(t, 2, label.NumOpenIssues) | 	assert.EqualValues(t, 2, label.NumOpenIssues) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestLabel_ForegroundColor(t *testing.T) { | func TestLabel_ForegroundColor(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	assert.Equal(t, template.CSS("#000"), label.ForegroundColor()) | 	assert.Equal(t, template.CSS("#000"), label.ForegroundColor()) | ||||||
|  |  | ||||||
| 	label = db.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | 	label = unittest.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | ||||||
| 	assert.Equal(t, template.CSS("#fff"), label.ForegroundColor()) | 	assert.Equal(t, template.CSS("#fff"), label.ForegroundColor()) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -41,13 +41,13 @@ func TestNewLabels(t *testing.T) { | |||||||
| 	assert.Error(t, NewLabel(&Label{RepoID: 3, Name: "invalid Color", Color: "123456"})) | 	assert.Error(t, NewLabel(&Label{RepoID: 3, Name: "invalid Color", Color: "123456"})) | ||||||
| 	assert.Error(t, NewLabel(&Label{RepoID: 3, Name: "invalid Color", Color: "#12345G"})) | 	assert.Error(t, NewLabel(&Label{RepoID: 3, Name: "invalid Color", Color: "#12345G"})) | ||||||
| 	for _, label := range labels { | 	for _, label := range labels { | ||||||
| 		db.AssertNotExistsBean(t, label) | 		unittest.AssertNotExistsBean(t, label) | ||||||
| 	} | 	} | ||||||
| 	assert.NoError(t, NewLabels(labels...)) | 	assert.NoError(t, NewLabels(labels...)) | ||||||
| 	for _, label := range labels { | 	for _, label := range labels { | ||||||
| 		db.AssertExistsAndLoadBean(t, label, db.Cond("id = ?", label.ID)) | 		unittest.AssertExistsAndLoadBean(t, label, unittest.Cond("id = ?", label.ID)) | ||||||
| 	} | 	} | ||||||
| 	CheckConsistencyFor(t, &Label{}, &Repository{}) | 	unittest.CheckConsistencyFor(t, &Label{}, &Repository{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetLabelByID(t *testing.T) { | func TestGetLabelByID(t *testing.T) { | ||||||
| @@ -56,7 +56,7 @@ func TestGetLabelByID(t *testing.T) { | |||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.EqualValues(t, 1, label.ID) | 	assert.EqualValues(t, 1, label.ID) | ||||||
|  |  | ||||||
| 	_, err = GetLabelByID(db.NonexistentID) | 	_, err = GetLabelByID(unittest.NonexistentID) | ||||||
| 	assert.True(t, IsErrLabelNotExist(err)) | 	assert.True(t, IsErrLabelNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -70,7 +70,7 @@ func TestGetLabelInRepoByName(t *testing.T) { | |||||||
| 	_, err = GetLabelInRepoByName(1, "") | 	_, err = GetLabelInRepoByName(1, "") | ||||||
| 	assert.True(t, IsErrRepoLabelNotExist(err)) | 	assert.True(t, IsErrRepoLabelNotExist(err)) | ||||||
|  |  | ||||||
| 	_, err = GetLabelInRepoByName(db.NonexistentID, "nonexistent") | 	_, err = GetLabelInRepoByName(unittest.NonexistentID, "nonexistent") | ||||||
| 	assert.True(t, IsErrRepoLabelNotExist(err)) | 	assert.True(t, IsErrRepoLabelNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -107,13 +107,13 @@ func TestGetLabelInRepoByID(t *testing.T) { | |||||||
| 	_, err = GetLabelInRepoByID(1, -1) | 	_, err = GetLabelInRepoByID(1, -1) | ||||||
| 	assert.True(t, IsErrRepoLabelNotExist(err)) | 	assert.True(t, IsErrRepoLabelNotExist(err)) | ||||||
|  |  | ||||||
| 	_, err = GetLabelInRepoByID(db.NonexistentID, db.NonexistentID) | 	_, err = GetLabelInRepoByID(unittest.NonexistentID, unittest.NonexistentID) | ||||||
| 	assert.True(t, IsErrRepoLabelNotExist(err)) | 	assert.True(t, IsErrRepoLabelNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetLabelsInRepoByIDs(t *testing.T) { | func TestGetLabelsInRepoByIDs(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	labels, err := GetLabelsInRepoByIDs(1, []int64{1, 2, db.NonexistentID}) | 	labels, err := GetLabelsInRepoByIDs(1, []int64{1, 2, unittest.NonexistentID}) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	if assert.Len(t, labels, 2) { | 	if assert.Len(t, labels, 2) { | ||||||
| 		assert.EqualValues(t, 1, labels[0].ID) | 		assert.EqualValues(t, 1, labels[0].ID) | ||||||
| @@ -155,7 +155,7 @@ func TestGetLabelInOrgByName(t *testing.T) { | |||||||
| 	_, err = GetLabelInOrgByName(-1, "orglabel3") | 	_, err = GetLabelInOrgByName(-1, "orglabel3") | ||||||
| 	assert.True(t, IsErrOrgLabelNotExist(err)) | 	assert.True(t, IsErrOrgLabelNotExist(err)) | ||||||
|  |  | ||||||
| 	_, err = GetLabelInOrgByName(db.NonexistentID, "nonexistent") | 	_, err = GetLabelInOrgByName(unittest.NonexistentID, "nonexistent") | ||||||
| 	assert.True(t, IsErrOrgLabelNotExist(err)) | 	assert.True(t, IsErrOrgLabelNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -198,13 +198,13 @@ func TestGetLabelInOrgByID(t *testing.T) { | |||||||
| 	_, err = GetLabelInOrgByID(-1, 3) | 	_, err = GetLabelInOrgByID(-1, 3) | ||||||
| 	assert.True(t, IsErrOrgLabelNotExist(err)) | 	assert.True(t, IsErrOrgLabelNotExist(err)) | ||||||
|  |  | ||||||
| 	_, err = GetLabelInOrgByID(db.NonexistentID, db.NonexistentID) | 	_, err = GetLabelInOrgByID(unittest.NonexistentID, unittest.NonexistentID) | ||||||
| 	assert.True(t, IsErrOrgLabelNotExist(err)) | 	assert.True(t, IsErrOrgLabelNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetLabelsInOrgByIDs(t *testing.T) { | func TestGetLabelsInOrgByIDs(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	labels, err := GetLabelsInOrgByIDs(3, []int64{3, 4, db.NonexistentID}) | 	labels, err := GetLabelsInOrgByIDs(3, []int64{3, 4, unittest.NonexistentID}) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	if assert.Len(t, labels, 2) { | 	if assert.Len(t, labels, 2) { | ||||||
| 		assert.EqualValues(t, 3, labels[0].ID) | 		assert.EqualValues(t, 3, labels[0].ID) | ||||||
| @@ -245,14 +245,14 @@ func TestGetLabelsByIssueID(t *testing.T) { | |||||||
| 		assert.EqualValues(t, 1, labels[0].ID) | 		assert.EqualValues(t, 1, labels[0].ID) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	labels, err = GetLabelsByIssueID(db.NonexistentID) | 	labels, err = GetLabelsByIssueID(unittest.NonexistentID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Len(t, labels, 0) | 	assert.Len(t, labels, 0) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateLabel(t *testing.T) { | func TestUpdateLabel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	// make sure update wont overwrite it | 	// make sure update wont overwrite it | ||||||
| 	update := &Label{ | 	update := &Label{ | ||||||
| 		ID:          label.ID, | 		ID:          label.ID, | ||||||
| @@ -263,99 +263,99 @@ func TestUpdateLabel(t *testing.T) { | |||||||
| 	label.Color = update.Color | 	label.Color = update.Color | ||||||
| 	label.Name = update.Name | 	label.Name = update.Name | ||||||
| 	assert.NoError(t, UpdateLabel(update)) | 	assert.NoError(t, UpdateLabel(update)) | ||||||
| 	newLabel := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	newLabel := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	assert.EqualValues(t, label.ID, newLabel.ID) | 	assert.EqualValues(t, label.ID, newLabel.ID) | ||||||
| 	assert.EqualValues(t, label.Color, newLabel.Color) | 	assert.EqualValues(t, label.Color, newLabel.Color) | ||||||
| 	assert.EqualValues(t, label.Name, newLabel.Name) | 	assert.EqualValues(t, label.Name, newLabel.Name) | ||||||
| 	assert.EqualValues(t, label.Description, newLabel.Description) | 	assert.EqualValues(t, label.Description, newLabel.Description) | ||||||
| 	CheckConsistencyFor(t, &Label{}, &Repository{}) | 	unittest.CheckConsistencyFor(t, &Label{}, &Repository{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteLabel(t *testing.T) { | func TestDeleteLabel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	assert.NoError(t, DeleteLabel(label.RepoID, label.ID)) | 	assert.NoError(t, DeleteLabel(label.RepoID, label.ID)) | ||||||
| 	db.AssertNotExistsBean(t, &Label{ID: label.ID, RepoID: label.RepoID}) | 	unittest.AssertNotExistsBean(t, &Label{ID: label.ID, RepoID: label.RepoID}) | ||||||
|  |  | ||||||
| 	assert.NoError(t, DeleteLabel(label.RepoID, label.ID)) | 	assert.NoError(t, DeleteLabel(label.RepoID, label.ID)) | ||||||
| 	db.AssertNotExistsBean(t, &Label{ID: label.ID}) | 	unittest.AssertNotExistsBean(t, &Label{ID: label.ID}) | ||||||
|  |  | ||||||
| 	assert.NoError(t, DeleteLabel(db.NonexistentID, db.NonexistentID)) | 	assert.NoError(t, DeleteLabel(unittest.NonexistentID, unittest.NonexistentID)) | ||||||
| 	CheckConsistencyFor(t, &Label{}, &Repository{}) | 	unittest.CheckConsistencyFor(t, &Label{}, &Repository{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestHasIssueLabel(t *testing.T) { | func TestHasIssueLabel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	assert.True(t, HasIssueLabel(1, 1)) | 	assert.True(t, HasIssueLabel(1, 1)) | ||||||
| 	assert.False(t, HasIssueLabel(1, 2)) | 	assert.False(t, HasIssueLabel(1, 2)) | ||||||
| 	assert.False(t, HasIssueLabel(db.NonexistentID, db.NonexistentID)) | 	assert.False(t, HasIssueLabel(unittest.NonexistentID, unittest.NonexistentID)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestNewIssueLabel(t *testing.T) { | func TestNewIssueLabel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label := db.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | 	label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
| 	doer := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	doer := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	// add new IssueLabel | 	// add new IssueLabel | ||||||
| 	prevNumIssues := label.NumIssues | 	prevNumIssues := label.NumIssues | ||||||
| 	assert.NoError(t, NewIssueLabel(issue, label, doer)) | 	assert.NoError(t, NewIssueLabel(issue, label, doer)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | 	unittest.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Comment{ | 	unittest.AssertExistsAndLoadBean(t, &Comment{ | ||||||
| 		Type:     CommentTypeLabel, | 		Type:     CommentTypeLabel, | ||||||
| 		PosterID: doer.ID, | 		PosterID: doer.ID, | ||||||
| 		IssueID:  issue.ID, | 		IssueID:  issue.ID, | ||||||
| 		LabelID:  label.ID, | 		LabelID:  label.ID, | ||||||
| 		Content:  "1", | 		Content:  "1", | ||||||
| 	}) | 	}) | ||||||
| 	label = db.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | 	label = unittest.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | ||||||
| 	assert.EqualValues(t, prevNumIssues+1, label.NumIssues) | 	assert.EqualValues(t, prevNumIssues+1, label.NumIssues) | ||||||
|  |  | ||||||
| 	// re-add existing IssueLabel | 	// re-add existing IssueLabel | ||||||
| 	assert.NoError(t, NewIssueLabel(issue, label, doer)) | 	assert.NoError(t, NewIssueLabel(issue, label, doer)) | ||||||
| 	CheckConsistencyFor(t, &Issue{}, &Label{}) | 	unittest.CheckConsistencyFor(t, &Issue{}, &Label{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestNewIssueLabels(t *testing.T) { | func TestNewIssueLabels(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	label1 := db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label1 := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	label2 := db.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | 	label2 := unittest.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 5}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 5}).(*Issue) | ||||||
| 	doer := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	doer := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	assert.NoError(t, NewIssueLabels(issue, []*Label{label1, label2}, doer)) | 	assert.NoError(t, NewIssueLabels(issue, []*Label{label1, label2}, doer)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label1.ID}) | 	unittest.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label1.ID}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Comment{ | 	unittest.AssertExistsAndLoadBean(t, &Comment{ | ||||||
| 		Type:     CommentTypeLabel, | 		Type:     CommentTypeLabel, | ||||||
| 		PosterID: doer.ID, | 		PosterID: doer.ID, | ||||||
| 		IssueID:  issue.ID, | 		IssueID:  issue.ID, | ||||||
| 		LabelID:  label1.ID, | 		LabelID:  label1.ID, | ||||||
| 		Content:  "1", | 		Content:  "1", | ||||||
| 	}) | 	}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label1.ID}) | 	unittest.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label1.ID}) | ||||||
| 	label1 = db.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | 	label1 = unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) | ||||||
| 	assert.EqualValues(t, 3, label1.NumIssues) | 	assert.EqualValues(t, 3, label1.NumIssues) | ||||||
| 	assert.EqualValues(t, 1, label1.NumClosedIssues) | 	assert.EqualValues(t, 1, label1.NumClosedIssues) | ||||||
| 	label2 = db.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | 	label2 = unittest.AssertExistsAndLoadBean(t, &Label{ID: 2}).(*Label) | ||||||
| 	assert.EqualValues(t, 1, label2.NumIssues) | 	assert.EqualValues(t, 1, label2.NumIssues) | ||||||
| 	assert.EqualValues(t, 1, label2.NumClosedIssues) | 	assert.EqualValues(t, 1, label2.NumClosedIssues) | ||||||
|  |  | ||||||
| 	// corner case: test empty slice | 	// corner case: test empty slice | ||||||
| 	assert.NoError(t, NewIssueLabels(issue, []*Label{}, doer)) | 	assert.NoError(t, NewIssueLabels(issue, []*Label{}, doer)) | ||||||
|  |  | ||||||
| 	CheckConsistencyFor(t, &Issue{}, &Label{}) | 	unittest.CheckConsistencyFor(t, &Issue{}, &Label{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteIssueLabel(t *testing.T) { | func TestDeleteIssueLabel(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	testSuccess := func(labelID, issueID, doerID int64) { | 	testSuccess := func(labelID, issueID, doerID int64) { | ||||||
| 		label := db.AssertExistsAndLoadBean(t, &Label{ID: labelID}).(*Label) | 		label := unittest.AssertExistsAndLoadBean(t, &Label{ID: labelID}).(*Label) | ||||||
| 		issue := db.AssertExistsAndLoadBean(t, &Issue{ID: issueID}).(*Issue) | 		issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: issueID}).(*Issue) | ||||||
| 		doer := db.AssertExistsAndLoadBean(t, &User{ID: doerID}).(*User) | 		doer := unittest.AssertExistsAndLoadBean(t, &User{ID: doerID}).(*User) | ||||||
|  |  | ||||||
| 		expectedNumIssues := label.NumIssues | 		expectedNumIssues := label.NumIssues | ||||||
| 		expectedNumClosedIssues := label.NumClosedIssues | 		expectedNumClosedIssues := label.NumClosedIssues | ||||||
| 		if db.BeanExists(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) { | 		if unittest.BeanExists(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) { | ||||||
| 			expectedNumIssues-- | 			expectedNumIssues-- | ||||||
| 			if issue.IsClosed { | 			if issue.IsClosed { | ||||||
| 				expectedNumClosedIssues-- | 				expectedNumClosedIssues-- | ||||||
| @@ -363,14 +363,14 @@ func TestDeleteIssueLabel(t *testing.T) { | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		assert.NoError(t, DeleteIssueLabel(issue, label, doer)) | 		assert.NoError(t, DeleteIssueLabel(issue, label, doer)) | ||||||
| 		db.AssertNotExistsBean(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) | 		unittest.AssertNotExistsBean(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) | ||||||
| 		db.AssertExistsAndLoadBean(t, &Comment{ | 		unittest.AssertExistsAndLoadBean(t, &Comment{ | ||||||
| 			Type:     CommentTypeLabel, | 			Type:     CommentTypeLabel, | ||||||
| 			PosterID: doerID, | 			PosterID: doerID, | ||||||
| 			IssueID:  issueID, | 			IssueID:  issueID, | ||||||
| 			LabelID:  labelID, | 			LabelID:  labelID, | ||||||
| 		}, `content=""`) | 		}, `content=""`) | ||||||
| 		label = db.AssertExistsAndLoadBean(t, &Label{ID: labelID}).(*Label) | 		label = unittest.AssertExistsAndLoadBean(t, &Label{ID: labelID}).(*Label) | ||||||
| 		assert.EqualValues(t, expectedNumIssues, label.NumIssues) | 		assert.EqualValues(t, expectedNumIssues, label.NumIssues) | ||||||
| 		assert.EqualValues(t, expectedNumClosedIssues, label.NumClosedIssues) | 		assert.EqualValues(t, expectedNumClosedIssues, label.NumClosedIssues) | ||||||
| 	} | 	} | ||||||
| @@ -378,5 +378,5 @@ func TestDeleteIssueLabel(t *testing.T) { | |||||||
| 	testSuccess(2, 5, 2) | 	testSuccess(2, 5, 2) | ||||||
| 	testSuccess(1, 1, 2) // delete non-existent IssueLabel | 	testSuccess(1, 1, 2) // delete non-existent IssueLabel | ||||||
|  |  | ||||||
| 	CheckConsistencyFor(t, &Issue{}, &Label{}) | 	unittest.CheckConsistencyFor(t, &Issue{}, &Label{}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| @@ -18,9 +17,9 @@ func TestIssueList_LoadRepositories(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	issueList := IssueList{ | 	issueList := IssueList{ | ||||||
| 		db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue), | 		unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue), | ||||||
| 		db.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue), | 		unittest.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue), | ||||||
| 		db.AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue), | 		unittest.AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue), | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	repos, err := issueList.LoadRepositories() | 	repos, err := issueList.LoadRepositories() | ||||||
| @@ -35,8 +34,8 @@ func TestIssueList_LoadAttributes(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	setting.Service.EnableTimetracking = true | 	setting.Service.EnableTimetracking = true | ||||||
| 	issueList := IssueList{ | 	issueList := IssueList{ | ||||||
| 		db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue), | 		unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue), | ||||||
| 		db.AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue), | 		unittest.AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue), | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	assert.NoError(t, issueList.LoadAttributes()) | 	assert.NoError(t, issueList.LoadAttributes()) | ||||||
| @@ -44,7 +43,7 @@ func TestIssueList_LoadAttributes(t *testing.T) { | |||||||
| 		assert.EqualValues(t, issue.RepoID, issue.Repo.ID) | 		assert.EqualValues(t, issue.RepoID, issue.Repo.ID) | ||||||
| 		for _, label := range issue.Labels { | 		for _, label := range issue.Labels { | ||||||
| 			assert.EqualValues(t, issue.RepoID, label.RepoID) | 			assert.EqualValues(t, issue.RepoID, label.RepoID) | ||||||
| 			db.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | 			unittest.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label.ID}) | ||||||
| 		} | 		} | ||||||
| 		if issue.PosterID > 0 { | 		if issue.PosterID > 0 { | ||||||
| 			assert.EqualValues(t, issue.PosterID, issue.Poster.ID) | 			assert.EqualValues(t, issue.PosterID, issue.Poster.ID) | ||||||
|   | |||||||
| @@ -32,8 +32,8 @@ func TestNewMilestone(t *testing.T) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	assert.NoError(t, NewMilestone(milestone)) | 	assert.NoError(t, NewMilestone(milestone)) | ||||||
| 	db.AssertExistsAndLoadBean(t, milestone) | 	unittest.AssertExistsAndLoadBean(t, milestone) | ||||||
| 	CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetMilestoneByRepoID(t *testing.T) { | func TestGetMilestoneByRepoID(t *testing.T) { | ||||||
| @@ -44,14 +44,14 @@ func TestGetMilestoneByRepoID(t *testing.T) { | |||||||
| 	assert.EqualValues(t, 1, milestone.ID) | 	assert.EqualValues(t, 1, milestone.ID) | ||||||
| 	assert.EqualValues(t, 1, milestone.RepoID) | 	assert.EqualValues(t, 1, milestone.RepoID) | ||||||
|  |  | ||||||
| 	_, err = GetMilestoneByRepoID(db.NonexistentID, db.NonexistentID) | 	_, err = GetMilestoneByRepoID(unittest.NonexistentID, unittest.NonexistentID) | ||||||
| 	assert.True(t, IsErrMilestoneNotExist(err)) | 	assert.True(t, IsErrMilestoneNotExist(err)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetMilestonesByRepoID(t *testing.T) { | func TestGetMilestonesByRepoID(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	test := func(repoID int64, state api.StateType) { | 	test := func(repoID int64, state api.StateType) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		milestones, _, err := GetMilestones(GetMilestonesOption{ | 		milestones, _, err := GetMilestones(GetMilestonesOption{ | ||||||
| 			RepoID: repo.ID, | 			RepoID: repo.ID, | ||||||
| 			State:  state, | 			State:  state, | ||||||
| @@ -90,7 +90,7 @@ func TestGetMilestonesByRepoID(t *testing.T) { | |||||||
| 	test(3, api.StateAll) | 	test(3, api.StateAll) | ||||||
|  |  | ||||||
| 	milestones, _, err := GetMilestones(GetMilestonesOption{ | 	milestones, _, err := GetMilestones(GetMilestonesOption{ | ||||||
| 		RepoID: db.NonexistentID, | 		RepoID: unittest.NonexistentID, | ||||||
| 		State:  api.StateOpen, | 		State:  api.StateOpen, | ||||||
| 	}) | 	}) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -99,7 +99,7 @@ func TestGetMilestonesByRepoID(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetMilestones(t *testing.T) { | func TestGetMilestones(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	test := func(sortType string, sortCond func(*Milestone) int) { | 	test := func(sortType string, sortCond func(*Milestone) int) { | ||||||
| 		for _, page := range []int{0, 1} { | 		for _, page := range []int{0, 1} { | ||||||
| 			milestones, _, err := GetMilestones(GetMilestonesOption{ | 			milestones, _, err := GetMilestones(GetMilestonesOption{ | ||||||
| @@ -161,19 +161,19 @@ func TestGetMilestones(t *testing.T) { | |||||||
| func TestUpdateMilestone(t *testing.T) { | func TestUpdateMilestone(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	milestone := db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | 	milestone := unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | ||||||
| 	milestone.Name = " newMilestoneName  " | 	milestone.Name = " newMilestoneName  " | ||||||
| 	milestone.Content = "newMilestoneContent" | 	milestone.Content = "newMilestoneContent" | ||||||
| 	assert.NoError(t, UpdateMilestone(milestone, milestone.IsClosed)) | 	assert.NoError(t, UpdateMilestone(milestone, milestone.IsClosed)) | ||||||
| 	milestone = db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | 	milestone = unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | ||||||
| 	assert.EqualValues(t, "newMilestoneName", milestone.Name) | 	assert.EqualValues(t, "newMilestoneName", milestone.Name) | ||||||
| 	CheckConsistencyFor(t, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Milestone{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestCountRepoMilestones(t *testing.T) { | func TestCountRepoMilestones(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	test := func(repoID int64) { | 	test := func(repoID int64) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		count, err := countRepoMilestones(db.GetEngine(db.DefaultContext), repoID) | 		count, err := countRepoMilestones(db.GetEngine(db.DefaultContext), repoID) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.EqualValues(t, repo.NumMilestones, count) | 		assert.EqualValues(t, repo.NumMilestones, count) | ||||||
| @@ -182,7 +182,7 @@ func TestCountRepoMilestones(t *testing.T) { | |||||||
| 	test(2) | 	test(2) | ||||||
| 	test(3) | 	test(3) | ||||||
|  |  | ||||||
| 	count, err := countRepoMilestones(db.GetEngine(db.DefaultContext), db.NonexistentID) | 	count, err := countRepoMilestones(db.GetEngine(db.DefaultContext), unittest.NonexistentID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.EqualValues(t, 0, count) | 	assert.EqualValues(t, 0, count) | ||||||
| } | } | ||||||
| @@ -190,7 +190,7 @@ func TestCountRepoMilestones(t *testing.T) { | |||||||
| func TestCountRepoClosedMilestones(t *testing.T) { | func TestCountRepoClosedMilestones(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	test := func(repoID int64) { | 	test := func(repoID int64) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		count, err := CountRepoClosedMilestones(repoID) | 		count, err := CountRepoClosedMilestones(repoID) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.EqualValues(t, repo.NumClosedMilestones, count) | 		assert.EqualValues(t, repo.NumClosedMilestones, count) | ||||||
| @@ -199,27 +199,27 @@ func TestCountRepoClosedMilestones(t *testing.T) { | |||||||
| 	test(2) | 	test(2) | ||||||
| 	test(3) | 	test(3) | ||||||
|  |  | ||||||
| 	count, err := CountRepoClosedMilestones(db.NonexistentID) | 	count, err := CountRepoClosedMilestones(unittest.NonexistentID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.EqualValues(t, 0, count) | 	assert.EqualValues(t, 0, count) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestChangeMilestoneStatus(t *testing.T) { | func TestChangeMilestoneStatus(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	milestone := db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | 	milestone := unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | ||||||
|  |  | ||||||
| 	assert.NoError(t, ChangeMilestoneStatus(milestone, true)) | 	assert.NoError(t, ChangeMilestoneStatus(milestone, true)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}, "is_closed=1") | 	unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}, "is_closed=1") | ||||||
| 	CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | ||||||
|  |  | ||||||
| 	assert.NoError(t, ChangeMilestoneStatus(milestone, false)) | 	assert.NoError(t, ChangeMilestoneStatus(milestone, false)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}, "is_closed=0") | 	unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}, "is_closed=0") | ||||||
| 	CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Repository{ID: milestone.RepoID}, &Milestone{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateMilestoneCounters(t *testing.T) { | func TestUpdateMilestoneCounters(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{MilestoneID: 1}, | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{MilestoneID: 1}, | ||||||
| 		"is_closed=0").(*Issue) | 		"is_closed=0").(*Issue) | ||||||
|  |  | ||||||
| 	issue.IsClosed = true | 	issue.IsClosed = true | ||||||
| @@ -227,48 +227,48 @@ func TestUpdateMilestoneCounters(t *testing.T) { | |||||||
| 	_, err := db.GetEngine(db.DefaultContext).ID(issue.ID).Cols("is_closed", "closed_unix").Update(issue) | 	_, err := db.GetEngine(db.DefaultContext).ID(issue.ID).Cols("is_closed", "closed_unix").Update(issue) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.NoError(t, updateMilestoneCounters(db.GetEngine(db.DefaultContext), issue.MilestoneID)) | 	assert.NoError(t, updateMilestoneCounters(db.GetEngine(db.DefaultContext), issue.MilestoneID)) | ||||||
| 	CheckConsistencyFor(t, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Milestone{}) | ||||||
|  |  | ||||||
| 	issue.IsClosed = false | 	issue.IsClosed = false | ||||||
| 	issue.ClosedUnix = 0 | 	issue.ClosedUnix = 0 | ||||||
| 	_, err = db.GetEngine(db.DefaultContext).ID(issue.ID).Cols("is_closed", "closed_unix").Update(issue) | 	_, err = db.GetEngine(db.DefaultContext).ID(issue.ID).Cols("is_closed", "closed_unix").Update(issue) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.NoError(t, updateMilestoneCounters(db.GetEngine(db.DefaultContext), issue.MilestoneID)) | 	assert.NoError(t, updateMilestoneCounters(db.GetEngine(db.DefaultContext), issue.MilestoneID)) | ||||||
| 	CheckConsistencyFor(t, &Milestone{}) | 	unittest.CheckConsistencyFor(t, &Milestone{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestChangeMilestoneAssign(t *testing.T) { | func TestChangeMilestoneAssign(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{RepoID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{RepoID: 1}).(*Issue) | ||||||
| 	doer := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	doer := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	assert.NotNil(t, issue) | 	assert.NotNil(t, issue) | ||||||
| 	assert.NotNil(t, doer) | 	assert.NotNil(t, doer) | ||||||
|  |  | ||||||
| 	oldMilestoneID := issue.MilestoneID | 	oldMilestoneID := issue.MilestoneID | ||||||
| 	issue.MilestoneID = 2 | 	issue.MilestoneID = 2 | ||||||
| 	assert.NoError(t, ChangeMilestoneAssign(issue, doer, oldMilestoneID)) | 	assert.NoError(t, ChangeMilestoneAssign(issue, doer, oldMilestoneID)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Comment{ | 	unittest.AssertExistsAndLoadBean(t, &Comment{ | ||||||
| 		IssueID:        issue.ID, | 		IssueID:        issue.ID, | ||||||
| 		Type:           CommentTypeMilestone, | 		Type:           CommentTypeMilestone, | ||||||
| 		MilestoneID:    issue.MilestoneID, | 		MilestoneID:    issue.MilestoneID, | ||||||
| 		OldMilestoneID: oldMilestoneID, | 		OldMilestoneID: oldMilestoneID, | ||||||
| 	}) | 	}) | ||||||
| 	CheckConsistencyFor(t, &Milestone{}, &Issue{}) | 	unittest.CheckConsistencyFor(t, &Milestone{}, &Issue{}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteMilestoneByRepoID(t *testing.T) { | func TestDeleteMilestoneByRepoID(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	assert.NoError(t, DeleteMilestoneByRepoID(1, 1)) | 	assert.NoError(t, DeleteMilestoneByRepoID(1, 1)) | ||||||
| 	db.AssertNotExistsBean(t, &Milestone{ID: 1}) | 	unittest.AssertNotExistsBean(t, &Milestone{ID: 1}) | ||||||
| 	CheckConsistencyFor(t, &Repository{ID: 1}) | 	unittest.CheckConsistencyFor(t, &Repository{ID: 1}) | ||||||
|  |  | ||||||
| 	assert.NoError(t, DeleteMilestoneByRepoID(db.NonexistentID, db.NonexistentID)) | 	assert.NoError(t, DeleteMilestoneByRepoID(unittest.NonexistentID, unittest.NonexistentID)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestMilestoneList_LoadTotalTrackedTimes(t *testing.T) { | func TestMilestoneList_LoadTotalTrackedTimes(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	miles := MilestoneList{ | 	miles := MilestoneList{ | ||||||
| 		db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone), | 		unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone), | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	assert.NoError(t, miles.LoadTotalTrackedTimes()) | 	assert.NoError(t, miles.LoadTotalTrackedTimes()) | ||||||
| @@ -279,7 +279,7 @@ func TestMilestoneList_LoadTotalTrackedTimes(t *testing.T) { | |||||||
| func TestCountMilestonesByRepoIDs(t *testing.T) { | func TestCountMilestonesByRepoIDs(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	milestonesCount := func(repoID int64) (int, int) { | 	milestonesCount := func(repoID int64) (int, int) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		return repo.NumOpenMilestones, repo.NumClosedMilestones | 		return repo.NumOpenMilestones, repo.NumClosedMilestones | ||||||
| 	} | 	} | ||||||
| 	repo1OpenCount, repo1ClosedCount := milestonesCount(1) | 	repo1OpenCount, repo1ClosedCount := milestonesCount(1) | ||||||
| @@ -298,8 +298,8 @@ func TestCountMilestonesByRepoIDs(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetMilestonesByRepoIDs(t *testing.T) { | func TestGetMilestonesByRepoIDs(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	repo2 := db.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | 	repo2 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | ||||||
| 	test := func(sortType string, sortCond func(*Milestone) int) { | 	test := func(sortType string, sortCond func(*Milestone) int) { | ||||||
| 		for _, page := range []int{0, 1} { | 		for _, page := range []int{0, 1} { | ||||||
| 			openMilestones, err := GetMilestonesByRepoIDs([]int64{repo1.ID, repo2.ID}, page, false, sortType) | 			openMilestones, err := GetMilestonesByRepoIDs([]int64{repo1.ID, repo2.ID}, page, false, sortType) | ||||||
| @@ -343,7 +343,7 @@ func TestGetMilestonesByRepoIDs(t *testing.T) { | |||||||
|  |  | ||||||
| func TestLoadTotalTrackedTime(t *testing.T) { | func TestLoadTotalTrackedTime(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	milestone := db.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | 	milestone := unittest.AssertExistsAndLoadBean(t, &Milestone{ID: 1}).(*Milestone) | ||||||
|  |  | ||||||
| 	assert.NoError(t, milestone.LoadTotalTrackedTime()) | 	assert.NoError(t, milestone.LoadTotalTrackedTime()) | ||||||
|  |  | ||||||
| @@ -354,7 +354,7 @@ func TestGetMilestonesStats(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(repoID int64) { | 	test := func(repoID int64) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		stats, err := GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"repo_id": repoID})) | 		stats, err := GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"repo_id": repoID})) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.EqualValues(t, repo.NumMilestones-repo.NumClosedMilestones, stats.OpenCount) | 		assert.EqualValues(t, repo.NumMilestones-repo.NumClosedMilestones, stats.OpenCount) | ||||||
| @@ -364,13 +364,13 @@ func TestGetMilestonesStats(t *testing.T) { | |||||||
| 	test(2) | 	test(2) | ||||||
| 	test(3) | 	test(3) | ||||||
|  |  | ||||||
| 	stats, err := GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"repo_id": db.NonexistentID})) | 	stats, err := GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"repo_id": unittest.NonexistentID})) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.EqualValues(t, 0, stats.OpenCount) | 	assert.EqualValues(t, 0, stats.OpenCount) | ||||||
| 	assert.EqualValues(t, 0, stats.ClosedCount) | 	assert.EqualValues(t, 0, stats.ClosedCount) | ||||||
|  |  | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	repo2 := db.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | 	repo2 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | ||||||
|  |  | ||||||
| 	milestoneStats, err := GetMilestonesStatsByRepoCond(builder.In("repo_id", []int64{repo1.ID, repo2.ID})) | 	milestoneStats, err := GetMilestonesStatsByRepoCond(builder.In("repo_id", []int64{repo1.ID, repo2.ID})) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|   | |||||||
| @@ -28,21 +28,21 @@ func addReaction(t *testing.T, doer *User, issue *Issue, comment *Comment, conte | |||||||
| func TestIssueAddReaction(t *testing.T) { | func TestIssueAddReaction(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, nil, "heart") | 	addReaction(t, user1, issue1, nil, "heart") | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}) | 	unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIssueAddDuplicateReaction(t *testing.T) { | func TestIssueAddDuplicateReaction(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, nil, "heart") | 	addReaction(t, user1, issue1, nil, "heart") | ||||||
|  |  | ||||||
| @@ -54,23 +54,23 @@ func TestIssueAddDuplicateReaction(t *testing.T) { | |||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| 	assert.Equal(t, ErrReactionAlreadyExist{Reaction: "heart"}, err) | 	assert.Equal(t, ErrReactionAlreadyExist{Reaction: "heart"}, err) | ||||||
|  |  | ||||||
| 	existingR := db.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}).(*Reaction) | 	existingR := unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}).(*Reaction) | ||||||
| 	assert.Equal(t, existingR.ID, reaction.ID) | 	assert.Equal(t, existingR.ID, reaction.ID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIssueDeleteReaction(t *testing.T) { | func TestIssueDeleteReaction(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, nil, "heart") | 	addReaction(t, user1, issue1, nil, "heart") | ||||||
|  |  | ||||||
| 	err := DeleteIssueReaction(user1, issue1, "heart") | 	err := DeleteIssueReaction(user1, issue1, "heart") | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}) | 	unittest.AssertNotExistsBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIssueReactionCount(t *testing.T) { | func TestIssueReactionCount(t *testing.T) { | ||||||
| @@ -78,13 +78,13 @@ func TestIssueReactionCount(t *testing.T) { | |||||||
|  |  | ||||||
| 	setting.UI.ReactionMaxUserNum = 2 | 	setting.UI.ReactionMaxUserNum = 2 | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | 	user4 := unittest.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | ||||||
| 	ghost := NewGhostUser() | 	ghost := NewGhostUser() | ||||||
|  |  | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue, nil, "heart") | 	addReaction(t, user1, issue, nil, "heart") | ||||||
| 	addReaction(t, user2, issue, nil, "heart") | 	addReaction(t, user2, issue, nil, "heart") | ||||||
| @@ -114,29 +114,29 @@ func TestIssueReactionCount(t *testing.T) { | |||||||
| func TestIssueCommentAddReaction(t *testing.T) { | func TestIssueCommentAddReaction(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	comment1 := db.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | 	comment1 := unittest.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, comment1, "heart") | 	addReaction(t, user1, issue1, comment1, "heart") | ||||||
|  |  | ||||||
| 	db.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID, CommentID: comment1.ID}) | 	unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID, CommentID: comment1.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIssueCommentDeleteReaction(t *testing.T) { | func TestIssueCommentDeleteReaction(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	user2 := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user2 := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	user3 := db.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | 	user3 := unittest.AssertExistsAndLoadBean(t, &User{ID: 3}).(*User) | ||||||
| 	user4 := db.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | 	user4 := unittest.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
| 	repo1 := db.AssertExistsAndLoadBean(t, &Repository{ID: issue1.RepoID}).(*Repository) | 	repo1 := unittest.AssertExistsAndLoadBean(t, &Repository{ID: issue1.RepoID}).(*Repository) | ||||||
|  |  | ||||||
| 	comment1 := db.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | 	comment1 := unittest.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, comment1, "heart") | 	addReaction(t, user1, issue1, comment1, "heart") | ||||||
| 	addReaction(t, user2, issue1, comment1, "heart") | 	addReaction(t, user2, issue1, comment1, "heart") | ||||||
| @@ -155,14 +155,14 @@ func TestIssueCommentDeleteReaction(t *testing.T) { | |||||||
| func TestIssueCommentReactionCount(t *testing.T) { | func TestIssueCommentReactionCount(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	user1 := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user1 := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
|  |  | ||||||
| 	issue1 := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue1 := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	comment1 := db.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | 	comment1 := unittest.AssertExistsAndLoadBean(t, &Comment{ID: 1}).(*Comment) | ||||||
|  |  | ||||||
| 	addReaction(t, user1, issue1, comment1, "heart") | 	addReaction(t, user1, issue1, comment1, "heart") | ||||||
| 	assert.NoError(t, DeleteCommentReaction(user1, issue1, comment1, "heart")) | 	assert.NoError(t, DeleteCommentReaction(user1, issue1, comment1, "heart")) | ||||||
|  |  | ||||||
| 	db.AssertNotExistsBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID, CommentID: comment1.ID}) | 	unittest.AssertNotExistsBean(t, &Reaction{Type: "heart", UserID: user1.ID, IssueID: issue1.ID, CommentID: comment1.ID}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
|  |  | ||||||
| @@ -27,9 +26,9 @@ func TestCancelStopwatch(t *testing.T) { | |||||||
|  |  | ||||||
| 	err = CancelStopwatch(user1, issue1) | 	err = CancelStopwatch(user1, issue1) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	db.AssertNotExistsBean(t, &Stopwatch{UserID: user1.ID, IssueID: issue1.ID}) | 	unittest.AssertNotExistsBean(t, &Stopwatch{UserID: user1.ID, IssueID: issue1.ID}) | ||||||
|  |  | ||||||
| 	_ = db.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeCancelTracking, PosterID: user1.ID, IssueID: issue1.ID}) | 	_ = unittest.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeCancelTracking, PosterID: user1.ID, IssueID: issue1.ID}) | ||||||
|  |  | ||||||
| 	assert.Nil(t, CancelStopwatch(user1, issue2)) | 	assert.Nil(t, CancelStopwatch(user1, issue2)) | ||||||
| } | } | ||||||
| @@ -68,10 +67,10 @@ func TestCreateOrStopIssueStopwatch(t *testing.T) { | |||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
| 	assert.NoError(t, CreateOrStopIssueStopwatch(user3, issue1)) | 	assert.NoError(t, CreateOrStopIssueStopwatch(user3, issue1)) | ||||||
| 	sw := db.AssertExistsAndLoadBean(t, &Stopwatch{UserID: 3, IssueID: 1}).(*Stopwatch) | 	sw := unittest.AssertExistsAndLoadBean(t, &Stopwatch{UserID: 3, IssueID: 1}).(*Stopwatch) | ||||||
| 	assert.LessOrEqual(t, sw.CreatedUnix, timeutil.TimeStampNow()) | 	assert.LessOrEqual(t, sw.CreatedUnix, timeutil.TimeStampNow()) | ||||||
|  |  | ||||||
| 	assert.NoError(t, CreateOrStopIssueStopwatch(user2, issue2)) | 	assert.NoError(t, CreateOrStopIssueStopwatch(user2, issue2)) | ||||||
| 	db.AssertNotExistsBean(t, &Stopwatch{UserID: 2, IssueID: 2}) | 	unittest.AssertNotExistsBean(t, &Stopwatch{UserID: 2, IssueID: 2}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &TrackedTime{UserID: 2, IssueID: 2}) | 	unittest.AssertExistsAndLoadBean(t, &TrackedTime{UserID: 2, IssueID: 2}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -20,18 +20,18 @@ func TestIssue_ReplaceLabels(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(issueID int64, labelIDs []int64) { | 	testSuccess := func(issueID int64, labelIDs []int64) { | ||||||
| 		issue := db.AssertExistsAndLoadBean(t, &Issue{ID: issueID}).(*Issue) | 		issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: issueID}).(*Issue) | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository) | ||||||
| 		doer := db.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | 		doer := unittest.AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User) | ||||||
|  |  | ||||||
| 		labels := make([]*Label, len(labelIDs)) | 		labels := make([]*Label, len(labelIDs)) | ||||||
| 		for i, labelID := range labelIDs { | 		for i, labelID := range labelIDs { | ||||||
| 			labels[i] = db.AssertExistsAndLoadBean(t, &Label{ID: labelID, RepoID: repo.ID}).(*Label) | 			labels[i] = unittest.AssertExistsAndLoadBean(t, &Label{ID: labelID, RepoID: repo.ID}).(*Label) | ||||||
| 		} | 		} | ||||||
| 		assert.NoError(t, issue.ReplaceLabels(labels, doer)) | 		assert.NoError(t, issue.ReplaceLabels(labels, doer)) | ||||||
| 		db.AssertCount(t, &IssueLabel{IssueID: issueID}, len(labelIDs)) | 		unittest.AssertCount(t, &IssueLabel{IssueID: issueID}, len(labelIDs)) | ||||||
| 		for _, labelID := range labelIDs { | 		for _, labelID := range labelIDs { | ||||||
| 			db.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) | 			unittest.AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issueID, LabelID: labelID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -50,7 +50,7 @@ func Test_GetIssueIDsByRepoID(t *testing.T) { | |||||||
|  |  | ||||||
| func TestIssueAPIURL(t *testing.T) { | func TestIssueAPIURL(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
| 	err := issue.LoadAttributes() | 	err := issue.LoadAttributes() | ||||||
|  |  | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -69,7 +69,7 @@ func TestGetIssuesByIDs(t *testing.T) { | |||||||
| 		assert.Equal(t, expectedIssueIDs, actualIssueIDs) | 		assert.Equal(t, expectedIssueIDs, actualIssueIDs) | ||||||
| 	} | 	} | ||||||
| 	testSuccess([]int64{1, 2, 3}, []int64{}) | 	testSuccess([]int64{1, 2, 3}, []int64{}) | ||||||
| 	testSuccess([]int64{1, 2, 3}, []int64{db.NonexistentID}) | 	testSuccess([]int64{1, 2, 3}, []int64{unittest.NonexistentID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetParticipantIDsByIssue(t *testing.T) { | func TestGetParticipantIDsByIssue(t *testing.T) { | ||||||
| @@ -108,16 +108,16 @@ func TestIssue_ClearLabels(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 	for _, test := range tests { | 	for _, test := range tests { | ||||||
| 		assert.NoError(t, unittest.PrepareTestDatabase()) | 		assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 		issue := db.AssertExistsAndLoadBean(t, &Issue{ID: test.issueID}).(*Issue) | 		issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: test.issueID}).(*Issue) | ||||||
| 		doer := db.AssertExistsAndLoadBean(t, &User{ID: test.doerID}).(*User) | 		doer := unittest.AssertExistsAndLoadBean(t, &User{ID: test.doerID}).(*User) | ||||||
| 		assert.NoError(t, issue.ClearLabels(doer)) | 		assert.NoError(t, issue.ClearLabels(doer)) | ||||||
| 		db.AssertNotExistsBean(t, &IssueLabel{IssueID: test.issueID}) | 		unittest.AssertNotExistsBean(t, &IssueLabel{IssueID: test.issueID}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateIssueCols(t *testing.T) { | func TestUpdateIssueCols(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{}).(*Issue) | ||||||
|  |  | ||||||
| 	const newTitle = "New Title for unit test" | 	const newTitle = "New Title for unit test" | ||||||
| 	issue.Title = newTitle | 	issue.Title = newTitle | ||||||
| @@ -129,10 +129,10 @@ func TestUpdateIssueCols(t *testing.T) { | |||||||
| 	assert.NoError(t, updateIssueCols(db.GetEngine(db.DefaultContext), issue, "name")) | 	assert.NoError(t, updateIssueCols(db.GetEngine(db.DefaultContext), issue, "name")) | ||||||
| 	then := time.Now().Unix() | 	then := time.Now().Unix() | ||||||
|  |  | ||||||
| 	updatedIssue := db.AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue) | 	updatedIssue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue) | ||||||
| 	assert.EqualValues(t, newTitle, updatedIssue.Title) | 	assert.EqualValues(t, newTitle, updatedIssue.Title) | ||||||
| 	assert.EqualValues(t, prevContent, updatedIssue.Content) | 	assert.EqualValues(t, prevContent, updatedIssue.Content) | ||||||
| 	db.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix)) | 	unittest.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIssues(t *testing.T) { | func TestIssues(t *testing.T) { | ||||||
| @@ -321,7 +321,7 @@ func TestIssue_SearchIssueIDsByKeyword(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetRepoIDsForIssuesOptions(t *testing.T) { | func TestGetRepoIDsForIssuesOptions(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	for _, test := range []struct { | 	for _, test := range []struct { | ||||||
| 		Opts            IssuesOptions | 		Opts            IssuesOptions | ||||||
| 		ExpectedRepoIDs []int64 | 		ExpectedRepoIDs []int64 | ||||||
| @@ -352,8 +352,8 @@ func TestGetRepoIDsForIssuesOptions(t *testing.T) { | |||||||
| func testInsertIssue(t *testing.T, title, content string, expectIndex int64) *Issue { | func testInsertIssue(t *testing.T, title, content string, expectIndex int64) *Issue { | ||||||
| 	var newIssue Issue | 	var newIssue Issue | ||||||
| 	t.Run(title, func(t *testing.T) { | 	t.Run(title, func(t *testing.T) { | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 		user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 		user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 		issue := Issue{ | 		issue := Issue{ | ||||||
| 			RepoID:   repo.ID, | 			RepoID:   repo.ID, | ||||||
| @@ -395,10 +395,10 @@ func TestIssue_ResolveMentions(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(owner, repo, doer string, mentions []string, expected []int64) { | 	testSuccess := func(owner, repo, doer string, mentions []string, expected []int64) { | ||||||
| 		o := db.AssertExistsAndLoadBean(t, &User{LowerName: owner}).(*User) | 		o := unittest.AssertExistsAndLoadBean(t, &User{LowerName: owner}).(*User) | ||||||
| 		r := db.AssertExistsAndLoadBean(t, &Repository{OwnerID: o.ID, LowerName: repo}).(*Repository) | 		r := unittest.AssertExistsAndLoadBean(t, &Repository{OwnerID: o.ID, LowerName: repo}).(*Repository) | ||||||
| 		issue := &Issue{RepoID: r.ID} | 		issue := &Issue{RepoID: r.ID} | ||||||
| 		d := db.AssertExistsAndLoadBean(t, &User{LowerName: doer}).(*User) | 		d := unittest.AssertExistsAndLoadBean(t, &User{LowerName: doer}).(*User) | ||||||
| 		resolved, err := issue.ResolveMentionsByVisibility(db.DefaultContext, d, mentions) | 		resolved, err := issue.ResolveMentionsByVisibility(db.DefaultContext, d, mentions) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		ids := make([]int64, len(resolved)) | 		ids := make([]int64, len(resolved)) | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -29,10 +28,10 @@ func TestAddTime(t *testing.T) { | |||||||
| 	assert.Equal(t, int64(1), trackedTime.IssueID) | 	assert.Equal(t, int64(1), trackedTime.IssueID) | ||||||
| 	assert.Equal(t, int64(3661), trackedTime.Time) | 	assert.Equal(t, int64(3661), trackedTime.Time) | ||||||
|  |  | ||||||
| 	tt := db.AssertExistsAndLoadBean(t, &TrackedTime{UserID: 3, IssueID: 1}).(*TrackedTime) | 	tt := unittest.AssertExistsAndLoadBean(t, &TrackedTime{UserID: 3, IssueID: 1}).(*TrackedTime) | ||||||
| 	assert.Equal(t, int64(3661), tt.Time) | 	assert.Equal(t, int64(3661), tt.Time) | ||||||
|  |  | ||||||
| 	comment := db.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeAddTimeManual, PosterID: 3, IssueID: 1}).(*Comment) | 	comment := unittest.AssertExistsAndLoadBean(t, &Comment{Type: CommentTypeAddTimeManual, PosterID: 3, IssueID: 1}).(*Comment) | ||||||
| 	assert.Equal(t, comment.Content, "1h 1min 1s") | 	assert.Equal(t, comment.Content, "1h 1min 1s") | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ import ( | |||||||
| func Test_newIssueUsers(t *testing.T) { | func Test_newIssueUsers(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	newIssue := &Issue{ | 	newIssue := &Issue{ | ||||||
| 		RepoID:   repo.ID, | 		RepoID:   repo.ID, | ||||||
| 		PosterID: 4, | 		PosterID: 4, | ||||||
| @@ -25,35 +25,35 @@ func Test_newIssueUsers(t *testing.T) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// artificially insert new issue | 	// artificially insert new issue | ||||||
| 	db.AssertSuccessfulInsert(t, newIssue) | 	unittest.AssertSuccessfulInsert(t, newIssue) | ||||||
|  |  | ||||||
| 	assert.NoError(t, newIssueUsers(db.GetEngine(db.DefaultContext), repo, newIssue)) | 	assert.NoError(t, newIssueUsers(db.GetEngine(db.DefaultContext), repo, newIssue)) | ||||||
|  |  | ||||||
| 	// issue_user table should now have entries for new issue | 	// issue_user table should now have entries for new issue | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueUser{IssueID: newIssue.ID, UID: newIssue.PosterID}) | 	unittest.AssertExistsAndLoadBean(t, &IssueUser{IssueID: newIssue.ID, UID: newIssue.PosterID}) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueUser{IssueID: newIssue.ID, UID: repo.OwnerID}) | 	unittest.AssertExistsAndLoadBean(t, &IssueUser{IssueID: newIssue.ID, UID: repo.OwnerID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateIssueUserByRead(t *testing.T) { | func TestUpdateIssueUserByRead(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	assert.NoError(t, UpdateIssueUserByRead(4, issue.ID)) | 	assert.NoError(t, UpdateIssueUserByRead(4, issue.ID)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1") | 	unittest.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1") | ||||||
|  |  | ||||||
| 	assert.NoError(t, UpdateIssueUserByRead(4, issue.ID)) | 	assert.NoError(t, UpdateIssueUserByRead(4, issue.ID)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1") | 	unittest.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1") | ||||||
|  |  | ||||||
| 	assert.NoError(t, UpdateIssueUserByRead(db.NonexistentID, db.NonexistentID)) | 	assert.NoError(t, UpdateIssueUserByRead(unittest.NonexistentID, unittest.NonexistentID)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateIssueUsersByMentions(t *testing.T) { | func TestUpdateIssueUsersByMentions(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	uids := []int64{2, 5} | 	uids := []int64{2, 5} | ||||||
| 	assert.NoError(t, UpdateIssueUsersByMentions(db.DefaultContext, issue.ID, uids)) | 	assert.NoError(t, UpdateIssueUsersByMentions(db.DefaultContext, issue.ID, uids)) | ||||||
| 	for _, uid := range uids { | 	for _, uid := range uids { | ||||||
| 		db.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: uid}, "is_mentioned=1") | 		unittest.AssertExistsAndLoadBean(t, &IssueUser{IssueID: issue.ID, UID: uid}, "is_mentioned=1") | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -16,11 +16,11 @@ func TestCreateOrUpdateIssueWatch(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	assert.NoError(t, CreateOrUpdateIssueWatch(3, 1, true)) | 	assert.NoError(t, CreateOrUpdateIssueWatch(3, 1, true)) | ||||||
| 	iw := db.AssertExistsAndLoadBean(t, &IssueWatch{UserID: 3, IssueID: 1}).(*IssueWatch) | 	iw := unittest.AssertExistsAndLoadBean(t, &IssueWatch{UserID: 3, IssueID: 1}).(*IssueWatch) | ||||||
| 	assert.True(t, iw.IsWatching) | 	assert.True(t, iw.IsWatching) | ||||||
|  |  | ||||||
| 	assert.NoError(t, CreateOrUpdateIssueWatch(1, 1, false)) | 	assert.NoError(t, CreateOrUpdateIssueWatch(1, 1, false)) | ||||||
| 	iw = db.AssertExistsAndLoadBean(t, &IssueWatch{UserID: 1, IssueID: 1}).(*IssueWatch) | 	iw = unittest.AssertExistsAndLoadBean(t, &IssueWatch{UserID: 1, IssueID: 1}).(*IssueWatch) | ||||||
| 	assert.False(t, iw.IsWatching) | 	assert.False(t, iw.IsWatching) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ func TestXRef_AddCrossReferences(t *testing.T) { | |||||||
| 	// PR to close issue #1 | 	// PR to close issue #1 | ||||||
| 	content := fmt.Sprintf("content2, closes #%d", itarget.Index) | 	content := fmt.Sprintf("content2, closes #%d", itarget.Index) | ||||||
| 	pr := testCreateIssue(t, 1, 2, "title2", content, true) | 	pr := testCreateIssue(t, 1, 2, "title2", content, true) | ||||||
| 	ref := db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: pr.ID, RefCommentID: 0}).(*Comment) | 	ref := unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: pr.ID, RefCommentID: 0}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypePullRef, ref.Type) | 	assert.Equal(t, CommentTypePullRef, ref.Type) | ||||||
| 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | ||||||
| 	assert.True(t, ref.RefIsPull) | 	assert.True(t, ref.RefIsPull) | ||||||
| @@ -33,7 +33,7 @@ func TestXRef_AddCrossReferences(t *testing.T) { | |||||||
| 	// Comment on PR to reopen issue #1 | 	// Comment on PR to reopen issue #1 | ||||||
| 	content = fmt.Sprintf("content2, reopens #%d", itarget.Index) | 	content = fmt.Sprintf("content2, reopens #%d", itarget.Index) | ||||||
| 	c := testCreateComment(t, 1, 2, pr.ID, content) | 	c := testCreateComment(t, 1, 2, pr.ID, content) | ||||||
| 	ref = db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: pr.ID, RefCommentID: c.ID}).(*Comment) | 	ref = unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: pr.ID, RefCommentID: c.ID}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypeCommentRef, ref.Type) | 	assert.Equal(t, CommentTypeCommentRef, ref.Type) | ||||||
| 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | ||||||
| 	assert.True(t, ref.RefIsPull) | 	assert.True(t, ref.RefIsPull) | ||||||
| @@ -42,7 +42,7 @@ func TestXRef_AddCrossReferences(t *testing.T) { | |||||||
| 	// Issue mentioning issue #1 | 	// Issue mentioning issue #1 | ||||||
| 	content = fmt.Sprintf("content3, mentions #%d", itarget.Index) | 	content = fmt.Sprintf("content3, mentions #%d", itarget.Index) | ||||||
| 	i := testCreateIssue(t, 1, 2, "title3", content, false) | 	i := testCreateIssue(t, 1, 2, "title3", content, false) | ||||||
| 	ref = db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | 	ref = unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | ||||||
| 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | 	assert.Equal(t, pr.RepoID, ref.RefRepoID) | ||||||
| 	assert.False(t, ref.RefIsPull) | 	assert.False(t, ref.RefIsPull) | ||||||
| @@ -54,7 +54,7 @@ func TestXRef_AddCrossReferences(t *testing.T) { | |||||||
| 	// Cross-reference to issue #4 by admin | 	// Cross-reference to issue #4 by admin | ||||||
| 	content = fmt.Sprintf("content5, mentions user3/repo3#%d", itarget.Index) | 	content = fmt.Sprintf("content5, mentions user3/repo3#%d", itarget.Index) | ||||||
| 	i = testCreateIssue(t, 2, 1, "title5", content, false) | 	i = testCreateIssue(t, 2, 1, "title5", content, false) | ||||||
| 	ref = db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | 	ref = unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | ||||||
| 	assert.Equal(t, i.RepoID, ref.RefRepoID) | 	assert.Equal(t, i.RepoID, ref.RefRepoID) | ||||||
| 	assert.False(t, ref.RefIsPull) | 	assert.False(t, ref.RefIsPull) | ||||||
| @@ -63,7 +63,7 @@ func TestXRef_AddCrossReferences(t *testing.T) { | |||||||
| 	// Cross-reference to issue #4 with no permission | 	// Cross-reference to issue #4 with no permission | ||||||
| 	content = fmt.Sprintf("content6, mentions user3/repo3#%d", itarget.Index) | 	content = fmt.Sprintf("content6, mentions user3/repo3#%d", itarget.Index) | ||||||
| 	i = testCreateIssue(t, 4, 5, "title6", content, false) | 	i = testCreateIssue(t, 4, 5, "title6", content, false) | ||||||
| 	db.AssertNotExistsBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}) | 	unittest.AssertNotExistsBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestXRef_NeuterCrossReferences(t *testing.T) { | func TestXRef_NeuterCrossReferences(t *testing.T) { | ||||||
| @@ -75,15 +75,15 @@ func TestXRef_NeuterCrossReferences(t *testing.T) { | |||||||
| 	// Issue mentioning issue #1 | 	// Issue mentioning issue #1 | ||||||
| 	title := fmt.Sprintf("title2, mentions #%d", itarget.Index) | 	title := fmt.Sprintf("title2, mentions #%d", itarget.Index) | ||||||
| 	i := testCreateIssue(t, 1, 2, title, "content2", false) | 	i := testCreateIssue(t, 1, 2, title, "content2", false) | ||||||
| 	ref := db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | 	ref := unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | ||||||
| 	assert.Equal(t, references.XRefActionNone, ref.RefAction) | 	assert.Equal(t, references.XRefActionNone, ref.RefAction) | ||||||
|  |  | ||||||
| 	d := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	d := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	i.Title = "title2, no mentions" | 	i.Title = "title2, no mentions" | ||||||
| 	assert.NoError(t, i.ChangeTitle(d, title)) | 	assert.NoError(t, i.ChangeTitle(d, title)) | ||||||
|  |  | ||||||
| 	ref = db.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | 	ref = unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: itarget.ID, RefIssueID: i.ID, RefCommentID: 0}).(*Comment) | ||||||
| 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | 	assert.Equal(t, CommentTypeIssueRef, ref.Type) | ||||||
| 	assert.Equal(t, references.XRefActionNeutered, ref.RefAction) | 	assert.Equal(t, references.XRefActionNeutered, ref.RefAction) | ||||||
| } | } | ||||||
| @@ -91,7 +91,7 @@ func TestXRef_NeuterCrossReferences(t *testing.T) { | |||||||
| func TestXRef_ResolveCrossReferences(t *testing.T) { | func TestXRef_ResolveCrossReferences(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	d := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	d := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
|  |  | ||||||
| 	i1 := testCreateIssue(t, 1, 2, "title1", "content1", false) | 	i1 := testCreateIssue(t, 1, 2, "title1", "content1", false) | ||||||
| 	i2 := testCreateIssue(t, 1, 2, "title2", "content2", false) | 	i2 := testCreateIssue(t, 1, 2, "title2", "content2", false) | ||||||
| @@ -100,21 +100,21 @@ func TestXRef_ResolveCrossReferences(t *testing.T) { | |||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
| 	pr := testCreatePR(t, 1, 2, "titlepr", fmt.Sprintf("closes #%d", i1.Index)) | 	pr := testCreatePR(t, 1, 2, "titlepr", fmt.Sprintf("closes #%d", i1.Index)) | ||||||
| 	rp := db.AssertExistsAndLoadBean(t, &Comment{IssueID: i1.ID, RefIssueID: pr.Issue.ID, RefCommentID: 0}).(*Comment) | 	rp := unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: i1.ID, RefIssueID: pr.Issue.ID, RefCommentID: 0}).(*Comment) | ||||||
|  |  | ||||||
| 	c1 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("closes #%d", i2.Index)) | 	c1 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("closes #%d", i2.Index)) | ||||||
| 	r1 := db.AssertExistsAndLoadBean(t, &Comment{IssueID: i2.ID, RefIssueID: pr.Issue.ID, RefCommentID: c1.ID}).(*Comment) | 	r1 := unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: i2.ID, RefIssueID: pr.Issue.ID, RefCommentID: c1.ID}).(*Comment) | ||||||
|  |  | ||||||
| 	// Must be ignored | 	// Must be ignored | ||||||
| 	c2 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("mentions #%d", i2.Index)) | 	c2 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("mentions #%d", i2.Index)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Comment{IssueID: i2.ID, RefIssueID: pr.Issue.ID, RefCommentID: c2.ID}) | 	unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: i2.ID, RefIssueID: pr.Issue.ID, RefCommentID: c2.ID}) | ||||||
|  |  | ||||||
| 	// Must be superseded by c4/r4 | 	// Must be superseded by c4/r4 | ||||||
| 	c3 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("reopens #%d", i3.Index)) | 	c3 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("reopens #%d", i3.Index)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Comment{IssueID: i3.ID, RefIssueID: pr.Issue.ID, RefCommentID: c3.ID}) | 	unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: i3.ID, RefIssueID: pr.Issue.ID, RefCommentID: c3.ID}) | ||||||
|  |  | ||||||
| 	c4 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("closes #%d", i3.Index)) | 	c4 := testCreateComment(t, 1, 2, pr.Issue.ID, fmt.Sprintf("closes #%d", i3.Index)) | ||||||
| 	r4 := db.AssertExistsAndLoadBean(t, &Comment{IssueID: i3.ID, RefIssueID: pr.Issue.ID, RefCommentID: c4.ID}).(*Comment) | 	r4 := unittest.AssertExistsAndLoadBean(t, &Comment{IssueID: i3.ID, RefIssueID: pr.Issue.ID, RefCommentID: c4.ID}).(*Comment) | ||||||
|  |  | ||||||
| 	refs, err := pr.ResolveCrossReferences() | 	refs, err := pr.ResolveCrossReferences() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -125,8 +125,8 @@ func TestXRef_ResolveCrossReferences(t *testing.T) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func testCreateIssue(t *testing.T, repo, doer int64, title, content string, ispull bool) *Issue { | func testCreateIssue(t *testing.T, repo, doer int64, title, content string, ispull bool) *Issue { | ||||||
| 	r := db.AssertExistsAndLoadBean(t, &Repository{ID: repo}).(*Repository) | 	r := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repo}).(*Repository) | ||||||
| 	d := db.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | 	d := unittest.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | ||||||
|  |  | ||||||
| 	idx, err := db.GetNextResourceIndex("issue_index", r.ID) | 	idx, err := db.GetNextResourceIndex("issue_index", r.ID) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -157,8 +157,8 @@ func testCreateIssue(t *testing.T, repo, doer int64, title, content string, ispu | |||||||
| } | } | ||||||
|  |  | ||||||
| func testCreatePR(t *testing.T, repo, doer int64, title, content string) *PullRequest { | func testCreatePR(t *testing.T, repo, doer int64, title, content string) *PullRequest { | ||||||
| 	r := db.AssertExistsAndLoadBean(t, &Repository{ID: repo}).(*Repository) | 	r := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repo}).(*Repository) | ||||||
| 	d := db.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | 	d := unittest.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | ||||||
| 	i := &Issue{RepoID: r.ID, PosterID: d.ID, Poster: d, Title: title, Content: content, IsPull: true} | 	i := &Issue{RepoID: r.ID, PosterID: d.ID, Poster: d, Title: title, Content: content, IsPull: true} | ||||||
| 	pr := &PullRequest{HeadRepoID: repo, BaseRepoID: repo, HeadBranch: "head", BaseBranch: "base", Status: PullRequestStatusMergeable} | 	pr := &PullRequest{HeadRepoID: repo, BaseRepoID: repo, HeadBranch: "head", BaseBranch: "base", Status: PullRequestStatusMergeable} | ||||||
| 	assert.NoError(t, NewPullRequest(r, i, nil, nil, pr)) | 	assert.NoError(t, NewPullRequest(r, i, nil, nil, pr)) | ||||||
| @@ -167,8 +167,8 @@ func testCreatePR(t *testing.T, repo, doer int64, title, content string) *PullRe | |||||||
| } | } | ||||||
|  |  | ||||||
| func testCreateComment(t *testing.T, repo, doer, issue int64, content string) *Comment { | func testCreateComment(t *testing.T, repo, doer, issue int64, content string) *Comment { | ||||||
| 	d := db.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | 	d := unittest.AssertExistsAndLoadBean(t, &User{ID: doer}).(*User) | ||||||
| 	i := db.AssertExistsAndLoadBean(t, &Issue{ID: issue}).(*Issue) | 	i := unittest.AssertExistsAndLoadBean(t, &Issue{ID: issue}).(*Issue) | ||||||
| 	c := &Comment{Type: CommentTypeComment, PosterID: doer, Poster: d, IssueID: issue, Issue: i, Content: content} | 	c := &Comment{Type: CommentTypeComment, PosterID: doer, Poster: d, IssueID: issue, Issue: i, Content: content} | ||||||
|  |  | ||||||
| 	sess := db.NewSession(db.DefaultContext) | 	sess := db.NewSession(db.DefaultContext) | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ package login | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -17,16 +16,16 @@ import ( | |||||||
|  |  | ||||||
| func TestOAuth2Application_GenerateClientSecret(t *testing.T) { | func TestOAuth2Application_GenerateClientSecret(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	app := db.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | 	app := unittest.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | ||||||
| 	secret, err := app.GenerateClientSecret() | 	secret, err := app.GenerateClientSecret() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.True(t, len(secret) > 0) | 	assert.True(t, len(secret) > 0) | ||||||
| 	db.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1, ClientSecret: app.ClientSecret}) | 	unittest.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1, ClientSecret: app.ClientSecret}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func BenchmarkOAuth2Application_GenerateClientSecret(b *testing.B) { | func BenchmarkOAuth2Application_GenerateClientSecret(b *testing.B) { | ||||||
| 	assert.NoError(b, unittest.PrepareTestDatabase()) | 	assert.NoError(b, unittest.PrepareTestDatabase()) | ||||||
| 	app := db.AssertExistsAndLoadBean(b, &OAuth2Application{ID: 1}).(*OAuth2Application) | 	app := unittest.AssertExistsAndLoadBean(b, &OAuth2Application{ID: 1}).(*OAuth2Application) | ||||||
| 	for i := 0; i < b.N; i++ { | 	for i := 0; i < b.N; i++ { | ||||||
| 		_, _ = app.GenerateClientSecret() | 		_, _ = app.GenerateClientSecret() | ||||||
| 	} | 	} | ||||||
| @@ -44,7 +43,7 @@ func TestOAuth2Application_ContainsRedirectURI(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2Application_ValidateClientSecret(t *testing.T) { | func TestOAuth2Application_ValidateClientSecret(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	app := db.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | 	app := unittest.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | ||||||
| 	secret, err := app.GenerateClientSecret() | 	secret, err := app.GenerateClientSecret() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.True(t, app.ValidateClientSecret([]byte(secret))) | 	assert.True(t, app.ValidateClientSecret([]byte(secret))) | ||||||
| @@ -68,7 +67,7 @@ func TestCreateOAuth2Application(t *testing.T) { | |||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Equal(t, "newapp", app.Name) | 	assert.Equal(t, "newapp", app.Name) | ||||||
| 	assert.Len(t, app.ClientID, 36) | 	assert.Len(t, app.ClientID, 36) | ||||||
| 	db.AssertExistsAndLoadBean(t, &OAuth2Application{Name: "newapp"}) | 	unittest.AssertExistsAndLoadBean(t, &OAuth2Application{Name: "newapp"}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestOAuth2Application_TableName(t *testing.T) { | func TestOAuth2Application_TableName(t *testing.T) { | ||||||
| @@ -77,7 +76,7 @@ func TestOAuth2Application_TableName(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2Application_GetGrantByUserID(t *testing.T) { | func TestOAuth2Application_GetGrantByUserID(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	app := db.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | 	app := unittest.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | ||||||
| 	grant, err := app.GetGrantByUserID(1) | 	grant, err := app.GetGrantByUserID(1) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Equal(t, int64(1), grant.UserID) | 	assert.Equal(t, int64(1), grant.UserID) | ||||||
| @@ -89,7 +88,7 @@ func TestOAuth2Application_GetGrantByUserID(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2Application_CreateGrant(t *testing.T) { | func TestOAuth2Application_CreateGrant(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	app := db.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | 	app := unittest.AssertExistsAndLoadBean(t, &OAuth2Application{ID: 1}).(*OAuth2Application) | ||||||
| 	grant, err := app.CreateGrant(2, "") | 	grant, err := app.CreateGrant(2, "") | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.NotNil(t, grant) | 	assert.NotNil(t, grant) | ||||||
| @@ -113,15 +112,15 @@ func TestGetOAuth2GrantByID(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2Grant_IncreaseCounter(t *testing.T) { | func TestOAuth2Grant_IncreaseCounter(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	grant := db.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Counter: 1}).(*OAuth2Grant) | 	grant := unittest.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Counter: 1}).(*OAuth2Grant) | ||||||
| 	assert.NoError(t, grant.IncreaseCounter()) | 	assert.NoError(t, grant.IncreaseCounter()) | ||||||
| 	assert.Equal(t, int64(2), grant.Counter) | 	assert.Equal(t, int64(2), grant.Counter) | ||||||
| 	db.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Counter: 2}) | 	unittest.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Counter: 2}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestOAuth2Grant_ScopeContains(t *testing.T) { | func TestOAuth2Grant_ScopeContains(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	grant := db.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Scope: "openid profile"}).(*OAuth2Grant) | 	grant := unittest.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1, Scope: "openid profile"}).(*OAuth2Grant) | ||||||
| 	assert.True(t, grant.ScopeContains("openid")) | 	assert.True(t, grant.ScopeContains("openid")) | ||||||
| 	assert.True(t, grant.ScopeContains("profile")) | 	assert.True(t, grant.ScopeContains("profile")) | ||||||
| 	assert.False(t, grant.ScopeContains("profil")) | 	assert.False(t, grant.ScopeContains("profil")) | ||||||
| @@ -130,7 +129,7 @@ func TestOAuth2Grant_ScopeContains(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2Grant_GenerateNewAuthorizationCode(t *testing.T) { | func TestOAuth2Grant_GenerateNewAuthorizationCode(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	grant := db.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1}).(*OAuth2Grant) | 	grant := unittest.AssertExistsAndLoadBean(t, &OAuth2Grant{ID: 1}).(*OAuth2Grant) | ||||||
| 	code, err := grant.GenerateNewAuthorizationCode("https://example2.com/callback", "CjvyTLSdR47G5zYenDA-eDWW4lRrO8yvjcWwbD_deOg", "S256") | 	code, err := grant.GenerateNewAuthorizationCode("https://example2.com/callback", "CjvyTLSdR47G5zYenDA-eDWW4lRrO8yvjcWwbD_deOg", "S256") | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.NotNil(t, code) | 	assert.NotNil(t, code) | ||||||
| @@ -157,7 +156,7 @@ func TestGetOAuth2GrantsByUserID(t *testing.T) { | |||||||
| func TestRevokeOAuth2Grant(t *testing.T) { | func TestRevokeOAuth2Grant(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	assert.NoError(t, RevokeOAuth2Grant(1, 1)) | 	assert.NoError(t, RevokeOAuth2Grant(1, 1)) | ||||||
| 	db.AssertNotExistsBean(t, &OAuth2Grant{ID: 1, UserID: 1}) | 	unittest.AssertNotExistsBean(t, &OAuth2Grant{ID: 1, UserID: 1}) | ||||||
| } | } | ||||||
|  |  | ||||||
| //////////////////// Authorization Code | //////////////////// Authorization Code | ||||||
| @@ -224,9 +223,9 @@ func TestOAuth2AuthorizationCode_GenerateRedirectURI(t *testing.T) { | |||||||
|  |  | ||||||
| func TestOAuth2AuthorizationCode_Invalidate(t *testing.T) { | func TestOAuth2AuthorizationCode_Invalidate(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	code := db.AssertExistsAndLoadBean(t, &OAuth2AuthorizationCode{Code: "authcode"}).(*OAuth2AuthorizationCode) | 	code := unittest.AssertExistsAndLoadBean(t, &OAuth2AuthorizationCode{Code: "authcode"}).(*OAuth2AuthorizationCode) | ||||||
| 	assert.NoError(t, code.Invalidate()) | 	assert.NoError(t, code.Invalidate()) | ||||||
| 	db.AssertNotExistsBean(t, &OAuth2AuthorizationCode{Code: "authcode"}) | 	unittest.AssertNotExistsBean(t, &OAuth2AuthorizationCode{Code: "authcode"}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestOAuth2AuthorizationCode_TableName(t *testing.T) { | func TestOAuth2AuthorizationCode_TableName(t *testing.T) { | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"encoding/hex" | 	"encoding/hex" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -43,18 +42,18 @@ func TestU2FRegistration_TableName(t *testing.T) { | |||||||
|  |  | ||||||
| func TestU2FRegistration_UpdateCounter(t *testing.T) { | func TestU2FRegistration_UpdateCounter(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	reg := db.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | 	reg := unittest.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | ||||||
| 	reg.Counter = 1 | 	reg.Counter = 1 | ||||||
| 	assert.NoError(t, reg.UpdateCounter()) | 	assert.NoError(t, reg.UpdateCounter()) | ||||||
| 	db.AssertExistsIf(t, true, &U2FRegistration{ID: 1, Counter: 1}) | 	unittest.AssertExistsIf(t, true, &U2FRegistration{ID: 1, Counter: 1}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestU2FRegistration_UpdateLargeCounter(t *testing.T) { | func TestU2FRegistration_UpdateLargeCounter(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	reg := db.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | 	reg := unittest.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | ||||||
| 	reg.Counter = 0xffffffff | 	reg.Counter = 0xffffffff | ||||||
| 	assert.NoError(t, reg.UpdateCounter()) | 	assert.NoError(t, reg.UpdateCounter()) | ||||||
| 	db.AssertExistsIf(t, true, &U2FRegistration{ID: 1, Counter: 0xffffffff}) | 	unittest.AssertExistsIf(t, true, &U2FRegistration{ID: 1, Counter: 0xffffffff}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestCreateRegistration(t *testing.T) { | func TestCreateRegistration(t *testing.T) { | ||||||
| @@ -65,15 +64,15 @@ func TestCreateRegistration(t *testing.T) { | |||||||
| 	assert.Equal(t, "U2F Created Key", res.Name) | 	assert.Equal(t, "U2F Created Key", res.Name) | ||||||
| 	assert.Equal(t, []byte("Test"), res.Raw) | 	assert.Equal(t, []byte("Test"), res.Raw) | ||||||
|  |  | ||||||
| 	db.AssertExistsIf(t, true, &U2FRegistration{Name: "U2F Created Key", UserID: 1}) | 	unittest.AssertExistsIf(t, true, &U2FRegistration{Name: "U2F Created Key", UserID: 1}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteRegistration(t *testing.T) { | func TestDeleteRegistration(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	reg := db.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | 	reg := unittest.AssertExistsAndLoadBean(t, &U2FRegistration{ID: 1}).(*U2FRegistration) | ||||||
|  |  | ||||||
| 	assert.NoError(t, DeleteRegistration(reg)) | 	assert.NoError(t, DeleteRegistration(reg)) | ||||||
| 	db.AssertNotExistsBean(t, &U2FRegistration{ID: 1}) | 	unittest.AssertNotExistsBean(t, &U2FRegistration{ID: 1}) | ||||||
| } | } | ||||||
|  |  | ||||||
| const validU2FRegistrationResponseHex = "0504b174bc49c7ca254b70d2e5c207cee9cf174820ebd77ea3c65508c26da51b657c1cc6b952f8621697936482da0a6d3d3826a59095daf6cd7c03e2e60385d2f6d9402a552dfdb7477ed65fd84133f86196010b2215b57da75d315b7b9e8fe2e3925a6019551bab61d16591659cbaf00b4950f7abfe6660e2e006f76868b772d70c253082013c3081e4a003020102020a47901280001155957352300a06082a8648ce3d0403023017311530130603550403130c476e756262792050696c6f74301e170d3132303831343138323933325a170d3133303831343138323933325a3031312f302d0603550403132650696c6f74476e756262792d302e342e312d34373930313238303030313135353935373335323059301306072a8648ce3d020106082a8648ce3d030107034200048d617e65c9508e64bcc5673ac82a6799da3c1446682c258c463fffdf58dfd2fa3e6c378b53d795c4a4dffb4199edd7862f23abaf0203b4b8911ba0569994e101300a06082a8648ce3d0403020347003044022060cdb6061e9c22262d1aac1d96d8c70829b2366531dda268832cb836bcd30dfa0220631b1459f09e6330055722c8d89b7f48883b9089b88d60d1d9795902b30410df304502201471899bcc3987e62e8202c9b39c33c19033f7340352dba80fcab017db9230e402210082677d673d891933ade6f617e5dbde2e247e70423fd5ad7804a6d3d3961ef871" | const validU2FRegistrationResponseHex = "0504b174bc49c7ca254b70d2e5c207cee9cf174820ebd77ea3c65508c26da51b657c1cc6b952f8621697936482da0a6d3d3826a59095daf6cd7c03e2e60385d2f6d9402a552dfdb7477ed65fd84133f86196010b2215b57da75d315b7b9e8fe2e3925a6019551bab61d16591659cbaf00b4950f7abfe6660e2e006f76868b772d70c253082013c3081e4a003020102020a47901280001155957352300a06082a8648ce3d0403023017311530130603550403130c476e756262792050696c6f74301e170d3132303831343138323933325a170d3133303831343138323933325a3031312f302d0603550403132650696c6f74476e756262792d302e342e312d34373930313238303030313135353935373335323059301306072a8648ce3d020106082a8648ce3d030107034200048d617e65c9508e64bcc5673ac82a6799da3c1446682c258c463fffdf58dfd2fa3e6c378b53d795c4a4dffb4199edd7862f23abaf0203b4b8911ba0569994e101300a06082a8648ce3d0403020347003044022060cdb6061e9c22262d1aac1d96d8c70829b2366531dda268832cb836bcd30dfa0220631b1459f09e6330055722c8d89b7f48883b9089b88d60d1d9795902b30410df304502201471899bcc3987e62e8202c9b39c33c19033f7340352dba80fcab017db9230e402210082677d673d891933ade6f617e5dbde2e247e70423fd5ad7804a6d3d3961ef871" | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ import ( | |||||||
| // TestFixturesAreConsistent assert that test fixtures are consistent | // TestFixturesAreConsistent assert that test fixtures are consistent | ||||||
| func TestFixturesAreConsistent(t *testing.T) { | func TestFixturesAreConsistent(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	CheckConsistencyFor(t, | 	unittest.CheckConsistencyFor(t, | ||||||
| 		&User{}, | 		&User{}, | ||||||
| 		&Repository{}, | 		&Repository{}, | ||||||
| 		&Issue{}, | 		&Issue{}, | ||||||
|   | |||||||
| @@ -7,29 +7,28 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestCreateOrUpdateIssueNotifications(t *testing.T) { | func TestCreateOrUpdateIssueNotifications(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	issue := db.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | 	issue := unittest.AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue) | ||||||
|  |  | ||||||
| 	assert.NoError(t, CreateOrUpdateIssueNotifications(issue.ID, 0, 2, 0)) | 	assert.NoError(t, CreateOrUpdateIssueNotifications(issue.ID, 0, 2, 0)) | ||||||
|  |  | ||||||
| 	// User 9 is inactive, thus notifications for user 1 and 4 are created | 	// User 9 is inactive, thus notifications for user 1 and 4 are created | ||||||
| 	notf := db.AssertExistsAndLoadBean(t, &Notification{UserID: 1, IssueID: issue.ID}).(*Notification) | 	notf := unittest.AssertExistsAndLoadBean(t, &Notification{UserID: 1, IssueID: issue.ID}).(*Notification) | ||||||
| 	assert.Equal(t, NotificationStatusUnread, notf.Status) | 	assert.Equal(t, NotificationStatusUnread, notf.Status) | ||||||
| 	CheckConsistencyFor(t, &Issue{ID: issue.ID}) | 	unittest.CheckConsistencyFor(t, &Issue{ID: issue.ID}) | ||||||
|  |  | ||||||
| 	notf = db.AssertExistsAndLoadBean(t, &Notification{UserID: 4, IssueID: issue.ID}).(*Notification) | 	notf = unittest.AssertExistsAndLoadBean(t, &Notification{UserID: 4, IssueID: issue.ID}).(*Notification) | ||||||
| 	assert.Equal(t, NotificationStatusUnread, notf.Status) | 	assert.Equal(t, NotificationStatusUnread, notf.Status) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestNotificationsForUser(t *testing.T) { | func TestNotificationsForUser(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	statuses := []NotificationStatus{NotificationStatusRead, NotificationStatusUnread} | 	statuses := []NotificationStatus{NotificationStatusRead, NotificationStatusUnread} | ||||||
| 	notfs, err := NotificationsForUser(user, statuses, 1, 10) | 	notfs, err := NotificationsForUser(user, statuses, 1, 10) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| @@ -45,7 +44,7 @@ func TestNotificationsForUser(t *testing.T) { | |||||||
|  |  | ||||||
| func TestNotification_GetRepo(t *testing.T) { | func TestNotification_GetRepo(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	notf := db.AssertExistsAndLoadBean(t, &Notification{RepoID: 1}).(*Notification) | 	notf := unittest.AssertExistsAndLoadBean(t, &Notification{RepoID: 1}).(*Notification) | ||||||
| 	repo, err := notf.GetRepo() | 	repo, err := notf.GetRepo() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Equal(t, repo, notf.Repository) | 	assert.Equal(t, repo, notf.Repository) | ||||||
| @@ -54,7 +53,7 @@ func TestNotification_GetRepo(t *testing.T) { | |||||||
|  |  | ||||||
| func TestNotification_GetIssue(t *testing.T) { | func TestNotification_GetIssue(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	notf := db.AssertExistsAndLoadBean(t, &Notification{RepoID: 1}).(*Notification) | 	notf := unittest.AssertExistsAndLoadBean(t, &Notification{RepoID: 1}).(*Notification) | ||||||
| 	issue, err := notf.GetIssue() | 	issue, err := notf.GetIssue() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.Equal(t, issue, notf.Issue) | 	assert.Equal(t, issue, notf.Issue) | ||||||
| @@ -63,7 +62,7 @@ func TestNotification_GetIssue(t *testing.T) { | |||||||
|  |  | ||||||
| func TestGetNotificationCount(t *testing.T) { | func TestGetNotificationCount(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) | ||||||
| 	cnt, err := GetNotificationCount(user, NotificationStatusRead) | 	cnt, err := GetNotificationCount(user, NotificationStatusRead) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.EqualValues(t, 0, cnt) | 	assert.EqualValues(t, 0, cnt) | ||||||
| @@ -75,34 +74,34 @@ func TestGetNotificationCount(t *testing.T) { | |||||||
|  |  | ||||||
| func TestSetNotificationStatus(t *testing.T) { | func TestSetNotificationStatus(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	notf := db.AssertExistsAndLoadBean(t, | 	notf := unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{UserID: user.ID, Status: NotificationStatusRead}).(*Notification) | 		&Notification{UserID: user.ID, Status: NotificationStatusRead}).(*Notification) | ||||||
| 	_, err := SetNotificationStatus(notf.ID, user, NotificationStatusPinned) | 	_, err := SetNotificationStatus(notf.ID, user, NotificationStatusPinned) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	db.AssertExistsAndLoadBean(t, | 	unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{ID: notf.ID, Status: NotificationStatusPinned}) | 		&Notification{ID: notf.ID, Status: NotificationStatusPinned}) | ||||||
|  |  | ||||||
| 	_, err = SetNotificationStatus(1, user, NotificationStatusRead) | 	_, err = SetNotificationStatus(1, user, NotificationStatusRead) | ||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| 	_, err = SetNotificationStatus(db.NonexistentID, user, NotificationStatusRead) | 	_, err = SetNotificationStatus(unittest.NonexistentID, user, NotificationStatusRead) | ||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateNotificationStatuses(t *testing.T) { | func TestUpdateNotificationStatuses(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||||
| 	notfUnread := db.AssertExistsAndLoadBean(t, | 	notfUnread := unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{UserID: user.ID, Status: NotificationStatusUnread}).(*Notification) | 		&Notification{UserID: user.ID, Status: NotificationStatusUnread}).(*Notification) | ||||||
| 	notfRead := db.AssertExistsAndLoadBean(t, | 	notfRead := unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{UserID: user.ID, Status: NotificationStatusRead}).(*Notification) | 		&Notification{UserID: user.ID, Status: NotificationStatusRead}).(*Notification) | ||||||
| 	notfPinned := db.AssertExistsAndLoadBean(t, | 	notfPinned := unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{UserID: user.ID, Status: NotificationStatusPinned}).(*Notification) | 		&Notification{UserID: user.ID, Status: NotificationStatusPinned}).(*Notification) | ||||||
| 	assert.NoError(t, UpdateNotificationStatuses(user, NotificationStatusUnread, NotificationStatusRead)) | 	assert.NoError(t, UpdateNotificationStatuses(user, NotificationStatusUnread, NotificationStatusRead)) | ||||||
| 	db.AssertExistsAndLoadBean(t, | 	unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{ID: notfUnread.ID, Status: NotificationStatusRead}) | 		&Notification{ID: notfUnread.ID, Status: NotificationStatusRead}) | ||||||
| 	db.AssertExistsAndLoadBean(t, | 	unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{ID: notfRead.ID, Status: NotificationStatusRead}) | 		&Notification{ID: notfRead.ID, Status: NotificationStatusRead}) | ||||||
| 	db.AssertExistsAndLoadBean(t, | 	unittest.AssertExistsAndLoadBean(t, | ||||||
| 		&Notification{ID: notfPinned.ID, Status: NotificationStatusPinned}) | 		&Notification{ID: notfPinned.ID, Status: NotificationStatusPinned}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models/db" |  | ||||||
| 	"code.gitea.io/gitea/models/unittest" | 	"code.gitea.io/gitea/models/unittest" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -16,36 +15,36 @@ import ( | |||||||
| func TestTeam_IsOwnerTeam(t *testing.T) { | func TestTeam_IsOwnerTeam(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | ||||||
| 	assert.True(t, team.IsOwnerTeam()) | 	assert.True(t, team.IsOwnerTeam()) | ||||||
|  |  | ||||||
| 	team = db.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | 	team = unittest.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | ||||||
| 	assert.False(t, team.IsOwnerTeam()) | 	assert.False(t, team.IsOwnerTeam()) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestTeam_IsMember(t *testing.T) { | func TestTeam_IsMember(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | ||||||
| 	assert.True(t, team.IsMember(2)) | 	assert.True(t, team.IsMember(2)) | ||||||
| 	assert.False(t, team.IsMember(4)) | 	assert.False(t, team.IsMember(4)) | ||||||
| 	assert.False(t, team.IsMember(db.NonexistentID)) | 	assert.False(t, team.IsMember(unittest.NonexistentID)) | ||||||
|  |  | ||||||
| 	team = db.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | 	team = unittest.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | ||||||
| 	assert.True(t, team.IsMember(2)) | 	assert.True(t, team.IsMember(2)) | ||||||
| 	assert.True(t, team.IsMember(4)) | 	assert.True(t, team.IsMember(4)) | ||||||
| 	assert.False(t, team.IsMember(db.NonexistentID)) | 	assert.False(t, team.IsMember(unittest.NonexistentID)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestTeam_GetRepositories(t *testing.T) { | func TestTeam_GetRepositories(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID int64) { | 	test := func(teamID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, team.GetRepositories(&SearchTeamOptions{})) | 		assert.NoError(t, team.GetRepositories(&SearchTeamOptions{})) | ||||||
| 		assert.Len(t, team.Repos, team.NumRepos) | 		assert.Len(t, team.Repos, team.NumRepos) | ||||||
| 		for _, repo := range team.Repos { | 		for _, repo := range team.Repos { | ||||||
| 			db.AssertExistsAndLoadBean(t, &TeamRepo{TeamID: teamID, RepoID: repo.ID}) | 			unittest.AssertExistsAndLoadBean(t, &TeamRepo{TeamID: teamID, RepoID: repo.ID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	test(1) | 	test(1) | ||||||
| @@ -56,11 +55,11 @@ func TestTeam_GetMembers(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID int64) { | 	test := func(teamID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, team.GetMembers(&SearchMembersOptions{})) | 		assert.NoError(t, team.GetMembers(&SearchMembersOptions{})) | ||||||
| 		assert.Len(t, team.Members, team.NumMembers) | 		assert.Len(t, team.Members, team.NumMembers) | ||||||
| 		for _, member := range team.Members { | 		for _, member := range team.Members { | ||||||
| 			db.AssertExistsAndLoadBean(t, &TeamUser{UID: member.ID, TeamID: teamID}) | 			unittest.AssertExistsAndLoadBean(t, &TeamUser{UID: member.ID, TeamID: teamID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	test(1) | 	test(1) | ||||||
| @@ -71,10 +70,10 @@ func TestTeam_AddMember(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID, userID int64) { | 	test := func(teamID, userID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, team.AddMember(userID)) | 		assert.NoError(t, team.AddMember(userID)) | ||||||
| 		db.AssertExistsAndLoadBean(t, &TeamUser{UID: userID, TeamID: teamID}) | 		unittest.AssertExistsAndLoadBean(t, &TeamUser{UID: userID, TeamID: teamID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}, &User{ID: team.OrgID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}, &User{ID: team.OrgID}) | ||||||
| 	} | 	} | ||||||
| 	test(1, 2) | 	test(1, 2) | ||||||
| 	test(1, 4) | 	test(1, 4) | ||||||
| @@ -85,17 +84,17 @@ func TestTeam_RemoveMember(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(teamID, userID int64) { | 	testSuccess := func(teamID, userID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, team.RemoveMember(userID)) | 		assert.NoError(t, team.RemoveMember(userID)) | ||||||
| 		db.AssertNotExistsBean(t, &TeamUser{UID: userID, TeamID: teamID}) | 		unittest.AssertNotExistsBean(t, &TeamUser{UID: userID, TeamID: teamID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}) | ||||||
| 	} | 	} | ||||||
| 	testSuccess(1, 4) | 	testSuccess(1, 4) | ||||||
| 	testSuccess(2, 2) | 	testSuccess(2, 2) | ||||||
| 	testSuccess(3, 2) | 	testSuccess(3, 2) | ||||||
| 	testSuccess(3, db.NonexistentID) | 	testSuccess(3, unittest.NonexistentID) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | ||||||
| 	err := team.RemoveMember(2) | 	err := team.RemoveMember(2) | ||||||
| 	assert.True(t, IsErrLastOrgOwner(err)) | 	assert.True(t, IsErrLastOrgOwner(err)) | ||||||
| } | } | ||||||
| @@ -104,13 +103,13 @@ func TestTeam_HasRepository(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID, repoID int64, expected bool) { | 	test := func(teamID, repoID int64, expected bool) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.Equal(t, expected, team.HasRepository(repoID)) | 		assert.Equal(t, expected, team.HasRepository(repoID)) | ||||||
| 	} | 	} | ||||||
| 	test(1, 1, false) | 	test(1, 1, false) | ||||||
| 	test(1, 3, true) | 	test(1, 3, true) | ||||||
| 	test(1, 5, true) | 	test(1, 5, true) | ||||||
| 	test(1, db.NonexistentID, false) | 	test(1, unittest.NonexistentID, false) | ||||||
|  |  | ||||||
| 	test(2, 3, true) | 	test(2, 3, true) | ||||||
| 	test(2, 5, false) | 	test(2, 5, false) | ||||||
| @@ -120,33 +119,33 @@ func TestTeam_AddRepository(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(teamID, repoID int64) { | 	testSuccess := func(teamID, repoID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		repo := db.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | 		repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository) | ||||||
| 		assert.NoError(t, team.AddRepository(repo)) | 		assert.NoError(t, team.AddRepository(repo)) | ||||||
| 		db.AssertExistsAndLoadBean(t, &TeamRepo{TeamID: teamID, RepoID: repoID}) | 		unittest.AssertExistsAndLoadBean(t, &TeamRepo{TeamID: teamID, RepoID: repoID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}, &Repository{ID: repoID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}, &Repository{ID: repoID}) | ||||||
| 	} | 	} | ||||||
| 	testSuccess(2, 3) | 	testSuccess(2, 3) | ||||||
| 	testSuccess(2, 5) | 	testSuccess(2, 5) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||||
| 	assert.Error(t, team.AddRepository(repo)) | 	assert.Error(t, team.AddRepository(repo)) | ||||||
| 	CheckConsistencyFor(t, &Team{ID: 1}, &Repository{ID: 1}) | 	unittest.CheckConsistencyFor(t, &Team{ID: 1}, &Repository{ID: 1}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestTeam_RemoveRepository(t *testing.T) { | func TestTeam_RemoveRepository(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(teamID, repoID int64) { | 	testSuccess := func(teamID, repoID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, team.RemoveRepository(repoID)) | 		assert.NoError(t, team.RemoveRepository(repoID)) | ||||||
| 		db.AssertNotExistsBean(t, &TeamRepo{TeamID: teamID, RepoID: repoID}) | 		unittest.AssertNotExistsBean(t, &TeamRepo{TeamID: teamID, RepoID: repoID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}, &Repository{ID: repoID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}, &Repository{ID: repoID}) | ||||||
| 	} | 	} | ||||||
| 	testSuccess(2, 3) | 	testSuccess(2, 3) | ||||||
| 	testSuccess(2, 5) | 	testSuccess(2, 5) | ||||||
| 	testSuccess(1, db.NonexistentID) | 	testSuccess(1, unittest.NonexistentID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestIsUsableTeamName(t *testing.T) { | func TestIsUsableTeamName(t *testing.T) { | ||||||
| @@ -160,8 +159,8 @@ func TestNewTeam(t *testing.T) { | |||||||
| 	const teamName = "newTeamName" | 	const teamName = "newTeamName" | ||||||
| 	team := &Team{Name: teamName, OrgID: 3} | 	team := &Team{Name: teamName, OrgID: 3} | ||||||
| 	assert.NoError(t, NewTeam(team)) | 	assert.NoError(t, NewTeam(team)) | ||||||
| 	db.AssertExistsAndLoadBean(t, &Team{Name: teamName}) | 	unittest.AssertExistsAndLoadBean(t, &Team{Name: teamName}) | ||||||
| 	CheckConsistencyFor(t, &Team{}, &User{ID: team.OrgID}) | 	unittest.CheckConsistencyFor(t, &Team{}, &User{ID: team.OrgID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetTeam(t *testing.T) { | func TestGetTeam(t *testing.T) { | ||||||
| @@ -178,7 +177,7 @@ func TestGetTeam(t *testing.T) { | |||||||
|  |  | ||||||
| 	_, err := GetTeam(3, "nonexistent") | 	_, err := GetTeam(3, "nonexistent") | ||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| 	_, err = GetTeam(db.NonexistentID, "Owners") | 	_, err = GetTeam(unittest.NonexistentID, "Owners") | ||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -195,7 +194,7 @@ func TestGetTeamByID(t *testing.T) { | |||||||
| 	testSuccess(3) | 	testSuccess(3) | ||||||
| 	testSuccess(4) | 	testSuccess(4) | ||||||
|  |  | ||||||
| 	_, err := GetTeamByID(db.NonexistentID) | 	_, err := GetTeamByID(unittest.NonexistentID) | ||||||
| 	assert.Error(t, err) | 	assert.Error(t, err) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -203,48 +202,48 @@ func TestUpdateTeam(t *testing.T) { | |||||||
| 	// successful update | 	// successful update | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | ||||||
| 	team.LowerName = "newname" | 	team.LowerName = "newname" | ||||||
| 	team.Name = "newName" | 	team.Name = "newName" | ||||||
| 	team.Description = strings.Repeat("A long description!", 100) | 	team.Description = strings.Repeat("A long description!", 100) | ||||||
| 	team.Authorize = AccessModeAdmin | 	team.Authorize = AccessModeAdmin | ||||||
| 	assert.NoError(t, UpdateTeam(team, true, false)) | 	assert.NoError(t, UpdateTeam(team, true, false)) | ||||||
|  |  | ||||||
| 	team = db.AssertExistsAndLoadBean(t, &Team{Name: "newName"}).(*Team) | 	team = unittest.AssertExistsAndLoadBean(t, &Team{Name: "newName"}).(*Team) | ||||||
| 	assert.True(t, strings.HasPrefix(team.Description, "A long description!")) | 	assert.True(t, strings.HasPrefix(team.Description, "A long description!")) | ||||||
|  |  | ||||||
| 	access := db.AssertExistsAndLoadBean(t, &Access{UserID: 4, RepoID: 3}).(*Access) | 	access := unittest.AssertExistsAndLoadBean(t, &Access{UserID: 4, RepoID: 3}).(*Access) | ||||||
| 	assert.EqualValues(t, AccessModeAdmin, access.Mode) | 	assert.EqualValues(t, AccessModeAdmin, access.Mode) | ||||||
|  |  | ||||||
| 	CheckConsistencyFor(t, &Team{ID: team.ID}) | 	unittest.CheckConsistencyFor(t, &Team{ID: team.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestUpdateTeam2(t *testing.T) { | func TestUpdateTeam2(t *testing.T) { | ||||||
| 	// update to already-existing team | 	// update to already-existing team | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | ||||||
| 	team.LowerName = "owners" | 	team.LowerName = "owners" | ||||||
| 	team.Name = "Owners" | 	team.Name = "Owners" | ||||||
| 	team.Description = strings.Repeat("A long description!", 100) | 	team.Description = strings.Repeat("A long description!", 100) | ||||||
| 	err := UpdateTeam(team, true, false) | 	err := UpdateTeam(team, true, false) | ||||||
| 	assert.True(t, IsErrTeamAlreadyExist(err)) | 	assert.True(t, IsErrTeamAlreadyExist(err)) | ||||||
|  |  | ||||||
| 	CheckConsistencyFor(t, &Team{ID: team.ID}) | 	unittest.CheckConsistencyFor(t, &Team{ID: team.ID}) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestDeleteTeam(t *testing.T) { | func TestDeleteTeam(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 2}).(*Team) | ||||||
| 	assert.NoError(t, DeleteTeam(team)) | 	assert.NoError(t, DeleteTeam(team)) | ||||||
| 	db.AssertNotExistsBean(t, &Team{ID: team.ID}) | 	unittest.AssertNotExistsBean(t, &Team{ID: team.ID}) | ||||||
| 	db.AssertNotExistsBean(t, &TeamRepo{TeamID: team.ID}) | 	unittest.AssertNotExistsBean(t, &TeamRepo{TeamID: team.ID}) | ||||||
| 	db.AssertNotExistsBean(t, &TeamUser{TeamID: team.ID}) | 	unittest.AssertNotExistsBean(t, &TeamUser{TeamID: team.ID}) | ||||||
|  |  | ||||||
| 	// check that team members don't have "leftover" access to repos | 	// check that team members don't have "leftover" access to repos | ||||||
| 	user := db.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | 	user := unittest.AssertExistsAndLoadBean(t, &User{ID: 4}).(*User) | ||||||
| 	repo := db.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | 	repo := unittest.AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) | ||||||
| 	accessMode, err := AccessLevel(user, repo) | 	accessMode, err := AccessLevel(user, repo) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.True(t, accessMode < AccessModeWrite) | 	assert.True(t, accessMode < AccessModeWrite) | ||||||
| @@ -260,25 +259,25 @@ func TestIsTeamMember(t *testing.T) { | |||||||
|  |  | ||||||
| 	test(3, 1, 2, true) | 	test(3, 1, 2, true) | ||||||
| 	test(3, 1, 4, false) | 	test(3, 1, 4, false) | ||||||
| 	test(3, 1, db.NonexistentID, false) | 	test(3, 1, unittest.NonexistentID, false) | ||||||
|  |  | ||||||
| 	test(3, 2, 2, true) | 	test(3, 2, 2, true) | ||||||
| 	test(3, 2, 4, true) | 	test(3, 2, 4, true) | ||||||
|  |  | ||||||
| 	test(3, db.NonexistentID, db.NonexistentID, false) | 	test(3, unittest.NonexistentID, unittest.NonexistentID, false) | ||||||
| 	test(db.NonexistentID, db.NonexistentID, db.NonexistentID, false) | 	test(unittest.NonexistentID, unittest.NonexistentID, unittest.NonexistentID, false) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetTeamMembers(t *testing.T) { | func TestGetTeamMembers(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID int64) { | 	test := func(teamID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		members, err := GetTeamMembers(teamID) | 		members, err := GetTeamMembers(teamID) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.Len(t, members, team.NumMembers) | 		assert.Len(t, members, team.NumMembers) | ||||||
| 		for _, member := range members { | 		for _, member := range members { | ||||||
| 			db.AssertExistsAndLoadBean(t, &TeamUser{UID: member.ID, TeamID: teamID}) | 			unittest.AssertExistsAndLoadBean(t, &TeamUser{UID: member.ID, TeamID: teamID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	test(1) | 	test(1) | ||||||
| @@ -291,12 +290,12 @@ func TestGetUserTeams(t *testing.T) { | |||||||
| 		teams, _, err := SearchTeam(&SearchTeamOptions{UserID: userID}) | 		teams, _, err := SearchTeam(&SearchTeamOptions{UserID: userID}) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		for _, team := range teams { | 		for _, team := range teams { | ||||||
| 			db.AssertExistsAndLoadBean(t, &TeamUser{TeamID: team.ID, UID: userID}) | 			unittest.AssertExistsAndLoadBean(t, &TeamUser{TeamID: team.ID, UID: userID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	test(2) | 	test(2) | ||||||
| 	test(5) | 	test(5) | ||||||
| 	test(db.NonexistentID) | 	test(unittest.NonexistentID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestGetUserOrgTeams(t *testing.T) { | func TestGetUserOrgTeams(t *testing.T) { | ||||||
| @@ -306,22 +305,22 @@ func TestGetUserOrgTeams(t *testing.T) { | |||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		for _, team := range teams { | 		for _, team := range teams { | ||||||
| 			assert.EqualValues(t, orgID, team.OrgID) | 			assert.EqualValues(t, orgID, team.OrgID) | ||||||
| 			db.AssertExistsAndLoadBean(t, &TeamUser{TeamID: team.ID, UID: userID}) | 			unittest.AssertExistsAndLoadBean(t, &TeamUser{TeamID: team.ID, UID: userID}) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	test(3, 2) | 	test(3, 2) | ||||||
| 	test(3, 4) | 	test(3, 4) | ||||||
| 	test(3, db.NonexistentID) | 	test(3, unittest.NonexistentID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func TestAddTeamMember(t *testing.T) { | func TestAddTeamMember(t *testing.T) { | ||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID, userID int64) { | 	test := func(teamID, userID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, AddTeamMember(team, userID)) | 		assert.NoError(t, AddTeamMember(team, userID)) | ||||||
| 		db.AssertExistsAndLoadBean(t, &TeamUser{UID: userID, TeamID: teamID}) | 		unittest.AssertExistsAndLoadBean(t, &TeamUser{UID: userID, TeamID: teamID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}, &User{ID: team.OrgID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}, &User{ID: team.OrgID}) | ||||||
| 	} | 	} | ||||||
| 	test(1, 2) | 	test(1, 2) | ||||||
| 	test(1, 4) | 	test(1, 4) | ||||||
| @@ -332,17 +331,17 @@ func TestRemoveTeamMember(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	testSuccess := func(teamID, userID int64) { | 	testSuccess := func(teamID, userID int64) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.NoError(t, RemoveTeamMember(team, userID)) | 		assert.NoError(t, RemoveTeamMember(team, userID)) | ||||||
| 		db.AssertNotExistsBean(t, &TeamUser{UID: userID, TeamID: teamID}) | 		unittest.AssertNotExistsBean(t, &TeamUser{UID: userID, TeamID: teamID}) | ||||||
| 		CheckConsistencyFor(t, &Team{ID: teamID}) | 		unittest.CheckConsistencyFor(t, &Team{ID: teamID}) | ||||||
| 	} | 	} | ||||||
| 	testSuccess(1, 4) | 	testSuccess(1, 4) | ||||||
| 	testSuccess(2, 2) | 	testSuccess(2, 2) | ||||||
| 	testSuccess(3, 2) | 	testSuccess(3, 2) | ||||||
| 	testSuccess(3, db.NonexistentID) | 	testSuccess(3, unittest.NonexistentID) | ||||||
|  |  | ||||||
| 	team := db.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | 	team := unittest.AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team) | ||||||
| 	err := RemoveTeamMember(team, 2) | 	err := RemoveTeamMember(team, 2) | ||||||
| 	assert.True(t, IsErrLastOrgOwner(err)) | 	assert.True(t, IsErrLastOrgOwner(err)) | ||||||
| } | } | ||||||
| @@ -351,13 +350,13 @@ func TestHasTeamRepo(t *testing.T) { | |||||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
| 	test := func(teamID, repoID int64, expected bool) { | 	test := func(teamID, repoID int64, expected bool) { | ||||||
| 		team := db.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | 		team := unittest.AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team) | ||||||
| 		assert.Equal(t, expected, HasTeamRepo(team.OrgID, teamID, repoID)) | 		assert.Equal(t, expected, HasTeamRepo(team.OrgID, teamID, repoID)) | ||||||
| 	} | 	} | ||||||
| 	test(1, 1, false) | 	test(1, 1, false) | ||||||
| 	test(1, 3, true) | 	test(1, 3, true) | ||||||
| 	test(1, 5, true) | 	test(1, 5, true) | ||||||
| 	test(1, db.NonexistentID, false) | 	test(1, unittest.NonexistentID, false) | ||||||
|  |  | ||||||
| 	test(2, 3, true) | 	test(2, 3, true) | ||||||
| 	test(2, 5, false) | 	test(2, 5, false) | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user