mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Fix bug in getting merged pull request by commit (#32079)
This commit is contained in:
		| @@ -1286,6 +1286,8 @@ func Routes() *web.Router { | ||||
| 					m.Group("/{ref}", func() { | ||||
| 						m.Get("/status", repo.GetCombinedCommitStatusByRef) | ||||
| 						m.Get("/statuses", repo.GetCommitStatusesByRef) | ||||
| 					}, context.ReferencesGitRepo()) | ||||
| 					m.Group("/{sha}", func() { | ||||
| 						m.Get("/pull", repo.GetCommitPullRequest) | ||||
| 					}, context.ReferencesGitRepo()) | ||||
| 				}, reqRepoReader(unit.TypeCode)) | ||||
|   | ||||
| @@ -325,11 +325,11 @@ func DownloadCommitDiffOrPatch(ctx *context.APIContext) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // GetCommitPullRequest returns the pull request of the commit | ||||
| // GetCommitPullRequest returns the merged pull request of the commit | ||||
| func GetCommitPullRequest(ctx *context.APIContext) { | ||||
| 	// swagger:operation GET /repos/{owner}/{repo}/commits/{sha}/pull repository repoGetCommitPullRequest | ||||
| 	// --- | ||||
| 	// summary: Get the pull request of the commit | ||||
| 	// summary: Get the merged pull request of the commit | ||||
| 	// produces: | ||||
| 	// - application/json | ||||
| 	// parameters: | ||||
| @@ -354,7 +354,7 @@ func GetCommitPullRequest(ctx *context.APIContext) { | ||||
| 	//   "404": | ||||
| 	//     "$ref": "#/responses/notFound" | ||||
|  | ||||
| 	pr, err := issues_model.GetPullRequestByMergedCommit(ctx, ctx.Repo.Repository.ID, ctx.PathParam(":sha")) | ||||
| 	pr, err := issues_model.GetPullRequestByMergedCommit(ctx, ctx.Repo.Repository.ID, ctx.PathParam("sha")) | ||||
| 	if err != nil { | ||||
| 		if issues_model.IsErrPullRequestNotExist(err) { | ||||
| 			ctx.Error(http.StatusNotFound, "GetPullRequestByMergedCommit", err) | ||||
|   | ||||
							
								
								
									
										2
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							| @@ -5446,7 +5446,7 @@ | ||||
|         "tags": [ | ||||
|           "repository" | ||||
|         ], | ||||
|         "summary": "Get the pull request of the commit", | ||||
|         "summary": "Get the merged pull request of the commit", | ||||
|         "operationId": "repoGetCommitPullRequest", | ||||
|         "parameters": [ | ||||
|           { | ||||
|   | ||||
| @@ -334,3 +334,19 @@ func doAPIGetPullFiles(ctx APITestContext, pr *api.PullRequest, callback func(*t | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestAPICommitPullRequest(t *testing.T) { | ||||
| 	defer tests.PrepareTestEnv(t)() | ||||
| 	repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) | ||||
| 	owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) | ||||
|  | ||||
| 	ctx := NewAPITestContext(t, "user2", repo.Name, auth_model.AccessTokenScopeReadRepository) | ||||
|  | ||||
| 	mergedCommitSHA := "1a8823cd1a9549fde083f992f6b9b87a7ab74fb3" | ||||
| 	req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/commits/%s/pull", owner.Name, repo.Name, mergedCommitSHA).AddTokenAuth(ctx.Token) | ||||
| 	ctx.Session.MakeRequest(t, req, http.StatusOK) | ||||
|  | ||||
| 	invalidCommitSHA := "abcd1234abcd1234abcd1234abcd1234abcd1234" | ||||
| 	req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/commits/%s/pull", owner.Name, repo.Name, invalidCommitSHA).AddTokenAuth(ctx.Token) | ||||
| 	ctx.Session.MakeRequest(t, req, http.StatusNotFound) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user