diff options
author | Gusted <gusted@noreply.codeberg.org> | 2024-03-06 19:18:58 +0100 |
---|---|---|
committer | Gusted <gusted@noreply.codeberg.org> | 2024-03-06 19:18:58 +0100 |
commit | b9e27b64e66348cc6bc5bf48794215d094939334 (patch) | |
tree | 6b0c205b3b2432dd87b7a88f1a0c1357edbd639e /tests | |
parent | Merge pull request '[BUG] Remember topic only in repo search' (#2575) from gu... (diff) | |
parent | [BUG] Disable CODEOWNERS for forked repositories (diff) | |
download | forgejo-b9e27b64e66348cc6bc5bf48794215d094939334.tar.xz forgejo-b9e27b64e66348cc6bc5bf48794215d094939334.zip |
Merge pull request '[BUG] Disable CODEOWNERS for forked repositories' (#2537) from gusted/forgejo-codeowner-forked into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2537
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/codeowner_test.go | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/tests/integration/codeowner_test.go b/tests/integration/codeowner_test.go index e1324782f8..7668755547 100644 --- a/tests/integration/codeowner_test.go +++ b/tests/integration/codeowner_test.go @@ -14,6 +14,7 @@ import ( "time" issues_model "code.gitea.io/gitea/models/issues" + repo_model "code.gitea.io/gitea/models/repo" unit_model "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" @@ -42,9 +43,9 @@ func TestCodeOwner(t *testing.T) { dstPath := t.TempDir() r := fmt.Sprintf("%suser2/%s.git", u.String(), repo.Name) - u, _ = url.Parse(r) - u.User = url.UserPassword("user2", userPassword) - assert.NoError(t, git.CloneWithArgs(context.Background(), nil, u.String(), dstPath, git.CloneRepoOptions{})) + cloneURL, _ := url.Parse(r) + cloneURL.User = url.UserPassword("user2", userPassword) + assert.NoError(t, git.CloneWithArgs(context.Background(), nil, cloneURL.String(), dstPath, git.CloneRepoOptions{})) t.Run("Normal", func(t *testing.T) { defer tests.PrintCurrentTest(t)() @@ -77,6 +78,26 @@ func TestCodeOwner(t *testing.T) { unittest.AssertExistsIf(t, true, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 5}) }) + t.Run("Forked repository", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + + session := loginUser(t, "user1") + testRepoFork(t, session, user2.Name, repo.Name, "user1", "repo1") + + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user1", Name: "repo1"}) + + r := fmt.Sprintf("%suser1/repo1.git", u.String()) + remoteURL, _ := url.Parse(r) + remoteURL.User = url.UserPassword("user2", userPassword) + doGitAddRemote(dstPath, "forked", remoteURL)(t) + + err := git.NewCommand(git.DefaultContext, "push", "forked", "HEAD:refs/for/main", "-o", "topic=codeowner-forked").Run(&git.RunOpts{Dir: dstPath}) + assert.NoError(t, err) + + pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: repo.ID, HeadBranch: "user2/codeowner-forked"}) + unittest.AssertExistsIf(t, false, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 5}) + }) + t.Run("Out of date", func(t *testing.T) { defer tests.PrintCurrentTest(t)() |