fix(pulls): tolerate invalid stored review commit_id (#39849)

Fixes #39848

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
fixfonandwxiaoguang authored and GitHub committed 2026-10-20 11:03:34 -07:00
1 parent edd0c0e2ce
commit 35fa0400e9
10 files changed
+196 -136

No files matched your search

+11
View File
@@ -6,6 +6,7 @@ package integration
import (
"fmt"
"net/http"
"strings"
"testing"
auth_model "gitea.dev/models/auth"
@@ -232,6 +233,16 @@ func testAPIPullReviewGeneral(t *testing.T) {
json.Unmarshal(resp.Body.Bytes(), &errMap)
assert.Equal(t, "review requires a body or a comment", errMap["message"])
unknownCommitID := strings.Repeat("a", 40)
req = NewRequestWithJSON(t, http.MethodPost, reviewsURL, &api.CreatePullReviewOptions{
Event: api.ReviewStateComment,
CommitID: unknownCommitID,
Comments: []api.CreatePullReviewComment{{Path: "README.md", Body: "inline", NewLineNum: 1}},
}).AddTokenAuth(token)
review = DecodeJSON(t, MakeRequest(t, req, http.StatusOK), &api.PullReview{})
assert.Equal(t, unknownCommitID, review.CommitID)
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ReviewID: review.ID, Type: issues_model.CommentTypeCode, Content: "inline"})
// test get review requests
// to make it simple, use same api with get review
pullIssue12 := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 12})