yolo
This commit is contained in:
@@ -173,16 +173,19 @@ func (rs *PRSet) AssignReviewers(gitea common.GiteaReviewFetcherAndRequester, ma
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rs *PRSet) IsReviewed(gitea common.GiteaPRChecker, maintainers MaintainershipData) bool {
|
||||
func (rs *PRSet) IsApproved(gitea common.GiteaPRChecker, maintainers MaintainershipData) bool {
|
||||
configReviewers := ParseReviewers(rs.config.Reviewers)
|
||||
|
||||
is_reviewed := false
|
||||
for _, pr := range rs.prs {
|
||||
var reviewers []string
|
||||
var pkg string
|
||||
if rs.IsPrjGitPR(pr.pr) {
|
||||
reviewers = configReviewers.Prj
|
||||
pkg = ""
|
||||
} else {
|
||||
reviewers = configReviewers.Pkg
|
||||
pkg = pr.pr.Base.Repo.Name
|
||||
}
|
||||
|
||||
r, err := FetchGiteaReviews(gitea, reviewers, pr.pr.Base.Repo.Owner.UserName, pr.pr.Base.Repo.Name, pr.pr.Index)
|
||||
@@ -193,6 +196,10 @@ func (rs *PRSet) IsReviewed(gitea common.GiteaPRChecker, maintainers Maintainers
|
||||
if !is_reviewed {
|
||||
return false
|
||||
}
|
||||
|
||||
if is_reviewed = maintainers.IsApproved(pkg, r.reviews); !is_reviewed {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return is_reviewed
|
||||
}
|
||||
|
||||
@@ -12,7 +12,12 @@ func (o *PullRequestReviewed) Process(req *common.PullRequestWebhookEvent, git c
|
||||
return err
|
||||
}
|
||||
|
||||
if prset.IsReviewed(o.gitea) {
|
||||
maintainers, err := FetchProjectMaintainershipData(o.gitea, prset.config.Organization, prset.config.GitProjectName, prset.config.Branch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if prset.IsApproved(o.gitea, maintainers) {
|
||||
prset.Merge()
|
||||
}
|
||||
|
||||
|
||||
@@ -221,8 +221,12 @@ func TestPR(t *testing.T) {
|
||||
t.Error("expected no errors assigning reviewers:", err)
|
||||
}
|
||||
*/
|
||||
if isReviewed := res.IsReviewed(review_mock); isReviewed != test.reviewed {
|
||||
t.Error("expected reviewed to be NOT", isReviewed)
|
||||
|
||||
maintainers := mock_main.NewMockMaintainershipData(ctl)
|
||||
maintainers.EXPECT().IsApproved(gomock.Any(), gomock.Any()).Return(true).AnyTimes()
|
||||
|
||||
if isApproved := res.IsApproved(review_mock, maintainers); isApproved != test.reviewed {
|
||||
t.Error("expected reviewed to be NOT", isApproved)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user