From bfeaed40d5766e2c978d12e8f530b7dc5505eec3854980c626ba042e0ae47ece Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 20 Feb 2025 19:17:23 +0100 Subject: [PATCH] remove legacy --- workflow-pr/review_old.go | 76 --------- workflow-pr/review_old_test.go | 285 --------------------------------- 2 files changed, 361 deletions(-) delete mode 100644 workflow-pr/review_old.go delete mode 100644 workflow-pr/review_old_test.go diff --git a/workflow-pr/review_old.go b/workflow-pr/review_old.go deleted file mode 100644 index 034e2d2..0000000 --- a/workflow-pr/review_old.go +++ /dev/null @@ -1,76 +0,0 @@ -package main - -/* -import ( - "bufio" - "slices" - "strings" - - "src.opensuse.org/autogits/common" - "src.opensuse.org/autogits/common/gitea-generated/models" -) -func fetchPRInfo(gitea GiteaPRInterface, pr common.BasicPR) PRInfo { - data, reviews, _ := gitea.GetPullRequestAndReviews(pr.Org, pr.Repo, pr.Num) - return PRInfo{ - pr: data, - reviews: reviews, - } -} - -func (rs *ReviewSet) appendPR(gitea GiteaPRInterface, pr common.BasicPR) { - if slices.ContainsFunc(rs.prs, func(elem PRInfo) bool { - return pr.Org == elem.pr.Base.Repo.Owner.UserName && - pr.Repo == elem.pr.Base.Repo.Name && - pr.Num == elem.pr.Index - }) { - return - } - - prinfo := fetchPRInfo(gitea, pr) - rs.prs = append(rs.prs, prinfo) - _, childPRs := common.ExtractDescriptionAndPRs(bufio.NewScanner(strings.NewReader(prinfo.pr.Body))) - for _, childPR := range childPRs { - rs.appendPR(gitea, childPR) - } -} - -func NewReviewInstance(gitea GiteaPRInterface, maintainers MaintainershipData, org, repo string, prNum int) (*ReviewSet, error) { - ret := &ReviewSet{ - maintainers: maintainers, - prs: []PRInfo{}, - } - - ret.appendPR(gitea, common.BasicPR{Org: org, Repo: repo, Num: int64(prNum)}) - return ret, nil -} - -func isReviewMaintainerApproved(pkgMaintainersList []string, review *models.PullReview) bool { - if review.State != common.ReviewStateApproved || review.Stale { - return false; - } - - if slices.Contains(pkgMaintainersList, review.User.UserName) { - return true - } - - return false; -} - -func (prinfo *PRInfo) isMaintainerApproved(pkgMaintainersList []string) bool { - for _, review := range prinfo.reviews { - if isReviewMaintainerApproved(pkgMaintainersList, review) { - return true - } - } - return false -} - -func (rs *ReviewSet) IsMaintainerApproved() (bool, error) { - for _, prinfo := range rs.prs { - pkgMaintainerList := rs.maintainers.ListPackageMaintainers(prinfo.pr.Base.Repo.Name) - if !prinfo.isMaintainerApproved(pkgMaintainerList) { - return false, nil - } - } - return true, nil -}*/ diff --git a/workflow-pr/review_old_test.go b/workflow-pr/review_old_test.go deleted file mode 100644 index ad939a4..0000000 --- a/workflow-pr/review_old_test.go +++ /dev/null @@ -1,285 +0,0 @@ -package main -/* -import ( - "bufio" - "strings" - "testing" - - "go.uber.org/mock/gomock" - "src.opensuse.org/autogits/common" - "src.opensuse.org/autogits/common/gitea-generated/models" - mock_main "src.opensuse.org/workflow-pr/mock" -) - -type pr_review map[string]struct { - pr *models.PullRequest - reviews []*models.PullReview - maintainers []string -} - -func TestReviewApproval(t *testing.T) { - tests := []struct { - name string - prs pr_review - - approved bool - }{ - { - name: "Maintainer not approved", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "nothing PR: foo/foo#10", Index: 10, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{}, - maintainers: []string{"bingo"}, - }, - }, - - approved: false, - }, - { - name: "Maintainer approved", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - }, - - approved: true, - }, - { - name: "Maintainer approval is missing", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"kong", "bingo"}, - }, - }, - - approved: false, - }, - { - name: "Maintainer dis-approved", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateRequestChanges, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - }, - - approved: false, - }, - { - name: "Maintainer review is stale", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - Stale: true, - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - }, - - approved: false, - }, - { - name: "Part of ReviewSet is not approved", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "PR: foo/bar#10", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - "foo/bar#10": { - pr: &models.PullRequest{ - Body: "PR: org/repo#42", Index: 10, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "bar"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateRequestChanges, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - }, - - approved: false, - }, - { - name: "Review set approved", - prs: pr_review{ - "org/repo#42": { - pr: &models.PullRequest{ - Body: "PR: foo/bar#10", Index: 42, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "repo"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - "foo/bar#10": { - pr: &models.PullRequest{ - Body: "PR: org/repo#42", Index: 10, - RequestedReviewers: []*models.User{}, - Base: &models.PRBranchInfo{ - Repo: &models.Repository{ - Owner: &models.User{UserName: "org"}, - Name: "bar"}, - }, - }, - reviews: []*models.PullReview{ - &models.PullReview{ - Body: "wow!", - State: common.ReviewStateApproved, - User: &models.User{ - UserName: "king", - }, - }, - }, - maintainers: []string{"king", "bingo"}, - }, - }, - - approved: true, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - ctl := gomock.NewController(t) - pr := mock_main.NewMockGiteaPRInterface(ctl) - maintainership := mock_main.NewMockMaintainershipData(ctl) - - for params, prs := range test.prs { - _, data := common.ExtractDescriptionAndPRs(bufio.NewScanner(strings.NewReader("PR: " + params))) - if len(data) != 1 { - t.Fatal("bad test setup, fix") - } - pr.EXPECT().GetPullRequestAndReviews(data[0].Org, data[0].Repo, data[0].Num). - Return(prs.pr, prs.reviews, nil) - maintainership.EXPECT().ListPackageMaintainers(data[0].Repo).Return(prs.maintainers) - } - - info, _ := NewReviewInstance(pr, maintainership, "org", "repo", 42) - - approved, _ := info.IsMaintainerApproved() - if test.approved != approved { - t.Error("Unexpected approval state:", approved) - } - }) - } -} -*/