Skip to content

Display URLs in integration test logs #1924

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 10, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions integrations/api_repo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,15 @@ import (
func TestAPIUserReposNotLogin(t *testing.T) {
assert.NoError(t, models.LoadFixtures())

req, err := http.NewRequest("GET", "/api/v1/users/user2/repos", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/api/v1/users/user2/repos")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}

func TestAPISearchRepoNotLogin(t *testing.T) {
assert.NoError(t, models.LoadFixtures())

req, err := http.NewRequest("GET", "/api/v1/repos/search?q=Test", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/api/v1/repos/search?q=Test")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
3 changes: 1 addition & 2 deletions integrations/api_team_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ func TestAPITeam(t *testing.T) {

session := loginUser(t, user.Name, "password")
url := fmt.Sprintf("/api/v1/teams/%d", teamUser.TeamID)
req, err := http.NewRequest("GET", url, nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", url)
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand Down
6 changes: 2 additions & 4 deletions integrations/delete_user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,16 @@ func TestDeleteUser(t *testing.T) {

session := loginUser(t, "user1", "password")

req, err := http.NewRequest("GET", "/admin/users/8", nil)
assert.NoError(t, err)
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, err = http.NewRequest("POST", "/admin/users/8/delete",
req = NewRequestBody(t, "POST", "/admin/users/8/delete",
bytes.NewBufferString(url.Values{
"_csrf": []string{doc.GetInputValueByName("_csrf")},
}.Encode()))
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
Expand Down
26 changes: 9 additions & 17 deletions integrations/editor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ func TestCreateFile(t *testing.T) {
session := loginUser(t, "user2", "password")

// Request editor page
req, err := http.NewRequest("GET", "/user2/repo1/_new/master/", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/_new/master/")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -31,7 +30,7 @@ func TestCreateFile(t *testing.T) {
assert.NotEmpty(t, lastCommit)

// Save new file to master branch
req, err = http.NewRequest("POST", "/user2/repo1/_new/master/",
req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/",
bytes.NewBufferString(url.Values{
"_csrf": []string{doc.GetInputValueByName("_csrf")},
"last_commit": []string{lastCommit},
Expand All @@ -40,7 +39,6 @@ func TestCreateFile(t *testing.T) {
"commit_choice": []string{"direct"},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
Expand All @@ -52,16 +50,15 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
session := loginUser(t, "user2", "password")

// Open repository branch settings
req, err := http.NewRequest("GET", "/user2/repo1/settings/branches", nil)
assert.NoError(t, err)
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)

// Change master branch to protected
req, err = http.NewRequest("POST", "/user2/repo1/settings/branches?action=protected_branch",
req = NewRequestBody(t, "POST", "/user2/repo1/settings/branches?action=protected_branch",
bytes.NewBufferString(url.Values{
"_csrf": []string{doc.GetInputValueByName("_csrf")},
"branchName": []string{"master"},
Expand All @@ -78,8 +75,7 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
assert.EqualValues(t, flashCookie.Value, "success%3Dmaster%2BLocked%2Bsuccessfully")

// Request editor page
req, err = http.NewRequest("GET", "/user2/repo1/_new/master/", nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", "/user2/repo1/_new/master/")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -89,7 +85,7 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
assert.NotEmpty(t, lastCommit)

// Save new file to master branch
req, err = http.NewRequest("POST", "/user2/repo1/_new/master/",
req = NewRequestBody(t, "POST", "/user2/repo1/_new/master/",
bytes.NewBufferString(url.Values{
"_csrf": []string{doc.GetInputValueByName("_csrf")},
"last_commit": []string{lastCommit},
Expand All @@ -98,7 +94,6 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
"commit_choice": []string{"direct"},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
Expand All @@ -111,8 +106,7 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa
newContent := "Hello, World (Edited)\n"

// Get to the 'edit this file' page
req, err := http.NewRequest("GET", path.Join(user, repo, "_edit", branch, filePath), nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", path.Join(user, repo, "_edit", branch, filePath))
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -122,7 +116,7 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa
assert.NotEmpty(t, lastCommit)

// Submit the edits
req, err = http.NewRequest("POST", path.Join(user, repo, "_edit", branch, filePath),
req = NewRequestBody(t, "POST", path.Join(user, repo, "_edit", branch, filePath),
bytes.NewBufferString(url.Values{
"_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
"last_commit": []string{lastCommit},
Expand All @@ -131,14 +125,12 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa
"commit_choice": []string{"direct"},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)

// Verify the change
req, err = http.NewRequest("GET", path.Join(user, repo, "raw", branch, filePath), nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", path.Join(user, repo, "raw", branch, filePath))
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
assert.EqualValues(t, newContent, string(resp.Body))
Expand Down
17 changes: 13 additions & 4 deletions integrations/integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,22 +147,20 @@ func (s *TestSession) MakeRequest(t *testing.T, req *http.Request) *TestResponse
}

func loginUser(t *testing.T, userName, password string) *TestSession {
req, err := http.NewRequest("GET", "/user/login", nil)
assert.NoError(t, err)
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, err = http.NewRequest("POST", "/user/login",
req = NewRequestBody(t, "POST", "/user/login",
bytes.NewBufferString(url.Values{
"_csrf": []string{doc.GetInputValueByName("_csrf")},
"user_name": []string{userName},
"password": []string{password},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = MakeRequest(req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)
Expand Down Expand Up @@ -204,6 +202,17 @@ type TestResponse struct {
Headers http.Header
}

func NewRequest(t *testing.T, method, url string) *http.Request {
return NewRequestBody(t, method, url, nil)
}

func NewRequestBody(t *testing.T, method, url string, body io.Reader) *http.Request {
request, err := http.NewRequest(method, url, body)
assert.NoError(t, err)
request.RequestURI = url
return request
}

func MakeRequest(req *http.Request) *TestResponse {
buffer := bytes.NewBuffer(nil)
respWriter := &TestResponseWriter{
Expand Down
3 changes: 1 addition & 2 deletions integrations/internal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ import (

func assertProtectedBranch(t *testing.T, repoID int64, branchName string, isErr, canPush bool) {
reqURL := fmt.Sprintf("/api/internal/branch/%d/%s", repoID, url.QueryEscape(branchName))
req, err := http.NewRequest("GET", reqURL, nil)
req := NewRequest(t, "GET", reqURL)
t.Log(reqURL)
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", setting.InternalToken))

assert.NoError(t, err)
resp := MakeRequest(req)
if isErr {
assert.EqualValues(t, 500, resp.HeaderCode)
Expand Down
6 changes: 2 additions & 4 deletions integrations/issue_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,15 @@ import (
func TestNoLoginViewIssues(t *testing.T) {
prepareTestEnv(t)

req, err := http.NewRequest("GET", "/user2/repo1/issues", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/issues")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}

func TestNoLoginViewIssue(t *testing.T) {
prepareTestEnv(t)

req, err := http.NewRequest("GET", "/user2/repo1/issues/1", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/issues/1")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
6 changes: 2 additions & 4 deletions integrations/pull_compare_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,15 @@ func TestPullCompare(t *testing.T) {
prepareTestEnv(t)

session := loginUser(t, "user2", "password")
req, err := http.NewRequest("GET", "/user2/repo1/pulls", nil)
assert.NoError(t, err)
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)
link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href")
assert.True(t, exists, "The template has changed")

req, err = http.NewRequest("GET", link, nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", link)
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
3 changes: 1 addition & 2 deletions integrations/release_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ func TestViewReleases(t *testing.T) {
prepareTestEnv(t)

session := loginUser(t, "user2", "password")
req, err := http.NewRequest("GET", "/user2/repo1/releases", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/releases")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
12 changes: 4 additions & 8 deletions integrations/repo_commits_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ func TestRepoCommits(t *testing.T) {
session := loginUser(t, "user2", "password")

// Request repository commits page
req, err := http.NewRequest("GET", "/user2/repo1/commits/master", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/commits/master")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -37,8 +36,7 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
session := loginUser(t, "user2", "password")

// Request repository commits page
req, err := http.NewRequest("GET", "/user2/repo1/commits/master", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1/commits/master")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -50,16 +48,14 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
assert.NotEmpty(t, commitURL)

// Call API to add status for commit
req, err = http.NewRequest("POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL),
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\"}"))

assert.NoError(t, err)
req.Header.Add("Content-Type", "application/json")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusCreated, resp.HeaderCode)

req, err = http.NewRequest("GET", "/user2/repo1/commits/master", nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", "/user2/repo1/commits/master")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand Down
15 changes: 5 additions & 10 deletions integrations/repo_fork_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@ import (

func testRepoFork(t *testing.T, session *TestSession) {
// Step0: check the existence of the to-fork repo
req, err := http.NewRequest("GET", "/user1/repo1", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user1/repo1")
resp := session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode)

// Step1: go to the main page of repo
req, err = http.NewRequest("GET", "/user2/repo1", nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", "/user2/repo1")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -31,8 +29,7 @@ func testRepoFork(t *testing.T, session *TestSession) {
assert.NoError(t, err)
link, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href")
assert.True(t, exists, "The template has changed")
req, err = http.NewRequest("GET", link, nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", link)
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)

Expand All @@ -41,21 +38,19 @@ func testRepoFork(t *testing.T, session *TestSession) {
assert.NoError(t, err)
link, exists = htmlDoc.doc.Find("form.ui.form[action^=\"/repo/fork/\"]").Attr("action")
assert.True(t, exists, "The template has changed")
req, err = http.NewRequest("POST", link,
req = NewRequestBody(t, "POST", link,
bytes.NewBufferString(url.Values{
"_csrf": []string{htmlDoc.GetInputValueByName("_csrf")},
"uid": []string{"1"},
"repo_name": []string{"repo1"},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)

// Step4: check the existence of the forked repo
req, err = http.NewRequest("GET", "/user1/repo1", nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", "/user1/repo1")
resp = session.MakeRequest(t, req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
Expand Down
3 changes: 1 addition & 2 deletions integrations/repo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ import (
func TestViewRepo(t *testing.T) {
prepareTestEnv(t)

req, err := http.NewRequest("GET", "/user2/repo1", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2/repo1")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
6 changes: 2 additions & 4 deletions integrations/signup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,20 @@ func TestSignup(t *testing.T) {

setting.Service.EnableCaptcha = false

req, err := http.NewRequest("POST", "/user/sign_up",
req := NewRequestBody(t, "POST", "/user/sign_up",
bytes.NewBufferString(url.Values{
"user_name": []string{"exampleUser"},
"email": []string{"[email protected]"},
"password": []string{"examplePassword"},
"retype": []string{"examplePassword"},
}.Encode()),
)
assert.NoError(t, err)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusFound, resp.HeaderCode)

// should be able to view new user's page
req, err = http.NewRequest("GET", "/exampleUser", nil)
assert.NoError(t, err)
req = NewRequest(t, "GET", "/exampleUser")
resp = MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
3 changes: 1 addition & 2 deletions integrations/user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ import (
func TestViewUser(t *testing.T) {
prepareTestEnv(t)

req, err := http.NewRequest("GET", "/user2", nil)
assert.NoError(t, err)
req := NewRequest(t, "GET", "/user2")
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
Loading