mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Consolidate boilerplate in integration tests (#1979)
This commit is contained in:
		| @@ -23,7 +23,7 @@ func TestAPITeam(t *testing.T) { | |||||||
| 	team := models.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team) | 	team := models.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team) | ||||||
| 	user := models.AssertExistsAndLoadBean(t, &models.User{ID: teamUser.UID}).(*models.User) | 	user := models.AssertExistsAndLoadBean(t, &models.User{ID: teamUser.UID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name, "password") | 	session := loginUser(t, user.Name) | ||||||
| 	url := fmt.Sprintf("/api/v1/teams/%d", teamUser.TeamID) | 	url := fmt.Sprintf("/api/v1/teams/%d", teamUser.TeamID) | ||||||
| 	req := NewRequest(t, "GET", url) | 	req := NewRequest(t, "GET", url) | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
|   | |||||||
| @@ -5,10 +5,8 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| @@ -21,21 +19,19 @@ func TestChangeDefaultBranch(t *testing.T) { | |||||||
| 	repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, owner.Name, "password") | 	session := loginUser(t, owner.Name) | ||||||
| 	branchesURL := fmt.Sprintf("/%s/%s/settings/branches", owner.Name, repo.Name) | 	branchesURL := fmt.Sprintf("/%s/%s/settings/branches", owner.Name, repo.Name) | ||||||
|  |  | ||||||
| 	req := NewRequest(t, "GET", branchesURL) | 	req := NewRequest(t, "GET", branchesURL) | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
|  |  | ||||||
| 	req = NewRequestBody(t, "POST", branchesURL, | 	req = NewRequestWithValues(t, "POST", branchesURL, map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":  doc.GetCSRF(), | ||||||
| 			"_csrf":  []string{doc.GetInputValueByName("_csrf")}, | 		"action": "default_branch", | ||||||
| 			"action": []string{"default_branch"}, | 		"branch": "DefaultBranch", | ||||||
| 			"branch": []string{"DefaultBranch"}, | 	}) | ||||||
| 		}.Encode())) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -43,15 +39,13 @@ func TestChangeDefaultBranch(t *testing.T) { | |||||||
| 	req = NewRequest(t, "GET", branchesURL) | 	req = NewRequest(t, "GET", branchesURL) | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| 	doc, err = NewHtmlParser(resp.Body) | 	doc = NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
|  |  | ||||||
| 	req = NewRequestBody(t, "POST", branchesURL, | 	req = NewRequestWithValues(t, "POST", branchesURL, map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":  doc.GetInputValueByName("_csrf"), | ||||||
| 			"_csrf":  []string{doc.GetInputValueByName("_csrf")}, | 		"action": "default_branch", | ||||||
| 			"action": []string{"default_branch"}, | 		"branch": "does_not_exist", | ||||||
| 			"branch": []string{"does_not_exist"}, | 	}) | ||||||
| 		}.Encode())) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| @@ -18,18 +16,16 @@ import ( | |||||||
| func TestDeleteUser(t *testing.T) { | func TestDeleteUser(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user1", "password") | 	session := loginUser(t, "user1") | ||||||
|  |  | ||||||
| 	req := NewRequest(t, "GET", "/admin/users/8") | 	req := NewRequest(t, "GET", "/admin/users/8") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) | 	req = NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{ | ||||||
| 	req = NewRequestBody(t, "POST", "/admin/users/8/delete", | 		"_csrf": doc.GetCSRF(), | ||||||
| 		bytes.NewBufferString(url.Values{ | 	}) | ||||||
| 			"_csrf": []string{doc.GetInputValueByName("_csrf")}, |  | ||||||
| 		}.Encode())) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"path" | 	"path" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| @@ -17,28 +15,25 @@ import ( | |||||||
| func TestCreateFile(t *testing.T) { | func TestCreateFile(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
|  |  | ||||||
| 	// Request editor page | 	// Request editor page | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/_new/master/") | 	req := NewRequest(t, "GET", "/user2/repo1/_new/master/") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	lastCommit := doc.GetInputValueByName("last_commit") | 	lastCommit := doc.GetInputValueByName("last_commit") | ||||||
| 	assert.NotEmpty(t, lastCommit) | 	assert.NotEmpty(t, lastCommit) | ||||||
|  |  | ||||||
| 	// Save new file to master branch | 	// Save new file to master branch | ||||||
| 	req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/", | 	req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":         doc.GetCSRF(), | ||||||
| 			"_csrf":         []string{doc.GetInputValueByName("_csrf")}, | 		"last_commit":   lastCommit, | ||||||
| 			"last_commit":   []string{lastCommit}, | 		"tree_path":     "test.txt", | ||||||
| 			"tree_path":     []string{"test.txt"}, | 		"content":       "Content", | ||||||
| 			"content":       []string{"Content"}, | 		"commit_choice": "direct", | ||||||
| 			"commit_choice": []string{"direct"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -47,25 +42,21 @@ func TestCreateFile(t *testing.T) { | |||||||
| func TestCreateFileOnProtectedBranch(t *testing.T) { | func TestCreateFileOnProtectedBranch(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
|  |  | ||||||
| 	// Open repository branch settings | 	// Open repository branch settings | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/settings/branches") | 	req := NewRequest(t, "GET", "/user2/repo1/settings/branches") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
|  |  | ||||||
| 	// Change master branch to protected | 	// Change master branch to protected | ||||||
| 	req = NewRequestBody(t, "POST", "/user2/repo1/settings/branches?action=protected_branch", | 	req = NewRequestWithValues(t, "POST", "/user2/repo1/settings/branches?action=protected_branch", map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":      doc.GetCSRF(), | ||||||
| 			"_csrf":      []string{doc.GetInputValueByName("_csrf")}, | 		"branchName": "master", | ||||||
| 			"branchName": []string{"master"}, | 		"canPush":    "true", | ||||||
| 			"canPush":    []string{"true"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| @@ -79,21 +70,19 @@ func TestCreateFileOnProtectedBranch(t *testing.T) { | |||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err = NewHtmlParser(resp.Body) | 	doc = NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	lastCommit := doc.GetInputValueByName("last_commit") | 	lastCommit := doc.GetInputValueByName("last_commit") | ||||||
| 	assert.NotEmpty(t, lastCommit) | 	assert.NotEmpty(t, lastCommit) | ||||||
|  |  | ||||||
| 	// Save new file to master branch | 	// Save new file to master branch | ||||||
| 	req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/", | 	req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":         doc.GetCSRF(), | ||||||
| 			"_csrf":         []string{doc.GetInputValueByName("_csrf")}, | 		"last_commit":   lastCommit, | ||||||
| 			"last_commit":   []string{lastCommit}, | 		"tree_path":     "test.txt", | ||||||
| 			"tree_path":     []string{"test.txt"}, | 		"content":       "Content", | ||||||
| 			"content":       []string{"Content"}, | 		"commit_choice": "direct", | ||||||
| 			"commit_choice": []string{"direct"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| @@ -110,20 +99,19 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa | |||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	lastCommit := htmlDoc.GetInputValueByName("last_commit") | 	lastCommit := htmlDoc.GetInputValueByName("last_commit") | ||||||
| 	assert.NotEmpty(t, lastCommit) | 	assert.NotEmpty(t, lastCommit) | ||||||
|  |  | ||||||
| 	// Submit the edits | 	// Submit the edits | ||||||
| 	req = NewRequestBody(t, "POST", path.Join(user, repo, "_edit", branch, filePath), | 	req = NewRequestWithValues(t, "POST", path.Join(user, repo, "_edit", branch, filePath), | ||||||
| 		bytes.NewBufferString(url.Values{ | 		map[string]string{ | ||||||
| 			"_csrf":         []string{htmlDoc.GetInputValueByName("_csrf")}, | 			"_csrf":         htmlDoc.GetCSRF(), | ||||||
| 			"last_commit":   []string{lastCommit}, | 			"last_commit":   lastCommit, | ||||||
| 			"tree_path":     []string{filePath}, | 			"tree_path":     filePath, | ||||||
| 			"content":       []string{newContent}, | 			"content":       newContent, | ||||||
| 			"commit_choice": []string{"direct"}, | 			"commit_choice": "direct", | ||||||
| 		}.Encode()), | 		}, | ||||||
| 	) | 	) | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| @@ -140,6 +128,6 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa | |||||||
|  |  | ||||||
| func TestEditFile(t *testing.T) { | func TestEditFile(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
| 	testEditFile(t, session, "user2", "repo1", "master", "README.md") | 	testEditFile(t, session, "user2", "repo1", "master", "README.md") | ||||||
| } | } | ||||||
|   | |||||||
| @@ -6,21 +6,20 @@ package integrations | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
|  | 	"testing" | ||||||
|  |  | ||||||
| 	"github.com/PuerkitoBio/goquery" | 	"github.com/PuerkitoBio/goquery" | ||||||
|  | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type HtmlDoc struct { | type HtmlDoc struct { | ||||||
| 	doc *goquery.Document | 	doc *goquery.Document | ||||||
| } | } | ||||||
|  |  | ||||||
| func NewHtmlParser(content []byte) (*HtmlDoc, error) { | func NewHtmlParser(t *testing.T, content []byte) *HtmlDoc { | ||||||
| 	doc, err := goquery.NewDocumentFromReader(bytes.NewReader(content)) | 	doc, err := goquery.NewDocumentFromReader(bytes.NewReader(content)) | ||||||
| 	if err != nil { | 	assert.NoError(t, err) | ||||||
| 		return nil, err | 	return &HtmlDoc{doc: doc} | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	return &HtmlDoc{doc: doc}, nil |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func (doc *HtmlDoc) GetInputValueById(id string) string { | func (doc *HtmlDoc) GetInputValueById(id string) string { | ||||||
| @@ -32,3 +31,7 @@ func (doc *HtmlDoc) GetInputValueByName(name string) string { | |||||||
| 	text, _ := doc.doc.Find("input[name=\"" + name + "\"]").Attr("value") | 	text, _ := doc.doc.Find("input[name=\"" + name + "\"]").Attr("value") | ||||||
| 	return text | 	return text | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (doc *HtmlDoc) GetCSRF() string { | ||||||
|  | 	return doc.GetInputValueByName("_csrf") | ||||||
|  | } | ||||||
|   | |||||||
| @@ -7,6 +7,7 @@ package integrations | |||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"database/sql" | 	"database/sql" | ||||||
|  | 	"encoding/json" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"log" | 	"log" | ||||||
| @@ -155,21 +156,23 @@ func (s *TestSession) MakeRequest(t *testing.T, req *http.Request) *TestResponse | |||||||
| 	return resp | 	return resp | ||||||
| } | } | ||||||
|  |  | ||||||
| func loginUser(t *testing.T, userName, password string) *TestSession { | const userPassword = "password" | ||||||
|  |  | ||||||
|  | func loginUser(t *testing.T, userName string) *TestSession { | ||||||
|  | 	return loginUserWithPassword(t, userName, userPassword) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func loginUserWithPassword(t *testing.T, userName, password string) *TestSession { | ||||||
| 	req := NewRequest(t, "GET", "/user/login") | 	req := NewRequest(t, "GET", "/user/login") | ||||||
| 	resp := MakeRequest(req) | 	resp := MakeRequest(req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) | 	req = NewRequestWithValues(t, "POST", "/user/login", map[string]string{ | ||||||
|  | 		"_csrf":     doc.GetCSRF(), | ||||||
| 	req = NewRequestBody(t, "POST", "/user/login", | 		"user_name": userName, | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"password":  password, | ||||||
| 			"_csrf":     []string{doc.GetInputValueByName("_csrf")}, | 	}) | ||||||
| 			"user_name": []string{userName}, |  | ||||||
| 			"password":  []string{password}, |  | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = MakeRequest(req) | 	resp = MakeRequest(req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -211,14 +214,28 @@ type TestResponse struct { | |||||||
| 	Headers    http.Header | 	Headers    http.Header | ||||||
| } | } | ||||||
|  |  | ||||||
| func NewRequest(t *testing.T, method, url string) *http.Request { | func NewRequest(t *testing.T, method, urlStr string) *http.Request { | ||||||
| 	return NewRequestBody(t, method, url, nil) | 	return NewRequestWithBody(t, method, urlStr, nil) | ||||||
| } | } | ||||||
|  |  | ||||||
| func NewRequestBody(t *testing.T, method, url string, body io.Reader) *http.Request { | func NewRequestWithValues(t *testing.T, method, urlStr string, values map[string]string) *http.Request { | ||||||
| 	request, err := http.NewRequest(method, url, body) | 	urlValues := url.Values{} | ||||||
|  | 	for key, value := range values { | ||||||
|  | 		urlValues[key] = []string{value} | ||||||
|  | 	} | ||||||
|  | 	return NewRequestWithBody(t, method, urlStr, bytes.NewBufferString(urlValues.Encode())) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRequestWithJSON(t *testing.T, method, urlStr string, v interface{}) *http.Request { | ||||||
|  | 	jsonBytes, err := json.Marshal(v) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	request.RequestURI = url | 	return NewRequestWithBody(t, method, urlStr, bytes.NewBuffer(jsonBytes)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRequestWithBody(t *testing.T, method, urlStr string, body io.Reader) *http.Request { | ||||||
|  | 	request, err := http.NewRequest(method, urlStr, body) | ||||||
|  | 	assert.NoError(t, err) | ||||||
|  | 	request.RequestURI = urlStr | ||||||
| 	return request | 	return request | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -45,13 +45,12 @@ func TestNoLoginViewIssuesSortByType(t *testing.T) { | |||||||
| 	repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | 	repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | ||||||
| 	repo.Owner = models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | 	repo.Owner = models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | ||||||
|  |  | ||||||
| 	session := loginUser(t, user.Name, "password") | 	session := loginUser(t, user.Name) | ||||||
| 	req := NewRequest(t, "GET", repo.RelLink()+"/issues?type=created_by") | 	req := NewRequest(t, "GET", repo.RelLink()+"/issues?type=created_by") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	issuesSelection := getIssuesSelection(htmlDoc) | 	issuesSelection := getIssuesSelection(htmlDoc) | ||||||
| 	expectedNumIssues := models.GetCount(t, | 	expectedNumIssues := models.GetCount(t, | ||||||
| 		&models.Issue{RepoID: repo.ID, PosterID: user.ID}, | 		&models.Issue{RepoID: repo.ID, PosterID: user.ID}, | ||||||
|   | |||||||
| @@ -14,12 +14,11 @@ import ( | |||||||
| func TestPullCompare(t *testing.T) { | func TestPullCompare(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/pulls") | 	req := NewRequest(t, "GET", "/user2/repo1/pulls") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href") | 	link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"path" | 	"path" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| @@ -20,8 +18,7 @@ func testPullCreate(t *testing.T, session *TestSession, user, repo, branch strin | |||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	// Click the little green button to create a pull | 	// Click the little green button to create a pull | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists := htmlDoc.doc.Find("button.ui.green.small.button").Parent().Attr("href") | 	link, exists := htmlDoc.doc.Find("button.ui.green.small.button").Parent().Attr("href") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
|  |  | ||||||
| @@ -30,16 +27,13 @@ func testPullCreate(t *testing.T, session *TestSession, user, repo, branch strin | |||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	// Submit the form for creating the pull | 	// Submit the form for creating the pull | ||||||
| 	htmlDoc, err = NewHtmlParser(resp.Body) | 	htmlDoc = NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists = htmlDoc.doc.Find("form.ui.form").Attr("action") | 	link, exists = htmlDoc.doc.Find("form.ui.form").Attr("action") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
| 	req = NewRequestBody(t, "POST", link, | 	req = NewRequestWithValues(t, "POST", link, map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf": htmlDoc.GetCSRF(), | ||||||
| 			"_csrf": []string{htmlDoc.GetInputValueByName("_csrf")}, | 		"title": "This is a pull title", | ||||||
| 			"title": []string{"This is a pull title"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -51,7 +45,7 @@ func testPullCreate(t *testing.T, session *TestSession, user, repo, branch strin | |||||||
|  |  | ||||||
| func TestPullCreate(t *testing.T) { | func TestPullCreate(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
| 	session := loginUser(t, "user1", "password") | 	session := loginUser(t, "user1") | ||||||
| 	testRepoFork(t, session) | 	testRepoFork(t, session) | ||||||
| 	testEditFile(t, session, "user1", "repo1", "master", "README.md") | 	testEditFile(t, session, "user1", "repo1", "master", "README.md") | ||||||
| 	testPullCreate(t, session, "user1", "repo1", "master") | 	testPullCreate(t, session, "user1", "repo1", "master") | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"path" | 	"path" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"testing" | 	"testing" | ||||||
| @@ -21,15 +19,12 @@ func testPullMerge(t *testing.T, session *TestSession, user, repo, pullnum strin | |||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	// Click the little green button to craete a pull | 	// Click the little green button to craete a pull | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists := htmlDoc.doc.Find("form.ui.form>button.ui.green.button").Parent().Attr("action") | 	link, exists := htmlDoc.doc.Find("form.ui.form>button.ui.green.button").Parent().Attr("action") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
| 	req = NewRequestBody(t, "POST", link, | 	req = NewRequestWithValues(t, "POST", link, map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf": htmlDoc.GetCSRF(), | ||||||
| 			"_csrf": []string{htmlDoc.GetInputValueByName("_csrf")}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -39,7 +34,7 @@ func testPullMerge(t *testing.T, session *TestSession, user, repo, pullnum strin | |||||||
|  |  | ||||||
| func TestPullMerge(t *testing.T) { | func TestPullMerge(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
| 	session := loginUser(t, "user1", "password") | 	session := loginUser(t, "user1") | ||||||
| 	testRepoFork(t, session) | 	testRepoFork(t, session) | ||||||
| 	testEditFile(t, session, "user1", "repo1", "master", "README.md") | 	testEditFile(t, session, "user1", "repo1", "master", "README.md") | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ import ( | |||||||
| func TestViewReleases(t *testing.T) { | func TestViewReleases(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/releases") | 	req := NewRequest(t, "GET", "/user2/repo1/releases") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|   | |||||||
| @@ -5,26 +5,26 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"path" | 	"path" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
|  | 	api "code.gitea.io/sdk/gitea" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestRepoCommits(t *testing.T) { | func TestRepoCommits(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
|  |  | ||||||
| 	// Request repository commits page | 	// Request repository commits page | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/commits/master") | 	req := NewRequest(t, "GET", "/user2/repo1/commits/master") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href") | 	commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href") | ||||||
| 	assert.True(t, exists) | 	assert.True(t, exists) | ||||||
| 	assert.NotEmpty(t, commitURL) | 	assert.NotEmpty(t, commitURL) | ||||||
| @@ -33,23 +33,28 @@ func TestRepoCommits(t *testing.T) { | |||||||
| func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) { | func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
|  |  | ||||||
| 	// Request repository commits page | 	// Request repository commits page | ||||||
| 	req := NewRequest(t, "GET", "/user2/repo1/commits/master") | 	req := NewRequest(t, "GET", "/user2/repo1/commits/master") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err := NewHtmlParser(resp.Body) | 	doc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	// Get first commit URL | 	// Get first commit URL | ||||||
| 	commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href") | 	commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href") | ||||||
| 	assert.True(t, exists) | 	assert.True(t, exists) | ||||||
| 	assert.NotEmpty(t, commitURL) | 	assert.NotEmpty(t, commitURL) | ||||||
|  |  | ||||||
| 	// Call API to add status for commit | 	// Call API to add status for commit | ||||||
| 	req = NewRequestBody(t, "POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL), | 	req = NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL), | ||||||
| 		bytes.NewBufferString("{\"state\":\""+state+"\", \"target_url\": \"http://test.ci/\", \"description\": \"\", \"context\": \"testci\"}")) | 		api.CreateStatusOption{ | ||||||
|  | 			State:       api.StatusState(state), | ||||||
|  | 			TargetURL:   "http://test.ci/", | ||||||
|  | 			Description: "", | ||||||
|  | 			Context:     "testci", | ||||||
|  | 		}, | ||||||
|  | 	) | ||||||
|  |  | ||||||
| 	req.Header.Add("Content-Type", "application/json") | 	req.Header.Add("Content-Type", "application/json") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| @@ -59,8 +64,7 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) { | |||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	doc, err = NewHtmlParser(resp.Body) | 	doc = NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	// Check if commit status is displayed in message column | 	// Check if commit status is displayed in message column | ||||||
| 	sel := doc.doc.Find("#commits-table tbody tr td.message i.commit-status") | 	sel := doc.doc.Find("#commits-table tbody tr td.message i.commit-status") | ||||||
| 	assert.Equal(t, sel.Length(), 1) | 	assert.Equal(t, sel.Length(), 1) | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| @@ -25,8 +23,7 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse { | |||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	// Step2: click the fork button | 	// Step2: click the fork button | ||||||
| 	htmlDoc, err := NewHtmlParser(resp.Body) | 	htmlDoc := NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href") | 	link, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
| 	req = NewRequest(t, "GET", link) | 	req = NewRequest(t, "GET", link) | ||||||
| @@ -34,17 +31,14 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse { | |||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	// Step3: fill the form of the forking | 	// Step3: fill the form of the forking | ||||||
| 	htmlDoc, err = NewHtmlParser(resp.Body) | 	htmlDoc = NewHtmlParser(t, resp.Body) | ||||||
| 	assert.NoError(t, err) |  | ||||||
| 	link, exists = htmlDoc.doc.Find("form.ui.form[action^=\"/repo/fork/\"]").Attr("action") | 	link, exists = htmlDoc.doc.Find("form.ui.form[action^=\"/repo/fork/\"]").Attr("action") | ||||||
| 	assert.True(t, exists, "The template has changed") | 	assert.True(t, exists, "The template has changed") | ||||||
| 	req = NewRequestBody(t, "POST", link, | 	req = NewRequestWithValues(t, "POST", link, map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"_csrf":     htmlDoc.GetCSRF(), | ||||||
| 			"_csrf":     []string{htmlDoc.GetInputValueByName("_csrf")}, | 		"uid":       "1", | ||||||
| 			"uid":       []string{"1"}, | 		"repo_name": "repo1", | ||||||
| 			"repo_name": []string{"repo1"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
| @@ -59,6 +53,6 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse { | |||||||
|  |  | ||||||
| func TestRepoFork(t *testing.T) { | func TestRepoFork(t *testing.T) { | ||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
| 	session := loginUser(t, "user1", "password") | 	session := loginUser(t, "user1") | ||||||
| 	testRepoFork(t, session) | 	testRepoFork(t, session) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ func TestViewRepo(t *testing.T) { | |||||||
| 	resp = MakeRequest(req) | 	resp = MakeRequest(req) | ||||||
| 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | ||||||
|  |  | ||||||
| 	session := loginUser(t, "user1", "password") | 	session := loginUser(t, "user1") | ||||||
| 	resp = session.MakeRequest(t, req) | 	resp = session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode) | ||||||
| } | } | ||||||
| @@ -31,7 +31,7 @@ func TestViewRepo2(t *testing.T) { | |||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	req := NewRequest(t, "GET", "/user3/repo3") | 	req := NewRequest(t, "GET", "/user3/repo3") | ||||||
| 	session := loginUser(t, "user2", "password") | 	session := loginUser(t, "user2") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| } | } | ||||||
| @@ -40,7 +40,7 @@ func TestViewRepo3(t *testing.T) { | |||||||
| 	prepareTestEnv(t) | 	prepareTestEnv(t) | ||||||
|  |  | ||||||
| 	req := NewRequest(t, "GET", "/user3/repo3") | 	req := NewRequest(t, "GET", "/user3/repo3") | ||||||
| 	session := loginUser(t, "user3", "password") | 	session := loginUser(t, "user3") | ||||||
| 	resp := session.MakeRequest(t, req) | 	resp := session.MakeRequest(t, req) | ||||||
| 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusOK, resp.HeaderCode) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -5,9 +5,7 @@ | |||||||
| package integrations | package integrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" |  | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" |  | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -20,14 +18,12 @@ func TestSignup(t *testing.T) { | |||||||
|  |  | ||||||
| 	setting.Service.EnableCaptcha = false | 	setting.Service.EnableCaptcha = false | ||||||
|  |  | ||||||
| 	req := NewRequestBody(t, "POST", "/user/sign_up", | 	req := NewRequestWithValues(t, "POST", "/user/sign_up", map[string]string{ | ||||||
| 		bytes.NewBufferString(url.Values{ | 		"user_name": "exampleUser", | ||||||
| 			"user_name": []string{"exampleUser"}, | 		"email":     "exampleUser@example.com", | ||||||
| 			"email":     []string{"exampleUser@example.com"}, | 		"password":  "examplePassword", | ||||||
| 			"password":  []string{"examplePassword"}, | 		"retype":    "examplePassword", | ||||||
| 			"retype":    []string{"examplePassword"}, | 	}) | ||||||
| 		}.Encode()), |  | ||||||
| 	) |  | ||||||
| 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Add("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	resp := MakeRequest(req) | 	resp := MakeRequest(req) | ||||||
| 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | 	assert.EqualValues(t, http.StatusFound, resp.HeaderCode) | ||||||
|   | |||||||
| @@ -1,3 +1,5 @@ | |||||||
|  | # NOTE: all users should have a password of "password" | ||||||
|  |  | ||||||
| - # NOTE: this user (id=1) is the admin | - # NOTE: this user (id=1) is the admin | ||||||
|   id: 1 |   id: 1 | ||||||
|   lower_name: user1 |   lower_name: user1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user