forked from NYANDEV/forgejo
[TESTS] add TestAPIForkDifferentName
Refs: https://codeberg.org/forgejo/forgejo/pulls/1719
(cherry picked from commit ed34138915
)
(cherry picked from commit 166d769a6eda0cece2ccbfd3c12f1fce41e2c5b8)
(cherry picked from commit 8da818646c7c129b9a61b9b983f20ab1af897bc4)
(cherry picked from commit 95c9d6ede40f3aab7578f38b1881a2472fd20931)
(cherry picked from commit 505ffa2cc444d5917d394a2cebd5e4554d6a0370)
(cherry picked from commit 602bf1fa7f2f3d4db73dbab83ba889a6b9701427)
[TESTS] add TestAPIForkDifferentName (squash) do not use token= query param
See https://codeberg.org/forgejo/forgejo/commit/33439b733a
(cherry picked from commit d600fabdbcaa8eb01e7b0f6bf337fa1aa844c2da)
(cherry picked from commit 40c1130c410359ab007c2b92081856ca0f805c55)
(cherry picked from commit 7b254f84cfd3aa58ee80d7ea8ae0e1c9636cdc3e)
This commit is contained in:
parent
dc80ba9a97
commit
af15c5a60a
1 changed files with 23 additions and 0 deletions
|
@ -209,6 +209,29 @@ func TestAPIEditPull(t *testing.T) {
|
||||||
MakeRequest(t, req, http.StatusNotFound)
|
MakeRequest(t, req, http.StatusNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAPIForkDifferentName(t *testing.T) {
|
||||||
|
defer tests.PrepareTestEnv(t)()
|
||||||
|
|
||||||
|
// Step 1: get a repo and a user that can fork this repo
|
||||||
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||||
|
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
|
||||||
|
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
|
||||||
|
|
||||||
|
session := loginUser(t, user.Name)
|
||||||
|
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser)
|
||||||
|
|
||||||
|
// Step 2: fork this repo with another name
|
||||||
|
forkName := "myfork"
|
||||||
|
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks", owner.Name, repo.Name),
|
||||||
|
&api.CreateForkOption{Name: &forkName}).AddTokenAuth(token)
|
||||||
|
MakeRequest(t, req, http.StatusAccepted)
|
||||||
|
|
||||||
|
// Step 3: make a PR onto the original repo, it should succeed
|
||||||
|
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/pulls?state=all", owner.Name, repo.Name),
|
||||||
|
&api.CreatePullRequestOption{Head: user.Name + ":master", Base: "master", Title: "hi"}).AddTokenAuth(token)
|
||||||
|
MakeRequest(t, req, http.StatusCreated)
|
||||||
|
}
|
||||||
|
|
||||||
func doAPIGetPullFiles(ctx APITestContext, pr *api.PullRequest, callback func(*testing.T, []*api.ChangedFile)) func(*testing.T) {
|
func doAPIGetPullFiles(ctx APITestContext, pr *api.PullRequest, callback func(*testing.T, []*api.ChangedFile)) func(*testing.T) {
|
||||||
return func(t *testing.T) {
|
return func(t *testing.T) {
|
||||||
req := NewRequest(t, http.MethodGet, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/files", ctx.Username, ctx.Reponame, pr.Index)).
|
req := NewRequest(t, http.MethodGet, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/files", ctx.Username, ctx.Reponame, pr.Index)).
|
||||||
|
|
Loading…
Reference in a new issue