From ef98b168f74851138ba16131197174a75ded3f6c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 7 Dec 2019 23:52:36 +0800 Subject: Move UpdateIssuesCommit from models to repofiles (#9276) --- models/action_test.go | 205 -------------------------------------------------- 1 file changed, 205 deletions(-) (limited to 'models/action_test.go') diff --git a/models/action_test.go b/models/action_test.go index 2131607fc1..c0344ebd44 100644 --- a/models/action_test.go +++ b/models/action_test.go @@ -127,211 +127,6 @@ func TestPushCommits_AvatarLink(t *testing.T) { pushCommits.AvatarLink("nonexistent@example.com")) } -func TestUpdateIssuesCommit(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) - pushCommits := []*PushCommit{ - { - Sha1: "abcdef1", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user4@example.com", - AuthorName: "User Four", - Message: "start working on #FST-1, #1", - }, - { - Sha1: "abcdef2", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user2@example.com", - AuthorName: "User Two", - Message: "a plain message", - }, - { - Sha1: "abcdef2", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user2@example.com", - AuthorName: "User Two", - Message: "close #2", - }, - } - - user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) - repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) - repo.Owner = user - - commentBean := &Comment{ - Type: CommentTypeCommitRef, - CommitSHA: "abcdef1", - PosterID: user.ID, - IssueID: 1, - } - issueBean := &Issue{RepoID: repo.ID, Index: 4} - - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, &Issue{RepoID: repo.ID, Index: 2}, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, repo.DefaultBranch)) - AssertExistsAndLoadBean(t, commentBean) - AssertExistsAndLoadBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) - - // Test that push to a non-default branch closes no issue. - pushCommits = []*PushCommit{ - { - Sha1: "abcdef1", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user4@example.com", - AuthorName: "User Four", - Message: "close #1", - }, - } - repo = AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) - commentBean = &Comment{ - Type: CommentTypeCommitRef, - CommitSHA: "abcdef1", - PosterID: user.ID, - IssueID: 6, - } - issueBean = &Issue{RepoID: repo.ID, Index: 1} - - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, &Issue{RepoID: repo.ID, Index: 1}, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, "non-existing-branch")) - AssertExistsAndLoadBean(t, commentBean) - AssertNotExistsBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) -} - -func TestUpdateIssuesCommit_Colon(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) - pushCommits := []*PushCommit{ - { - Sha1: "abcdef2", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user2@example.com", - AuthorName: "User Two", - Message: "close: #2", - }, - } - - user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) - repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) - repo.Owner = user - - issueBean := &Issue{RepoID: repo.ID, Index: 4} - - AssertNotExistsBean(t, &Issue{RepoID: repo.ID, Index: 2}, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, repo.DefaultBranch)) - AssertExistsAndLoadBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) -} - -func TestUpdateIssuesCommit_Issue5957(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) - user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) - - // Test that push to a non-default branch closes an issue. - pushCommits := []*PushCommit{ - { - Sha1: "abcdef1", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user4@example.com", - AuthorName: "User Four", - Message: "close #2", - }, - } - - repo := AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) - commentBean := &Comment{ - Type: CommentTypeCommitRef, - CommitSHA: "abcdef1", - PosterID: user.ID, - IssueID: 7, - } - - issueBean := &Issue{RepoID: repo.ID, Index: 2, ID: 7} - - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, issueBean, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, "non-existing-branch")) - AssertExistsAndLoadBean(t, commentBean) - AssertExistsAndLoadBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) -} - -func TestUpdateIssuesCommit_AnotherRepo(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) - user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) - - // Test that a push to default branch closes issue in another repo - // If the user also has push permissions to that repo - pushCommits := []*PushCommit{ - { - Sha1: "abcdef1", - CommitterEmail: "user2@example.com", - CommitterName: "User Two", - AuthorEmail: "user2@example.com", - AuthorName: "User Two", - Message: "close user2/repo1#1", - }, - } - - repo := AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) - commentBean := &Comment{ - Type: CommentTypeCommitRef, - CommitSHA: "abcdef1", - PosterID: user.ID, - IssueID: 1, - } - - issueBean := &Issue{RepoID: 1, Index: 1, ID: 1} - - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, issueBean, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, repo.DefaultBranch)) - AssertExistsAndLoadBean(t, commentBean) - AssertExistsAndLoadBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) -} - -func TestUpdateIssuesCommit_AnotherRepoNoPermission(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) - user := AssertExistsAndLoadBean(t, &User{ID: 10}).(*User) - - // Test that a push with close reference *can not* close issue - // If the commiter doesn't have push rights in that repo - pushCommits := []*PushCommit{ - { - Sha1: "abcdef3", - CommitterEmail: "user10@example.com", - CommitterName: "User Ten", - AuthorEmail: "user10@example.com", - AuthorName: "User Ten", - Message: "close user3/repo3#1", - }, - } - - repo := AssertExistsAndLoadBean(t, &Repository{ID: 6}).(*Repository) - commentBean := &Comment{ - Type: CommentTypeCommitRef, - CommitSHA: "abcdef3", - PosterID: user.ID, - IssueID: 6, - } - - issueBean := &Issue{RepoID: 3, Index: 1, ID: 6} - - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, issueBean, "is_closed=1") - assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, repo.DefaultBranch)) - AssertNotExistsBean(t, commentBean) - AssertNotExistsBean(t, issueBean, "is_closed=1") - CheckConsistencyFor(t, &Action{}) -} - func TestGetFeeds(t *testing.T) { // test with an individual user assert.NoError(t, PrepareTestDatabase()) -- cgit v1.2.3