From 8726ce26356b1f23d8e177d5b1851570e409b7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dachary?= Date: Thu, 2 Nov 2023 14:48:57 +0100 Subject: [PATCH] test PATCH /api/v1/repos/{owner}/{repo}/issues/comments/{id} (cherry picked from commit 362f340ed9ee28627140ca06dd7487a8989ef62b) --- tests/integration/api_comment_test.go | 16 +++++++++++++++- .../fixtures/TestAPIComment/comment.yml | 9 +++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tests/integration/fixtures/TestAPIComment/comment.yml diff --git a/tests/integration/api_comment_test.go b/tests/integration/api_comment_test.go index 0be4896105..761d4b36af 100644 --- a/tests/integration/api_comment_test.go +++ b/tests/integration/api_comment_test.go @@ -174,15 +174,29 @@ func TestAPIGetSystemUserComment(t *testing.T) { } func TestAPIEditComment(t *testing.T) { + defer tests.AddFixtures("tests/integration/fixtures/TestAPIComment/")() defer tests.PrepareTestEnv(t)() const newCommentBody = "This is the new comment body" - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{}, + comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: 1008}, unittest.Cond("type = ?", issues_model.CommentTypeComment)) issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: comment.IssueID}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) + t.Run("UnrelatedCommentID", func(t *testing.T) { + // Using the ID of a comment that does not belong to the repository must fail + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4}) + repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) + token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d?token=%s", + repoOwner.Name, repo.Name, comment.ID, token) + req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{ + "body": newCommentBody, + }) + MakeRequest(t, req, http.StatusNotFound) + }) + token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d?token=%s", repoOwner.Name, repo.Name, comment.ID, token) diff --git a/tests/integration/fixtures/TestAPIComment/comment.yml b/tests/integration/fixtures/TestAPIComment/comment.yml new file mode 100644 index 0000000000..bf5bc3486c --- /dev/null +++ b/tests/integration/fixtures/TestAPIComment/comment.yml @@ -0,0 +1,9 @@ + +- + id: 1008 + type: 0 # comment + poster_id: 2 + issue_id: 4 # in repo_id 2 + content: "comment in private pository" + created_unix: 946684811 + updated_unix: 946684811