Follow up to https://github.com/go-gitea/gitea/pull/28484, this PR enables the setting for integration tests and migrates a few additional test queries.tags/v1.22.0-rc0
@@ -216,8 +216,6 @@ func TestAPIEditIssue(t *testing.T) { | |||
func TestAPISearchIssues(t *testing.T) { | |||
defer tests.PrepareTestEnv(t)() | |||
token := getUserToken(t, "user2", auth_model.AccessTokenScopeReadIssue) | |||
// as this API was used in the frontend, it uses UI page size | |||
expectedIssueCount := 18 // from the fixtures | |||
if expectedIssueCount > setting.UI.IssuePagingNum { | |||
@@ -225,11 +223,12 @@ func TestAPISearchIssues(t *testing.T) { | |||
} | |||
link, _ := url.Parse("/api/v1/repos/issues/search") | |||
query := url.Values{"token": {getUserToken(t, "user1", auth_model.AccessTokenScopeReadIssue)}} | |||
token := getUserToken(t, "user1", auth_model.AccessTokenScopeReadIssue) | |||
query := url.Values{} | |||
var apiIssues []*api.Issue | |||
link.RawQuery = query.Encode() | |||
req := NewRequest(t, "GET", link.String()) | |||
req := NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp := MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, expectedIssueCount) | |||
@@ -238,9 +237,8 @@ func TestAPISearchIssues(t *testing.T) { | |||
before := time.Unix(999307200, 0).Format(time.RFC3339) | |||
query.Add("since", since) | |||
query.Add("before", before) | |||
query.Add("token", token) | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 11) | |||
@@ -249,14 +247,14 @@ func TestAPISearchIssues(t *testing.T) { | |||
query.Add("state", "closed") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
query.Set("state", "all") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.EqualValues(t, "20", resp.Header().Get("X-Total-Count")) | |||
@@ -264,50 +262,50 @@ func TestAPISearchIssues(t *testing.T) { | |||
query.Add("limit", "10") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.EqualValues(t, "20", resp.Header().Get("X-Total-Count")) | |||
assert.Len(t, apiIssues, 10) | |||
query = url.Values{"assigned": {"true"}, "state": {"all"}, "token": {token}} | |||
query = url.Values{"assigned": {"true"}, "state": {"all"}} | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
query = url.Values{"milestones": {"milestone1"}, "state": {"all"}, "token": {token}} | |||
query = url.Values{"milestones": {"milestone1"}, "state": {"all"}} | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 1) | |||
query = url.Values{"milestones": {"milestone1,milestone3"}, "state": {"all"}, "token": {token}} | |||
query = url.Values{"milestones": {"milestone1,milestone3"}, "state": {"all"}} | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
query = url.Values{"owner": {"user2"}, "token": {token}} // user | |||
query = url.Values{"owner": {"user2"}} // user | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 8) | |||
query = url.Values{"owner": {"org3"}, "token": {token}} // organization | |||
query = url.Values{"owner": {"org3"}} // organization | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 5) | |||
query = url.Values{"owner": {"org3"}, "team": {"team1"}, "token": {token}} // organization + team | |||
query = url.Values{"owner": {"org3"}, "team": {"team1"}} // organization + team | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
@@ -323,18 +321,19 @@ func TestAPISearchIssuesWithLabels(t *testing.T) { | |||
} | |||
link, _ := url.Parse("/api/v1/repos/issues/search") | |||
query := url.Values{"token": {getUserToken(t, "user1", auth_model.AccessTokenScopeReadIssue)}} | |||
token := getUserToken(t, "user1", auth_model.AccessTokenScopeReadIssue) | |||
query := url.Values{} | |||
var apiIssues []*api.Issue | |||
link.RawQuery = query.Encode() | |||
req := NewRequest(t, "GET", link.String()) | |||
req := NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp := MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, expectedIssueCount) | |||
query.Add("labels", "label1") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
@@ -342,7 +341,7 @@ func TestAPISearchIssuesWithLabels(t *testing.T) { | |||
// multiple labels | |||
query.Set("labels", "label1,label2") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
@@ -350,7 +349,7 @@ func TestAPISearchIssuesWithLabels(t *testing.T) { | |||
// an org label | |||
query.Set("labels", "orglabel4") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 1) | |||
@@ -359,7 +358,7 @@ func TestAPISearchIssuesWithLabels(t *testing.T) { | |||
query.Set("labels", "label2,orglabel4") | |||
query.Add("state", "all") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) | |||
@@ -367,7 +366,7 @@ func TestAPISearchIssuesWithLabels(t *testing.T) { | |||
// org and repo label which share the same issue | |||
query.Set("labels", "label1,orglabel4") | |||
link.RawQuery = query.Encode() | |||
req = NewRequest(t, "GET", link.String()) | |||
req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &apiIssues) | |||
assert.Len(t, apiIssues, 2) |
@@ -32,8 +32,7 @@ func TestAPIListReleases(t *testing.T) { | |||
token := getUserToken(t, user2.LowerName, auth_model.AccessTokenScopeReadRepository) | |||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/releases", user2.Name, repo.Name)) | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
var apiReleases []*api.Release | |||
DecodeJSON(t, resp, &apiReleases) | |||
if assert.Len(t, apiReleases, 3) { |
@@ -28,27 +28,23 @@ func TestAPIDownloadArchive(t *testing.T) { | |||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) | |||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.zip", user2.Name, repo.Name)) | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err := io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
assert.Len(t, bs, 320) | |||
link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.tar.gz", user2.Name, repo.Name)) | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
assert.Len(t, bs, 266) | |||
link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.bundle", user2.Name, repo.Name)) | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
assert.Len(t, bs, 382) | |||
link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master", user2.Name, repo.Name)) | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusBadRequest) | |||
MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusBadRequest) | |||
} |
@@ -31,8 +31,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { | |||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) | |||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches", repo3.Name)) // a plain repo | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err := io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
@@ -43,15 +42,14 @@ func TestAPIRepoBranchesPlain(t *testing.T) { | |||
assert.EqualValues(t, "master", branches[1].Name) | |||
link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch", repo3.Name)) | |||
link2.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp = MakeRequest(t, NewRequest(t, "GET", link2.String()), http.StatusOK) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link2.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
var branch api.Branch | |||
assert.NoError(t, json.Unmarshal(bs, &branch)) | |||
assert.EqualValues(t, "test_branch", branch.Name) | |||
req := NewRequest(t, "POST", link.String()) | |||
req := NewRequest(t, "POST", link.String()).AddTokenAuth(token) | |||
req.Header.Add("Content-Type", "application/json") | |||
req.Body = io.NopCloser(bytes.NewBufferString(`{"new_branch_name":"test_branch2", "old_branch_name": "test_branch", "old_ref_name":"refs/heads/test_branch"}`)) | |||
resp = MakeRequest(t, req, http.StatusCreated) | |||
@@ -62,7 +60,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { | |||
assert.EqualValues(t, "test_branch2", branch2.Name) | |||
assert.EqualValues(t, branch.Commit.ID, branch2.Commit.ID) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
@@ -76,8 +74,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { | |||
link3, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch2", repo3.Name)) | |||
MakeRequest(t, NewRequest(t, "DELETE", link3.String()), http.StatusNotFound) | |||
link3.RawQuery = url.Values{"token": {token}}.Encode() | |||
MakeRequest(t, NewRequest(t, "DELETE", link3.String()), http.StatusNoContent) | |||
MakeRequest(t, NewRequest(t, "DELETE", link3.String()).AddTokenAuth(token), http.StatusNoContent) | |||
assert.NoError(t, err) | |||
}) | |||
} | |||
@@ -91,8 +88,7 @@ func TestAPIRepoBranchesMirror(t *testing.T) { | |||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) | |||
link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches", repo5.Name)) // a mirror repo | |||
link.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) | |||
resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err := io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
@@ -103,15 +99,14 @@ func TestAPIRepoBranchesMirror(t *testing.T) { | |||
assert.EqualValues(t, "master", branches[1].Name) | |||
link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch", repo5.Name)) | |||
link2.RawQuery = url.Values{"token": {token}}.Encode() | |||
resp = MakeRequest(t, NewRequest(t, "GET", link2.String()), http.StatusOK) | |||
resp = MakeRequest(t, NewRequest(t, "GET", link2.String()).AddTokenAuth(token), http.StatusOK) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
var branch api.Branch | |||
assert.NoError(t, json.Unmarshal(bs, &branch)) | |||
assert.EqualValues(t, "test_branch", branch.Name) | |||
req := NewRequest(t, "POST", link.String()) | |||
req := NewRequest(t, "POST", link.String()).AddTokenAuth(token) | |||
req.Header.Add("Content-Type", "application/json") | |||
req.Body = io.NopCloser(bytes.NewBufferString(`{"new_branch_name":"test_branch2", "old_branch_name": "test_branch", "old_ref_name":"refs/heads/test_branch"}`)) | |||
resp = MakeRequest(t, req, http.StatusForbidden) | |||
@@ -119,7 +114,7 @@ func TestAPIRepoBranchesMirror(t *testing.T) { | |||
assert.NoError(t, err) | |||
assert.EqualValues(t, "{\"message\":\"Git Repository is a mirror.\",\"url\":\""+setting.AppURL+"api/swagger\"}\n", string(bs)) | |||
resp = MakeRequest(t, NewRequest(t, "DELETE", link2.String()), http.StatusForbidden) | |||
resp = MakeRequest(t, NewRequest(t, "DELETE", link2.String()).AddTokenAuth(token), http.StatusForbidden) | |||
bs, err = io.ReadAll(resp.Body) | |||
assert.NoError(t, err) | |||
assert.EqualValues(t, "{\"message\":\"Git Repository is a mirror.\",\"url\":\""+setting.AppURL+"api/swagger\"}\n", string(bs)) |
@@ -100,6 +100,7 @@ DISABLE_GIT_HOOKS = false | |||
INSTALL_LOCK = true | |||
SECRET_KEY = 9pCviYTWSb | |||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ | |||
DISABLE_QUERY_AUTH_TOKEN = true | |||
[lfs] | |||
PATH = tests/{{TEST_TYPE}}/gitea-{{TEST_TYPE}}-mssql/data/lfs |
@@ -98,6 +98,7 @@ DISABLE_GIT_HOOKS = false | |||
INSTALL_LOCK = true | |||
SECRET_KEY = 9pCviYTWSb | |||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ | |||
DISABLE_QUERY_AUTH_TOKEN = true | |||
[lfs] | |||
PATH = tests/{{TEST_TYPE}}/gitea-{{TEST_TYPE}}-mysql/data/lfs |
@@ -101,6 +101,7 @@ DISABLE_GIT_HOOKS = false | |||
INSTALL_LOCK = true | |||
SECRET_KEY = 9pCviYTWSb | |||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ | |||
DISABLE_QUERY_AUTH_TOKEN = true | |||
[lfs] | |||
MINIO_BASE_PATH = lfs/ |
@@ -97,6 +97,7 @@ DISABLE_GIT_HOOKS = false | |||
INSTALL_LOCK = true | |||
SECRET_KEY = 9pCviYTWSb | |||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTI3OTU5ODN9.OQkH5UmzID2XBdwQ9TAI6Jj2t1X-wElVTjbE7aoN4I8 | |||
DISABLE_QUERY_AUTH_TOKEN = true | |||
[oauth2] | |||
JWT_SECRET = KZb_QLUd4fYVyxetjxC4eZkrBgWM2SndOOWDNtgUUko |