summaryrefslogtreecommitdiffstats
path: root/integrations
diff options
context:
space:
mode:
authorEthan Koenig <etk39@cornell.edu>2017-06-17 00:49:45 -0400
committerLunny Xiao <xiaolunwen@gmail.com>2017-06-17 12:49:45 +0800
commitce9b86082c4824917023b1bb480648d0cc56dd04 (patch)
treeba28673c955d009492557f54953857165e2f8da8 /integrations
parenta3868ef5367315f52334b81819a412cad820f5eb (diff)
downloadgitea-ce9b86082c4824917023b1bb480648d0cc56dd04.tar.gz
gitea-ce9b86082c4824917023b1bb480648d0cc56dd04.zip
Consolidate boilerplate in integration tests (#1979)
Diffstat (limited to 'integrations')
-rw-r--r--integrations/api_team_test.go2
-rw-r--r--integrations/change_default_branch_test.go36
-rw-r--r--integrations/delete_user_test.go14
-rw-r--r--integrations/editor_test.go82
-rw-r--r--integrations/html_helper.go15
-rw-r--r--integrations/integration_test.go49
-rw-r--r--integrations/issue_test.go5
-rw-r--r--integrations/pull_compare_test.go5
-rw-r--r--integrations/pull_create_test.go20
-rw-r--r--integrations/pull_merge_test.go15
-rw-r--r--integrations/release_test.go2
-rw-r--r--integrations/repo_commits_test.go26
-rw-r--r--integrations/repo_fork_test.go22
-rw-r--r--integrations/repo_test.go6
-rw-r--r--integrations/signup_test.go16
15 files changed, 147 insertions, 168 deletions
diff --git a/integrations/api_team_test.go b/integrations/api_team_test.go
index 69198cd7eb..9103042042 100644
--- a/integrations/api_team_test.go
+++ b/integrations/api_team_test.go
@@ -23,7 +23,7 @@ func TestAPITeam(t *testing.T) {
team := models.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team)
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)
req := NewRequest(t, "GET", url)
resp := session.MakeRequest(t, req)
diff --git a/integrations/change_default_branch_test.go b/integrations/change_default_branch_test.go
index 03ece46a58..d34cd176cd 100644
--- a/integrations/change_default_branch_test.go
+++ b/integrations/change_default_branch_test.go
@@ -5,10 +5,8 @@
package integrations
import (
- "bytes"
"fmt"
"net/http"
- "net/url"
"testing"
"code.gitea.io/gitea/models"
@@ -21,21 +19,19 @@ func TestChangeDefaultBranch(t *testing.T) {
repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
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)
req := NewRequest(t, "GET", branchesURL)
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
-
- req = NewRequestBody(t, "POST", branchesURL,
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "action": []string{"default_branch"},
- "branch": []string{"DefaultBranch"},
- }.Encode()))
+ doc := NewHtmlParser(t, resp.Body)
+
+ req = NewRequestWithValues(t, "POST", branchesURL, map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "action": "default_branch",
+ "branch": "DefaultBranch",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
@@ -43,15 +39,13 @@ func TestChangeDefaultBranch(t *testing.T) {
req = NewRequest(t, "GET", branchesURL)
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err = NewHtmlParser(resp.Body)
- assert.NoError(t, err)
-
- req = NewRequestBody(t, "POST", branchesURL,
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "action": []string{"default_branch"},
- "branch": []string{"does_not_exist"},
- }.Encode()))
+ doc = NewHtmlParser(t, resp.Body)
+
+ req = NewRequestWithValues(t, "POST", branchesURL, map[string]string{
+ "_csrf": doc.GetInputValueByName("_csrf"),
+ "action": "default_branch",
+ "branch": "does_not_exist",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode)
diff --git a/integrations/delete_user_test.go b/integrations/delete_user_test.go
index 2040830f2e..c5230d0220 100644
--- a/integrations/delete_user_test.go
+++ b/integrations/delete_user_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"testing"
"code.gitea.io/gitea/models"
@@ -18,18 +16,16 @@ import (
func TestDeleteUser(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user1", "password")
+ session := loginUser(t, "user1")
req := NewRequest(t, "GET", "/admin/users/8")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
- req = NewRequestBody(t, "POST", "/admin/users/8/delete",
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- }.Encode()))
+ doc := NewHtmlParser(t, resp.Body)
+ req = NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
diff --git a/integrations/editor_test.go b/integrations/editor_test.go
index 540caca264..10d9dc5318 100644
--- a/integrations/editor_test.go
+++ b/integrations/editor_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"path"
"testing"
@@ -17,28 +15,25 @@ import (
func TestCreateFile(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
// Request editor page
req := NewRequest(t, "GET", "/user2/repo1/_new/master/")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc := NewHtmlParser(t, resp.Body)
lastCommit := doc.GetInputValueByName("last_commit")
assert.NotEmpty(t, lastCommit)
// Save new file to master branch
- req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/",
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "last_commit": []string{lastCommit},
- "tree_path": []string{"test.txt"},
- "content": []string{"Content"},
- "commit_choice": []string{"direct"},
- }.Encode()),
- )
+ req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": "test.txt",
+ "content": "Content",
+ "commit_choice": "direct",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
@@ -47,25 +42,21 @@ func TestCreateFile(t *testing.T) {
func TestCreateFileOnProtectedBranch(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
// Open repository branch settings
req := NewRequest(t, "GET", "/user2/repo1/settings/branches")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc := NewHtmlParser(t, resp.Body)
// Change master branch to protected
- req = NewRequestBody(t, "POST", "/user2/repo1/settings/branches?action=protected_branch",
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "branchName": []string{"master"},
- "canPush": []string{"true"},
- }.Encode()),
- )
- assert.NoError(t, err)
+ req = NewRequestWithValues(t, "POST", "/user2/repo1/settings/branches?action=protected_branch", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "branchName": "master",
+ "canPush": "true",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
@@ -79,21 +70,19 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err = NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc = NewHtmlParser(t, resp.Body)
lastCommit := doc.GetInputValueByName("last_commit")
assert.NotEmpty(t, lastCommit)
// Save new file to master branch
- req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/",
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "last_commit": []string{lastCommit},
- "tree_path": []string{"test.txt"},
- "content": []string{"Content"},
- "commit_choice": []string{"direct"},
- }.Encode()),
- )
+ req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": "test.txt",
+ "content": "Content",
+ "commit_choice": "direct",
+ })
+
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
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)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
lastCommit := htmlDoc.GetInputValueByName("last_commit")
assert.NotEmpty(t, lastCommit)
// Submit the edits
- req = NewRequestBody(t, "POST", path.Join(user, repo, "_edit", branch, filePath),
- bytes.NewBufferString(url.Values{
- "_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
- "last_commit": []string{lastCommit},
- "tree_path": []string{filePath},
- "content": []string{newContent},
- "commit_choice": []string{"direct"},
- }.Encode()),
+ req = NewRequestWithValues(t, "POST", path.Join(user, repo, "_edit", branch, filePath),
+ map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": filePath,
+ "content": newContent,
+ "commit_choice": "direct",
+ },
)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
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) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
testEditFile(t, session, "user2", "repo1", "master", "README.md")
}
diff --git a/integrations/html_helper.go b/integrations/html_helper.go
index 63f7340c5c..3bddd2930d 100644
--- a/integrations/html_helper.go
+++ b/integrations/html_helper.go
@@ -6,21 +6,20 @@ package integrations
import (
"bytes"
+ "testing"
"github.com/PuerkitoBio/goquery"
+ "github.com/stretchr/testify/assert"
)
type HtmlDoc struct {
doc *goquery.Document
}
-func NewHtmlParser(content []byte) (*HtmlDoc, error) {
+func NewHtmlParser(t *testing.T, content []byte) *HtmlDoc {
doc, err := goquery.NewDocumentFromReader(bytes.NewReader(content))
- if err != nil {
- return nil, err
- }
-
- return &HtmlDoc{doc: doc}, nil
+ assert.NoError(t, err)
+ return &HtmlDoc{doc: doc}
}
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")
return text
}
+
+func (doc *HtmlDoc) GetCSRF() string {
+ return doc.GetInputValueByName("_csrf")
+}
diff --git a/integrations/integration_test.go b/integrations/integration_test.go
index 5c0da501d5..cc5a57f2d5 100644
--- a/integrations/integration_test.go
+++ b/integrations/integration_test.go
@@ -7,6 +7,7 @@ package integrations
import (
"bytes"
"database/sql"
+ "encoding/json"
"fmt"
"io"
"log"
@@ -155,21 +156,23 @@ func (s *TestSession) MakeRequest(t *testing.T, req *http.Request) *TestResponse
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")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
-
- req = NewRequestBody(t, "POST", "/user/login",
- bytes.NewBufferString(url.Values{
- "_csrf": []string{doc.GetInputValueByName("_csrf")},
- "user_name": []string{userName},
- "password": []string{password},
- }.Encode()),
- )
+ doc := NewHtmlParser(t, resp.Body)
+ req = NewRequestWithValues(t, "POST", "/user/login", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "user_name": userName,
+ "password": password,
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = MakeRequest(req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
@@ -211,14 +214,28 @@ type TestResponse struct {
Headers http.Header
}
-func NewRequest(t *testing.T, method, url string) *http.Request {
- return NewRequestBody(t, method, url, nil)
+func NewRequest(t *testing.T, method, urlStr string) *http.Request {
+ return NewRequestWithBody(t, method, urlStr, nil)
+}
+
+func NewRequestWithValues(t *testing.T, method, urlStr string, values map[string]string) *http.Request {
+ 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)
+ return NewRequestWithBody(t, method, urlStr, bytes.NewBuffer(jsonBytes))
}
-func NewRequestBody(t *testing.T, method, url string, body io.Reader) *http.Request {
- request, err := http.NewRequest(method, url, body)
+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 = url
+ request.RequestURI = urlStr
return request
}
diff --git a/integrations/issue_test.go b/integrations/issue_test.go
index f94f11a863..4d78ab4b98 100644
--- a/integrations/issue_test.go
+++ b/integrations/issue_test.go
@@ -45,13 +45,12 @@ func TestNoLoginViewIssuesSortByType(t *testing.T) {
repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
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")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
issuesSelection := getIssuesSelection(htmlDoc)
expectedNumIssues := models.GetCount(t,
&models.Issue{RepoID: repo.ID, PosterID: user.ID},
diff --git a/integrations/pull_compare_test.go b/integrations/pull_compare_test.go
index 737d5ab823..5ff7b4b6cb 100644
--- a/integrations/pull_compare_test.go
+++ b/integrations/pull_compare_test.go
@@ -14,12 +14,11 @@ import (
func TestPullCompare(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
req := NewRequest(t, "GET", "/user2/repo1/pulls")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href")
assert.True(t, exists, "The template has changed")
diff --git a/integrations/pull_create_test.go b/integrations/pull_create_test.go
index ac8df33c6a..f518c1bb55 100644
--- a/integrations/pull_create_test.go
+++ b/integrations/pull_create_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"path"
"testing"
@@ -20,8 +18,7 @@ func testPullCreate(t *testing.T, session *TestSession, user, repo, branch strin
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
// Click the little green button to create a pull
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
link, exists := htmlDoc.doc.Find("button.ui.green.small.button").Parent().Attr("href")
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)
// Submit the form for creating the pull
- htmlDoc, err = NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc = NewHtmlParser(t, resp.Body)
link, exists = htmlDoc.doc.Find("form.ui.form").Attr("action")
assert.True(t, exists, "The template has changed")
- req = NewRequestBody(t, "POST", link,
- bytes.NewBufferString(url.Values{
- "_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
- "title": []string{"This is a pull title"},
- }.Encode()),
- )
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "title": "This is a pull title",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
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) {
prepareTestEnv(t)
- session := loginUser(t, "user1", "password")
+ session := loginUser(t, "user1")
testRepoFork(t, session)
testEditFile(t, session, "user1", "repo1", "master", "README.md")
testPullCreate(t, session, "user1", "repo1", "master")
diff --git a/integrations/pull_merge_test.go b/integrations/pull_merge_test.go
index 1b9337a673..33d9960115 100644
--- a/integrations/pull_merge_test.go
+++ b/integrations/pull_merge_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"path"
"strings"
"testing"
@@ -21,15 +19,12 @@ func testPullMerge(t *testing.T, session *TestSession, user, repo, pullnum strin
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
// Click the little green button to craete a pull
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
link, exists := htmlDoc.doc.Find("form.ui.form>button.ui.green.button").Parent().Attr("action")
assert.True(t, exists, "The template has changed")
- req = NewRequestBody(t, "POST", link,
- bytes.NewBufferString(url.Values{
- "_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
- }.Encode()),
- )
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
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) {
prepareTestEnv(t)
- session := loginUser(t, "user1", "password")
+ session := loginUser(t, "user1")
testRepoFork(t, session)
testEditFile(t, session, "user1", "repo1", "master", "README.md")
diff --git a/integrations/release_test.go b/integrations/release_test.go
index 8f29ddc639..ce33ad61d9 100644
--- a/integrations/release_test.go
+++ b/integrations/release_test.go
@@ -14,7 +14,7 @@ import (
func TestViewReleases(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
req := NewRequest(t, "GET", "/user2/repo1/releases")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
diff --git a/integrations/repo_commits_test.go b/integrations/repo_commits_test.go
index 476458e63f..8343cf22a6 100644
--- a/integrations/repo_commits_test.go
+++ b/integrations/repo_commits_test.go
@@ -5,26 +5,26 @@
package integrations
import (
- "bytes"
"net/http"
"path"
"testing"
+ api "code.gitea.io/sdk/gitea"
+
"github.com/stretchr/testify/assert"
)
func TestRepoCommits(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
// Request repository commits page
req := NewRequest(t, "GET", "/user2/repo1/commits/master")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc := NewHtmlParser(t, resp.Body)
commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href")
assert.True(t, exists)
assert.NotEmpty(t, commitURL)
@@ -33,23 +33,28 @@ func TestRepoCommits(t *testing.T) {
func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
prepareTestEnv(t)
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
// Request repository commits page
req := NewRequest(t, "GET", "/user2/repo1/commits/master")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc := NewHtmlParser(t, resp.Body)
// Get first commit URL
commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href")
assert.True(t, exists)
assert.NotEmpty(t, commitURL)
// Call API to add status for commit
- req = NewRequestBody(t, "POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL),
- bytes.NewBufferString("{\"state\":\""+state+"\", \"target_url\": \"http://test.ci/\", \"description\": \"\", \"context\": \"testci\"}"))
+ req = NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL),
+ api.CreateStatusOption{
+ State: api.StatusState(state),
+ TargetURL: "http://test.ci/",
+ Description: "",
+ Context: "testci",
+ },
+ )
req.Header.Add("Content-Type", "application/json")
resp = session.MakeRequest(t, req)
@@ -59,8 +64,7 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
- doc, err = NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ doc = NewHtmlParser(t, resp.Body)
// Check if commit status is displayed in message column
sel := doc.doc.Find("#commits-table tbody tr td.message i.commit-status")
assert.Equal(t, sel.Length(), 1)
diff --git a/integrations/repo_fork_test.go b/integrations/repo_fork_test.go
index a0cf85a01e..7aebd5dbde 100644
--- a/integrations/repo_fork_test.go
+++ b/integrations/repo_fork_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"testing"
"github.com/stretchr/testify/assert"
@@ -25,8 +23,7 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse {
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
// Step2: click the fork button
- htmlDoc, err := NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc := NewHtmlParser(t, resp.Body)
link, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href")
assert.True(t, exists, "The template has changed")
req = NewRequest(t, "GET", link)
@@ -34,17 +31,14 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse {
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
// Step3: fill the form of the forking
- htmlDoc, err = NewHtmlParser(resp.Body)
- assert.NoError(t, err)
+ htmlDoc = NewHtmlParser(t, resp.Body)
link, exists = htmlDoc.doc.Find("form.ui.form[action^=\"/repo/fork/\"]").Attr("action")
assert.True(t, exists, "The template has changed")
- req = NewRequestBody(t, "POST", link,
- bytes.NewBufferString(url.Values{
- "_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
- "uid": []string{"1"},
- "repo_name": []string{"repo1"},
- }.Encode()),
- )
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "uid": "1",
+ "repo_name": "repo1",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
@@ -59,6 +53,6 @@ func testRepoFork(t *testing.T, session *TestSession) *TestResponse {
func TestRepoFork(t *testing.T) {
prepareTestEnv(t)
- session := loginUser(t, "user1", "password")
+ session := loginUser(t, "user1")
testRepoFork(t, session)
}
diff --git a/integrations/repo_test.go b/integrations/repo_test.go
index a602d96f79..23df6d733c 100644
--- a/integrations/repo_test.go
+++ b/integrations/repo_test.go
@@ -22,7 +22,7 @@ func TestViewRepo(t *testing.T) {
resp = MakeRequest(req)
assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode)
- session := loginUser(t, "user1", "password")
+ session := loginUser(t, "user1")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode)
}
@@ -31,7 +31,7 @@ func TestViewRepo2(t *testing.T) {
prepareTestEnv(t)
req := NewRequest(t, "GET", "/user3/repo3")
- session := loginUser(t, "user2", "password")
+ session := loginUser(t, "user2")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
@@ -40,7 +40,7 @@ func TestViewRepo3(t *testing.T) {
prepareTestEnv(t)
req := NewRequest(t, "GET", "/user3/repo3")
- session := loginUser(t, "user3", "password")
+ session := loginUser(t, "user3")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
diff --git a/integrations/signup_test.go b/integrations/signup_test.go
index 4bb84c1a20..6d4768ec12 100644
--- a/integrations/signup_test.go
+++ b/integrations/signup_test.go
@@ -5,9 +5,7 @@
package integrations
import (
- "bytes"
"net/http"
- "net/url"
"testing"
"code.gitea.io/gitea/modules/setting"
@@ -20,14 +18,12 @@ func TestSignup(t *testing.T) {
setting.Service.EnableCaptcha = false
- req := NewRequestBody(t, "POST", "/user/sign_up",
- bytes.NewBufferString(url.Values{
- "user_name": []string{"exampleUser"},
- "email": []string{"exampleUser@example.com"},
- "password": []string{"examplePassword"},
- "retype": []string{"examplePassword"},
- }.Encode()),
- )
+ req := NewRequestWithValues(t, "POST", "/user/sign_up", map[string]string{
+ "user_name": "exampleUser",
+ "email": "exampleUser@example.com",
+ "password": "examplePassword",
+ "retype": "examplePassword",
+ })
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)