forked from go-gitea/gitea
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move all push update operations to a queue (go-gitea#10133)
* Fix test * Add no queue for test only * improve code * Auto watch whatever branch operation * Fix lint * Rename noqueue to immediate * Remove old PushUpdate function * Fix tests Co-authored-by: zeripath <[email protected]> Co-authored-by: techknowlogick <[email protected]>
- Loading branch information
1 parent
910947f
commit dd1a651
Showing
16 changed files
with
552 additions
and
585 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,133 +8,12 @@ import ( | |
"testing" | ||
|
||
"code.gitea.io/gitea/models" | ||
"code.gitea.io/gitea/modules/git" | ||
"code.gitea.io/gitea/modules/repository" | ||
"code.gitea.io/gitea/modules/setting" | ||
|
||
"github.com/stretchr/testify/assert" | ||
) | ||
|
||
func testCorrectRepoAction(t *testing.T, opts *CommitRepoActionOptions, actionBean *models.Action) { | ||
models.AssertNotExistsBean(t, actionBean) | ||
assert.NoError(t, CommitRepoAction(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: PushUpdateOptions{ | ||
RefFullName: "refName", | ||
OldCommitID: "oldCommitID", | ||
NewCommitID: "newCommitID", | ||
}, | ||
Commits: &repository.PushCommits{ | ||
Commits: []*repository.PushCommit{ | ||
{ | ||
Sha1: "69554a6", | ||
CommitterEmail: "[email protected]", | ||
CommitterName: "User2", | ||
AuthorEmail: "[email protected]", | ||
AuthorName: "User2", | ||
Message: "not signed commit", | ||
}, | ||
{ | ||
Sha1: "27566bd", | ||
CommitterEmail: "[email protected]", | ||
CommitterName: "User2", | ||
AuthorEmail: "[email protected]", | ||
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: PushUpdateOptions{ | ||
RefFullName: git.TagPrefix + "v1.1", | ||
OldCommitID: git.EmptySHA, | ||
NewCommitID: "newCommitID", | ||
}, | ||
Commits: &repository.PushCommits{}, | ||
}, | ||
action: models.Action{ | ||
OpType: models.ActionPushTag, | ||
RefName: "v1.1", | ||
}, | ||
}, | ||
{ | ||
userID: 2, | ||
repositoryID: 1, | ||
commitRepoActionOptions: CommitRepoActionOptions{ | ||
PushUpdateOptions: PushUpdateOptions{ | ||
RefFullName: git.TagPrefix + "v1.1", | ||
OldCommitID: "oldCommitID", | ||
NewCommitID: git.EmptySHA, | ||
}, | ||
Commits: &repository.PushCommits{}, | ||
}, | ||
action: models.Action{ | ||
OpType: models.ActionDeleteTag, | ||
RefName: "v1.1", | ||
}, | ||
}, | ||
{ | ||
userID: 2, | ||
repositoryID: 1, | ||
commitRepoActionOptions: CommitRepoActionOptions{ | ||
PushUpdateOptions: PushUpdateOptions{ | ||
RefFullName: git.BranchPrefix + "feature/1", | ||
OldCommitID: "oldCommitID", | ||
NewCommitID: git.EmptySHA, | ||
}, | ||
Commits: &repository.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 | ||
|
||
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, &s.commitRepoActionOptions, &s.action) | ||
} | ||
} | ||
|
||
func TestUpdateIssuesCommit(t *testing.T) { | ||
assert.NoError(t, models.PrepareTestDatabase()) | ||
pushCommits := []*repository.PushCommit{ | ||
|
Oops, something went wrong.