mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:06:18 +01:00 
			
		
		
		
	Fix PR creation via api between branches of same repo with head field namespaced (#26986)
Fix #20175 Current implementation of API does not allow creating pull requests between branches of the same repo when you specify *namespace* (owner of the repo) in `head` field in http request body. --- Although GitHub implementation of API allows performing such action and since Gitea targeting compatibility with GitHub API I see it as an appropriate change. I'm proposing a fix to the described problem and test case which covers this logic. My use-case just in case: https://github.com/go-gitea/gitea/issues/20175#issuecomment-1711283022
This commit is contained in:
		| @@ -126,6 +126,23 @@ func TestAPICreatePullSuccess(t *testing.T) { | ||||
| 	MakeRequest(t, req, http.StatusUnprocessableEntity) // second request should fail | ||||
| } | ||||
|  | ||||
| func TestAPICreatePullSameRepoSuccess(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}) | ||||
|  | ||||
| 	session := loginUser(t, owner.Name) | ||||
| 	token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) | ||||
|  | ||||
| 	req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner.Name, repo.Name), &api.CreatePullRequestOption{ | ||||
| 		Head:  fmt.Sprintf("%s:pr-to-update", owner.Name), | ||||
| 		Base:  "master", | ||||
| 		Title: "successfully create a PR between branches of the same repository", | ||||
| 	}).AddTokenAuth(token) | ||||
| 	MakeRequest(t, req, http.StatusCreated) | ||||
| 	MakeRequest(t, req, http.StatusUnprocessableEntity) // second request should fail | ||||
| } | ||||
|  | ||||
| func TestAPICreatePullWithFieldsSuccess(t *testing.T) { | ||||
| 	defer tests.PrepareTestEnv(t)() | ||||
| 	// repo10 have code, pulls units. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user