mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 08:42:32 -05:00
remove redundant call to UpdateRepoStats during migration (#18591)
There is no need to call UpdateRepoStats in the InsertIssues and InsertPullRequests function. They are only called during migration by the CreateIssues and CreateReviews methods of the gitea uploader. The UpdateRepoStats function will be called by the Finish method of the gitea uploader after all reviews and issues are inserted. Calling it before is therefore redundant and the associated SQL requests are not cheap. The statistics tests done after inserting an issue or a pull request are also removed. They predate the implementation of UpdateRepoStats, back when the calculation of the statistics was an integral part of the migration function. The UpdateRepoStats is now tested independantly and these tests are no longer necessary. Signed-off-by: singuliere <singuliere@autistici.org> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
parent
5faf055097
commit
3a91f845e8
2 changed files with 4 additions and 36 deletions
|
@ -52,10 +52,6 @@ func InsertIssues(issues ...*Issue) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = UpdateRepoStats(ctx, issues[0].RepoID)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return committer.Commit()
|
return committer.Commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,11 +143,6 @@ func InsertPullRequests(prs ...*PullRequest) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = UpdateRepoStats(ctx, prs[0].Issue.RepoID)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return committer.Commit()
|
return committer.Commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,8 +32,9 @@ func TestMigrate_InsertMilestones(t *testing.T) {
|
||||||
unittest.CheckConsistencyFor(t, &Milestone{})
|
unittest.CheckConsistencyFor(t, &Milestone{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertCreateIssues(t *testing.T, reponame string, isPull bool) {
|
func assertCreateIssues(t *testing.T, isPull bool) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
reponame := "repo1"
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository)
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository)
|
||||||
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}).(*user_model.User)
|
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}).(*user_model.User)
|
||||||
label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label)
|
label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label)
|
||||||
|
@ -63,38 +64,14 @@ func assertCreateIssues(t *testing.T, reponame string, isPull bool) {
|
||||||
|
|
||||||
i := unittest.AssertExistsAndLoadBean(t, &Issue{Title: title}).(*Issue)
|
i := unittest.AssertExistsAndLoadBean(t, &Issue{Title: title}).(*Issue)
|
||||||
unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: owner.ID, IssueID: i.ID})
|
unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: owner.ID, IssueID: i.ID})
|
||||||
|
|
||||||
labelModified := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label)
|
|
||||||
assert.EqualValues(t, label.NumIssues+1, labelModified.NumIssues)
|
|
||||||
assert.EqualValues(t, label.NumClosedIssues+1, labelModified.NumClosedIssues)
|
|
||||||
|
|
||||||
milestoneModified := unittest.AssertExistsAndLoadBean(t, &Milestone{ID: milestone.ID}).(*Milestone)
|
|
||||||
assert.EqualValues(t, milestone.NumIssues+1, milestoneModified.NumIssues)
|
|
||||||
assert.EqualValues(t, milestone.NumClosedIssues+1, milestoneModified.NumClosedIssues)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMigrate_CreateIssuesIsPullFalse(t *testing.T) {
|
func TestMigrate_CreateIssuesIsPullFalse(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assertCreateIssues(t, false)
|
||||||
reponame := "repo1"
|
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository)
|
|
||||||
|
|
||||||
assertCreateIssues(t, reponame, false)
|
|
||||||
|
|
||||||
repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID}).(*repo_model.Repository)
|
|
||||||
assert.EqualValues(t, repo.NumIssues+1, repoModified.NumIssues)
|
|
||||||
assert.EqualValues(t, repo.NumClosedIssues+1, repoModified.NumClosedIssues)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMigrate_CreateIssuesIsPullTrue(t *testing.T) {
|
func TestMigrate_CreateIssuesIsPullTrue(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assertCreateIssues(t, true)
|
||||||
reponame := "repo1"
|
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository)
|
|
||||||
|
|
||||||
assertCreateIssues(t, reponame, true)
|
|
||||||
|
|
||||||
repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID}).(*repo_model.Repository)
|
|
||||||
assert.EqualValues(t, repo.NumPulls+1, repoModified.NumPulls)
|
|
||||||
assert.EqualValues(t, repo.NumClosedPulls+1, repoModified.NumClosedPulls)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMigrate_InsertIssueComments(t *testing.T) {
|
func TestMigrate_InsertIssueComments(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue