Refactor push update (#13381)
* Refactor Push update * Remove the push_test since the function has been removed. * Use default branch setting instead mastertokarchuk/v1.17
parent
682f0b0460
commit
ab22ab4a37
@ -1,139 +0,0 @@ |
||||
// Copyright 2020 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 repository |
||||
|
||||
import ( |
||||
"testing" |
||||
|
||||
"code.gitea.io/gitea/models" |
||||
"code.gitea.io/gitea/modules/git" |
||||
repo_module "code.gitea.io/gitea/modules/repository" |
||||
|
||||
"github.com/stretchr/testify/assert" |
||||
) |
||||
|
||||
func testCorrectRepoAction(t *testing.T, repo *models.Repository, gitRepo *git.Repository, opts *commitRepoActionOptions, actionBean *models.Action) { |
||||
models.AssertNotExistsBean(t, actionBean) |
||||
assert.NoError(t, commitRepoAction(repo, gitRepo, opts)) |
||||
models.AssertExistsAndLoadBean(t, actionBean) |
||||
models.CheckConsistencyFor(t, &models.Action{}) |
||||
} |
||||
|
||||
func TestCommitRepoAction(t *testing.T) { |
||||
samples := []struct { |
||||
userID int64 |
||||
repositoryID int64 |
||||
commitRepoActionOptions commitRepoActionOptions |
||||
action models.Action |
||||
}{ |
||||
{ |
||||
userID: 2, |
||||
repositoryID: 16, |
||||
commitRepoActionOptions: commitRepoActionOptions{ |
||||
PushUpdateOptions: repo_module.PushUpdateOptions{ |
||||
RefFullName: "refName", |
||||
OldCommitID: "oldCommitID", |
||||
NewCommitID: "newCommitID", |
||||
}, |
||||
Commits: &repo_module.PushCommits{ |
||||
Commits: []*repo_module.PushCommit{ |
||||
{ |
||||
Sha1: "69554a6", |
||||
CommitterEmail: "user2@example.com", |
||||
CommitterName: "User2", |
||||
AuthorEmail: "user2@example.com", |
||||
AuthorName: "User2", |
||||
Message: "not signed commit", |
||||
}, |
||||
{ |
||||
Sha1: "27566bd", |
||||
CommitterEmail: "user2@example.com", |
||||
CommitterName: "User2", |
||||
AuthorEmail: "user2@example.com", |
||||
AuthorName: "User2", |
||||
Message: "good signed commit (with not yet validated email)", |
||||
}, |
||||
}, |
||||
Len: 2, |
||||
}, |
||||
}, |
||||
action: models.Action{ |
||||
OpType: models.ActionCommitRepo, |
||||
RefName: "refName", |
||||
}, |
||||
}, |
||||
{ |
||||
userID: 2, |
||||
repositoryID: 1, |
||||
commitRepoActionOptions: commitRepoActionOptions{ |
||||
PushUpdateOptions: repo_module.PushUpdateOptions{ |
||||
RefFullName: git.TagPrefix + "v1.1", |
||||
OldCommitID: git.EmptySHA, |
||||
NewCommitID: "newCommitID", |
||||
}, |
||||
Commits: &repo_module.PushCommits{}, |
||||
}, |
||||
action: models.Action{ |
||||
OpType: models.ActionPushTag, |
||||
RefName: "v1.1", |
||||
}, |
||||
}, |
||||
{ |
||||
userID: 2, |
||||
repositoryID: 1, |
||||
commitRepoActionOptions: commitRepoActionOptions{ |
||||
PushUpdateOptions: repo_module.PushUpdateOptions{ |
||||
RefFullName: git.TagPrefix + "v1.1", |
||||
OldCommitID: "oldCommitID", |
||||
NewCommitID: git.EmptySHA, |
||||
}, |
||||
Commits: &repo_module.PushCommits{}, |
||||
}, |
||||
action: models.Action{ |
||||
OpType: models.ActionDeleteTag, |
||||
RefName: "v1.1", |
||||
}, |
||||
}, |
||||
{ |
||||
userID: 2, |
||||
repositoryID: 1, |
||||
commitRepoActionOptions: commitRepoActionOptions{ |
||||
PushUpdateOptions: repo_module.PushUpdateOptions{ |
||||
RefFullName: git.BranchPrefix + "feature/1", |
||||
OldCommitID: "oldCommitID", |
||||
NewCommitID: git.EmptySHA, |
||||
}, |
||||
Commits: &repo_module.PushCommits{}, |
||||
}, |
||||
action: models.Action{ |
||||
OpType: models.ActionDeleteBranch, |
||||
RefName: "feature/1", |
||||
}, |
||||
}, |
||||
} |
||||
|
||||
for _, s := range samples { |
||||
models.PrepareTestEnv(t) |
||||
|
||||
user := models.AssertExistsAndLoadBean(t, &models.User{ID: s.userID}).(*models.User) |
||||
repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: s.repositoryID, OwnerID: user.ID}).(*models.Repository) |
||||
repo.Owner = user |
||||
|
||||
gitRepo, err := git.OpenRepository(repo.RepoPath()) |
||||
assert.NoError(t, err) |
||||
|
||||
s.commitRepoActionOptions.PusherName = user.Name |
||||
s.commitRepoActionOptions.RepoOwnerID = user.ID |
||||
s.commitRepoActionOptions.RepoName = repo.Name |
||||
|
||||
s.action.ActUserID = user.ID |
||||
s.action.RepoID = repo.ID |
||||
s.action.Repo = repo |
||||
s.action.IsPrivate = repo.IsPrivate |
||||
|
||||
testCorrectRepoAction(t, repo, gitRepo, &s.commitRepoActionOptions, &s.action) |
||||
gitRepo.Close() |
||||
} |
||||
} |
Loading…
Reference in new issue