* Fix data race in testlogger * Update git_helper_for_declarative_test.gotags/v1.21.12.1
| @@ -69,7 +69,7 @@ func TestAPIAdminOrgCreateBadVisibility(t *testing.T) { | |||
| } | |||
| func TestAPIAdminOrgCreateNotAdmin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| nonAdminUsername := "user2" | |||
| session := loginUser(t, nonAdminUsername) | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // user1 is an admin user | |||
| session := loginUser(t, "user1") | |||
| keyOwner := models.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User) | |||
| @@ -46,7 +46,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) { | |||
| } | |||
| func TestAPIAdminDeleteMissingSSHKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // user1 is an admin user | |||
| session := loginUser(t, "user1") | |||
| @@ -56,7 +56,7 @@ func TestAPIAdminDeleteMissingSSHKey(t *testing.T) { | |||
| } | |||
| func TestAPIAdminDeleteUnauthorizedKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| normalUsername := "user2" | |||
| session := loginUser(t, adminUsername) | |||
| @@ -79,7 +79,7 @@ func TestAPIAdminDeleteUnauthorizedKey(t *testing.T) { | |||
| } | |||
| func TestAPISudoUser(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| normalUsername := "user2" | |||
| session := loginUser(t, adminUsername) | |||
| @@ -95,7 +95,7 @@ func TestAPISudoUser(t *testing.T) { | |||
| } | |||
| func TestAPISudoUserForbidden(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| normalUsername := "user2" | |||
| @@ -108,7 +108,7 @@ func TestAPISudoUserForbidden(t *testing.T) { | |||
| } | |||
| func TestAPIListUsers(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| session := loginUser(t, adminUsername) | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -131,13 +131,13 @@ func TestAPIListUsers(t *testing.T) { | |||
| } | |||
| func TestAPIListUsersNotLoggedIn(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/api/v1/admin/users") | |||
| MakeRequest(t, req, http.StatusUnauthorized) | |||
| } | |||
| func TestAPIListUsersNonAdmin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| nonAdminUsername := "user2" | |||
| session := loginUser(t, nonAdminUsername) | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -14,7 +14,7 @@ import ( | |||
| ) | |||
| func testAPIGetBranch(t *testing.T, branchName string, exists bool) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPIListRepoComments(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| comment := models.AssertExistsAndLoadBean(t, &models.Comment{}, | |||
| models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | |||
| @@ -40,7 +40,7 @@ func TestAPIListRepoComments(t *testing.T) { | |||
| } | |||
| func TestAPIListIssueComments(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| comment := models.AssertExistsAndLoadBean(t, &models.Comment{}, | |||
| models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | |||
| @@ -61,7 +61,7 @@ func TestAPIListIssueComments(t *testing.T) { | |||
| } | |||
| func TestAPICreateComment(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| const commentBody = "Comment body" | |||
| issue := models.AssertExistsAndLoadBean(t, &models.Issue{}).(*models.Issue) | |||
| @@ -84,7 +84,7 @@ func TestAPICreateComment(t *testing.T) { | |||
| } | |||
| func TestAPIEditComment(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| const newCommentBody = "This is the new comment body" | |||
| comment := models.AssertExistsAndLoadBean(t, &models.Comment{}, | |||
| @@ -110,7 +110,7 @@ func TestAPIEditComment(t *testing.T) { | |||
| } | |||
| func TestAPIDeleteComment(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| comment := models.AssertExistsAndLoadBean(t, &models.Comment{}, | |||
| models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment) | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestCreateForkNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/forks", &api.CreateForkOption{}) | |||
| MakeRequest(t, req, http.StatusUnauthorized) | |||
| } | |||
| @@ -18,7 +18,7 @@ import ( | |||
| type makeRequestFunc func(testing.TB, *http.Request, int) *httptest.ResponseRecorder | |||
| func TestGPGKeys(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPIListIssues(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -35,7 +35,7 @@ func TestAPIListIssues(t *testing.T) { | |||
| } | |||
| func TestAPICreateIssue(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| const body, title = "apiTestBody", "apiTestTitle" | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| @@ -17,13 +17,13 @@ import ( | |||
| ) | |||
| func TestViewDeployKeysNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/keys") | |||
| MakeRequest(t, req, http.StatusUnauthorized) | |||
| } | |||
| func TestCreateDeployKeyNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/keys", api.CreateKeyOption{ | |||
| Title: "title", | |||
| Key: "key", | |||
| @@ -32,19 +32,19 @@ func TestCreateDeployKeyNoLogin(t *testing.T) { | |||
| } | |||
| func TestGetDeployKeyNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/keys/1") | |||
| MakeRequest(t, req, http.StatusUnauthorized) | |||
| } | |||
| func TestDeleteDeployKeyNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "DELETE", "/api/v1/repos/user2/repo1/keys/1") | |||
| MakeRequest(t, req, http.StatusUnauthorized) | |||
| } | |||
| func TestCreateReadOnlyDeployKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | |||
| repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -70,7 +70,7 @@ func TestCreateReadOnlyDeployKey(t *testing.T) { | |||
| } | |||
| func TestCreateReadWriteDeployKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{Name: "repo1"}).(*models.Repository) | |||
| repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -95,7 +95,7 @@ func TestCreateReadWriteDeployKey(t *testing.T) { | |||
| } | |||
| func TestCreateUserKey(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) | |||
| session := loginUser(t, "user1") | |||
| @@ -19,7 +19,7 @@ import ( | |||
| ) | |||
| func TestAPIViewPulls(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -36,7 +36,7 @@ func TestAPIViewPulls(t *testing.T) { | |||
| // TestAPIMergePullWIP ensures that we can't merge a WIP pull request | |||
| func TestAPIMergePullWIP(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| pr := models.AssertExistsAndLoadBean(t, &models.PullRequest{Status: models.PullRequestStatusMergeable}, models.Cond("has_merged = ?", false)).(*models.PullRequest) | |||
| @@ -59,7 +59,7 @@ func TestAPIMergePullWIP(t *testing.T) { | |||
| } | |||
| func TestAPICreatePullSuccess1(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo10 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | |||
| // repo10 have code, pulls units. | |||
| repo11 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository) | |||
| @@ -79,7 +79,7 @@ func TestAPICreatePullSuccess1(t *testing.T) { | |||
| } | |||
| func TestAPICreatePullSuccess2(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo10 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository) | |||
| owner10 := models.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User) | |||
| @@ -42,7 +42,7 @@ func createNewReleaseUsingAPI(t *testing.T, session *TestSession, token string, | |||
| } | |||
| func TestAPICreateAndUpdateRelease(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -93,7 +93,7 @@ func TestAPICreateAndUpdateRelease(t *testing.T) { | |||
| } | |||
| func TestAPICreateReleaseToDefaultBranch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -104,7 +104,7 @@ func TestAPICreateReleaseToDefaultBranch(t *testing.T) { | |||
| } | |||
| func TestAPICreateReleaseToDefaultBranchOnExistingTag(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -15,7 +15,7 @@ import ( | |||
| ) | |||
| func TestAPIReposGitBlobs(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo1 & repo16 | |||
| user3 := models.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) // owner of the repo3 | |||
| user4 := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) // owner of neither repos | |||
| @@ -15,7 +15,7 @@ import ( | |||
| ) | |||
| func TestAPIReposGitCommits(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -35,7 +35,7 @@ func TestAPIReposGitCommits(t *testing.T) { | |||
| } | |||
| func TestAPIReposGitCommitList(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -55,7 +55,7 @@ func TestAPIReposGitCommitList(t *testing.T) { | |||
| } | |||
| func TestAPIReposGitCommitListPage2Empty(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -72,7 +72,7 @@ func TestAPIReposGitCommitListPage2Empty(t *testing.T) { | |||
| } | |||
| func TestAPIReposGitCommitListDifferentBranch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -21,7 +21,7 @@ echo Hello, World! | |||
| ` | |||
| func TestAPIListGitHooks(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -47,7 +47,7 @@ func TestAPIListGitHooks(t *testing.T) { | |||
| } | |||
| func TestAPIListGitHooksNoHooks(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -68,7 +68,7 @@ func TestAPIListGitHooksNoHooks(t *testing.T) { | |||
| } | |||
| func TestAPIListGitHooksNoAccess(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -81,7 +81,7 @@ func TestAPIListGitHooksNoAccess(t *testing.T) { | |||
| } | |||
| func TestAPIGetGitHook(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -99,7 +99,7 @@ func TestAPIGetGitHook(t *testing.T) { | |||
| } | |||
| func TestAPIGetGitHookNoAccess(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -112,7 +112,7 @@ func TestAPIGetGitHookNoAccess(t *testing.T) { | |||
| } | |||
| func TestAPIEditGitHook(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -142,7 +142,7 @@ func TestAPIEditGitHook(t *testing.T) { | |||
| } | |||
| func TestAPIEditGitHookNoAccess(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -158,7 +158,7 @@ func TestAPIEditGitHookNoAccess(t *testing.T) { | |||
| } | |||
| func TestAPIDeleteGitHook(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 37}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -181,7 +181,7 @@ func TestAPIDeleteGitHook(t *testing.T) { | |||
| } | |||
| func TestAPIDeleteGitHookNoAccess(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestAPIReposGitRefs(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -17,7 +17,7 @@ import ( | |||
| ) | |||
| func TestAPIGitTags(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| // Login as User2. | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestAPIReposGitTrees(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of the repo1 & repo16 | |||
| user3 := models.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) // owner of the repo3 | |||
| user4 := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) // owner of neither repos | |||
| @@ -18,7 +18,7 @@ import ( | |||
| ) | |||
| func TestAPILFSLocksNotStarted(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.LFS.StartServer = false | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| @@ -34,7 +34,7 @@ func TestAPILFSLocksNotStarted(t *testing.T) { | |||
| } | |||
| func TestAPILFSLocksNotLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.LFS.StartServer = true | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| @@ -48,7 +48,7 @@ func TestAPILFSLocksNotLogin(t *testing.T) { | |||
| } | |||
| func TestAPILFSLocksLogged(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.LFS.StartServer = true | |||
| user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) //in org 3 | |||
| user4 := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) //in org 3 | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestAPIReposRaw(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPIReposGetTags(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| // Login as User2. | |||
| session := loginUser(t, user.Name) | |||
| @@ -19,7 +19,7 @@ import ( | |||
| ) | |||
| func TestAPIUserReposNotLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| req := NewRequestf(t, "GET", "/api/v1/users/%s/repos", user.Name) | |||
| @@ -37,7 +37,7 @@ func TestAPIUserReposNotLogin(t *testing.T) { | |||
| } | |||
| func TestAPISearchRepo(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| const keyword = "test" | |||
| req := NewRequestf(t, "GET", "/api/v1/repos/search?q=%s", keyword) | |||
| @@ -207,7 +207,7 @@ func getRepo(t *testing.T, repoID int64) *models.Repository { | |||
| } | |||
| func TestAPIViewRepo(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1") | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -219,7 +219,7 @@ func TestAPIViewRepo(t *testing.T) { | |||
| } | |||
| func TestAPIOrgRepos(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | |||
| user3 := models.AssertExistsAndLoadBean(t, &models.User{ID: 5}).(*models.User) | |||
| @@ -265,7 +265,7 @@ func TestAPIOrgRepos(t *testing.T) { | |||
| } | |||
| func TestAPIGetRepoByIDUnauthorized(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) | |||
| session := loginUser(t, user.Name) | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -286,7 +286,7 @@ func TestAPIRepoMigrate(t *testing.T) { | |||
| {ctxUserID: 2, userID: 6, cloneURL: "https://github.com/go-gitea/git.git", repoName: "git-bad-org", expectedStatus: http.StatusForbidden}, | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| for _, testCase := range testCases { | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | |||
| session := loginUser(t, user.Name) | |||
| @@ -351,7 +351,7 @@ func TestAPIOrgRepoCreate(t *testing.T) { | |||
| {ctxUserID: 28, orgName: "user6", repoName: "repo-not-creator", expectedStatus: http.StatusForbidden}, | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| for _, testCase := range testCases { | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: testCase.ctxUserID}).(*models.User) | |||
| session := loginUser(t, user.Name) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPIRepoTopic(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) // owner of repo2 | |||
| user3 := models.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) // owner of repo3 | |||
| user4 := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User) // write access to repo 3 | |||
| @@ -18,7 +18,7 @@ import ( | |||
| ) | |||
| func TestAPITeam(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| teamUser := models.AssertExistsAndLoadBean(t, &models.TeamUser{}).(*models.TeamUser) | |||
| team := models.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team) | |||
| @@ -122,7 +122,7 @@ type TeamSearchResults struct { | |||
| } | |||
| func TestAPITeamSearch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| org := models.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestAPITeamUser(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| normalUsername := "user2" | |||
| session := loginUser(t, normalUsername) | |||
| @@ -14,7 +14,7 @@ import ( | |||
| // TestAPICreateAndDeleteToken tests that token that was just created can be deleted | |||
| func TestAPICreateAndDeleteToken(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | |||
| req := NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{ | |||
| @@ -41,7 +41,7 @@ func TestAPICreateAndDeleteToken(t *testing.T) { | |||
| // TestAPIDeleteMissingToken ensures that error is thrown when token not found | |||
| func TestAPIDeleteMissingToken(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | |||
| req := NewRequestf(t, "DELETE", "/api/v1/users/user1/tokens/%d", models.NonexistentID) | |||
| @@ -15,7 +15,7 @@ import ( | |||
| ) | |||
| func TestUserHeatmap(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| normalUsername := "user2" | |||
| session := loginUser(t, adminUsername) | |||
| @@ -16,7 +16,7 @@ import ( | |||
| ) | |||
| func TestUserOrgs(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| normalUsername := "user2" | |||
| session := loginUser(t, adminUsername) | |||
| @@ -44,7 +44,7 @@ func TestUserOrgs(t *testing.T) { | |||
| } | |||
| func TestMyOrgs(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| normalUsername := "user2" | |||
| session := loginUser(t, normalUsername) | |||
| @@ -19,7 +19,7 @@ type SearchResults struct { | |||
| } | |||
| func TestAPIUserSearchLoggedIn(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| adminUsername := "user1" | |||
| session := loginUser(t, adminUsername) | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -37,7 +37,7 @@ func TestAPIUserSearchLoggedIn(t *testing.T) { | |||
| } | |||
| func TestAPIUserSearchNotLoggedIn(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| query := "user2" | |||
| req := NewRequestf(t, "GET", "/api/v1/users/search?q=%s", query) | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -124,7 +124,7 @@ func TestLDAPUserSignin(t *testing.T) { | |||
| t.Skip() | |||
| return | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| addAuthSourceLDAP(t, "") | |||
| u := gitLDAPUsers[0] | |||
| @@ -145,7 +145,7 @@ func TestLDAPUserSync(t *testing.T) { | |||
| t.Skip() | |||
| return | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| addAuthSourceLDAP(t, "") | |||
| models.SyncExternalUsers() | |||
| @@ -191,7 +191,7 @@ func TestLDAPUserSigninFailed(t *testing.T) { | |||
| t.Skip() | |||
| return | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| addAuthSourceLDAP(t, "") | |||
| u := otherLDAPUsers[0] | |||
| @@ -204,7 +204,7 @@ func TestLDAPUserSSHKeySync(t *testing.T) { | |||
| t.Skip() | |||
| return | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| addAuthSourceLDAP(t, "sshPublicKey") | |||
| models.SyncExternalUsers() | |||
| @@ -15,7 +15,7 @@ import ( | |||
| ) | |||
| func TestViewBranches(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1/branches") | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -26,13 +26,13 @@ func TestViewBranches(t *testing.T) { | |||
| } | |||
| func TestDeleteBranch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| deleteBranch(t) | |||
| } | |||
| func TestUndoDeleteBranch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| deleteBranch(t) | |||
| htmlDoc, name := branchAction(t, ".undo-button") | |||
| @@ -13,7 +13,7 @@ import ( | |||
| ) | |||
| func TestChangeDefaultBranch(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestCORSNotSet(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestf(t, "GET", "/api/v1/version") | |||
| session := loginUser(t, "user2") | |||
| resp := session.MakeRequest(t, req, http.StatusOK) | |||
| @@ -52,7 +52,7 @@ func sessionFileExist(t *testing.T, tmpDir, sessionID string) bool { | |||
| } | |||
| func TestSessionFileCreation(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| oldSessionConfig := setting.SessionConfig.ProviderConfig | |||
| defer func() { | |||
| @@ -86,7 +86,7 @@ func TestSessionFileCreation(t *testing.T) { | |||
| routes.RegisterRoutes(mac) | |||
| t.Run("NoSessionOnViewIssue", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1/issues/1") | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -96,7 +96,7 @@ func TestSessionFileCreation(t *testing.T) { | |||
| assert.False(t, sessionFileExist(t, tmpDir, sessionID)) | |||
| }) | |||
| t.Run("CreateSessionOnLogin", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| req := NewRequest(t, "GET", "/user/login") | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -25,7 +25,7 @@ func assertUserDeleted(t *testing.T, userID int64) { | |||
| } | |||
| func TestAdminDeleteUser(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| @@ -40,7 +40,7 @@ func TestAdminDeleteUser(t *testing.T) { | |||
| } | |||
| func TestUserDeleteAccount(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user8") | |||
| csrf := GetCSRF(t, session, "/user/settings/account") | |||
| @@ -55,7 +55,7 @@ func TestUserDeleteAccount(t *testing.T) { | |||
| } | |||
| func TestUserDeleteAccountStillOwnRepos(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| csrf := GetCSRF(t, session, "/user/settings/account") | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestDownloadByID(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -24,7 +24,7 @@ func TestDownloadByID(t *testing.T) { | |||
| } | |||
| func TestDownloadByIDMedia(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestEmptyRepo(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| subpaths := []string{ | |||
| "commits/master", | |||
| "raw/foo", | |||
| @@ -10,7 +10,7 @@ import ( | |||
| ) | |||
| func TestExploreRepos(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/explore/repos") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| @@ -43,7 +43,7 @@ func testGit(t *testing.T, u *url.URL) { | |||
| forkedUserCtx := NewAPITestContext(t, "user4", "repo1") | |||
| t.Run("HTTP", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| ensureAnonymousClone(t, u) | |||
| httpContext := baseAPITestContext | |||
| httpContext.Reponame = "repo-tmp-17" | |||
| @@ -77,7 +77,7 @@ func testGit(t *testing.T, u *url.URL) { | |||
| }) | |||
| }) | |||
| t.Run("SSH", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| sshContext := baseAPITestContext | |||
| sshContext.Reponame = "repo-tmp-18" | |||
| keyname := "my-testing-key" | |||
| @@ -127,7 +127,7 @@ func ensureAnonymousClone(t *testing.T, u *url.URL) { | |||
| func standardCommitAndPushTest(t *testing.T, dstPath string) (little, big string) { | |||
| t.Run("Standard", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| little, big = commitAndPushTest(t, dstPath, "data-file-") | |||
| }) | |||
| return | |||
| @@ -135,7 +135,7 @@ func standardCommitAndPushTest(t *testing.T, dstPath string) (little, big string | |||
| func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS string) { | |||
| t.Run("LFS", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| setting.CheckLFSVersion() | |||
| if !setting.LFS.StartServer { | |||
| t.Skip() | |||
| @@ -168,7 +168,7 @@ func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS strin | |||
| littleLFS, bigLFS = commitAndPushTest(t, dstPath, prefix) | |||
| t.Run("Locks", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| lockTest(t, dstPath) | |||
| }) | |||
| }) | |||
| @@ -177,9 +177,9 @@ func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS strin | |||
| func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string) { | |||
| t.Run("PushCommit", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| t.Run("Little", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| little = doCommitAndPush(t, littleSize, dstPath, prefix) | |||
| }) | |||
| t.Run("Big", func(t *testing.T) { | |||
| @@ -187,7 +187,7 @@ func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string | |||
| t.Skip("Skipping test in short mode.") | |||
| return | |||
| } | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| big = doCommitAndPush(t, bigSize, dstPath, prefix) | |||
| }) | |||
| }) | |||
| @@ -196,7 +196,7 @@ func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string | |||
| func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS string) { | |||
| t.Run("Raw", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| username := ctx.Username | |||
| reponame := ctx.Reponame | |||
| @@ -232,7 +232,7 @@ func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS s | |||
| func mediaTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS string) { | |||
| t.Run("Media", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| username := ctx.Username | |||
| reponame := ctx.Reponame | |||
| @@ -331,7 +331,7 @@ func generateCommitWithNewData(size int, repoPath, email, fullName, prefix strin | |||
| func doBranchProtectPRMerge(baseCtx *APITestContext, dstPath string) func(t *testing.T) { | |||
| return func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| t.Run("CreateBranchProtected", doGitCreateBranch(dstPath, "protected")) | |||
| t.Run("PushProtectedBranch", doGitPushTestRepository(dstPath, "origin", "protected")) | |||
| @@ -66,7 +66,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("Unsigned-Initial", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) | |||
| t.Run("CheckMasterBranchUnsigned", doAPIGetBranch(testCtx, "master", func(t *testing.T, branch api.Branch) { | |||
| @@ -90,7 +90,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("Unsigned-Initial-CRUD-ParentSigned", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile( | |||
| t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -107,7 +107,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("Unsigned-Initial-CRUD-Never", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| t.Run("CreateCRUDFile-Never", crudActionCreateFile( | |||
| t, testCtx, user, "parentsigned", "parentsigned-never", "unsigned-never2.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -120,7 +120,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("Unsigned-Initial-CRUD-Always", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| t.Run("CreateCRUDFile-Always", crudActionCreateFile( | |||
| t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -139,7 +139,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("Unsigned-Initial-CRUD-ParentSigned", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| t.Run("CreateCRUDFile-Always-ParentSigned", crudActionCreateFile( | |||
| t, testCtx, user, "always", "always-parentsigned", "signed-always-parentsigned.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -153,7 +153,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("AlwaysSign-Initial", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-always") | |||
| t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) | |||
| t.Run("CheckMasterBranchSigned", doAPIGetBranch(testCtx, "master", func(t *testing.T, branch api.Branch) { | |||
| @@ -169,7 +169,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("AlwaysSign-Initial-CRUD-Never", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-always") | |||
| t.Run("CreateCRUDFile-Never", crudActionCreateFile( | |||
| t, testCtx, user, "master", "never", "unsigned-never.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -182,7 +182,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("AlwaysSign-Initial-CRUD-ParentSigned-On-Always", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-always") | |||
| t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile( | |||
| t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -196,7 +196,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("AlwaysSign-Initial-CRUD-Always", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-always") | |||
| t.Run("CreateCRUDFile-Always", crudActionCreateFile( | |||
| t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { | |||
| @@ -212,7 +212,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("UnsignedMerging", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| var err error | |||
| t.Run("CreatePullRequest", func(t *testing.T) { | |||
| @@ -233,7 +233,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("BaseSignedMerging", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| var err error | |||
| t.Run("CreatePullRequest", func(t *testing.T) { | |||
| @@ -254,7 +254,7 @@ func TestGPGGit(t *testing.T) { | |||
| u.Path = baseAPITestContext.GitPath() | |||
| t.Run("CommitsSignedMerging", func(t *testing.T) { | |||
| PrintCurrentTest(t) | |||
| defer PrintCurrentTest(t)() | |||
| testCtx := NewAPITestContext(t, username, "initial-unsigned") | |||
| var err error | |||
| t.Run("CreatePullRequest", func(t *testing.T) { | |||
| @@ -173,19 +173,20 @@ func initIntegrationTest() { | |||
| routers.GlobalInit() | |||
| } | |||
| func prepareTestEnv(t testing.TB, skip ...int) { | |||
| func prepareTestEnv(t testing.TB, skip ...int) func() { | |||
| t.Helper() | |||
| ourSkip := 2 | |||
| if len(skip) > 0 { | |||
| ourSkip += skip[0] | |||
| } | |||
| PrintCurrentTest(t, ourSkip) | |||
| deferFn := PrintCurrentTest(t, ourSkip) | |||
| assert.NoError(t, models.LoadFixtures()) | |||
| assert.NoError(t, os.RemoveAll(setting.RepoRootPath)) | |||
| assert.NoError(t, os.RemoveAll(models.LocalCopyPath())) | |||
| assert.NoError(t, com.CopyDir(path.Join(filepath.Dir(setting.AppPath), "integrations/gitea-repositories-meta"), | |||
| setting.RepoRootPath)) | |||
| return deferFn | |||
| } | |||
| type TestSession struct { | |||
| @@ -49,14 +49,14 @@ func assertMatch(t testing.TB, issue *models.Issue, keyword string) { | |||
| } | |||
| func TestNoLoginViewIssues(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1/issues") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| } | |||
| func TestViewIssuesSortByType(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| @@ -84,7 +84,7 @@ func TestViewIssuesSortByType(t *testing.T) { | |||
| } | |||
| func TestViewIssuesKeyword(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) | |||
| @@ -104,7 +104,7 @@ func TestViewIssuesKeyword(t *testing.T) { | |||
| } | |||
| func TestNoLoginViewIssue(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1/issues/1") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| @@ -173,13 +173,13 @@ func testIssueAddComment(t *testing.T, session *TestSession, issueURL, content, | |||
| } | |||
| func TestNewIssue(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testNewIssue(t, session, "user2", "repo1", "Title", "Description") | |||
| } | |||
| func TestIssueCommentClose(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| issueURL := testNewIssue(t, session, "user2", "repo1", "Title", "Description") | |||
| testIssueAddComment(t, session, issueURL, "Test comment 1", "") | |||
| @@ -195,7 +195,7 @@ func TestIssueCommentClose(t *testing.T) { | |||
| } | |||
| func TestIssueCrossReference(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // Issue that will be referenced | |||
| _, issueBase := testIssueWithBean(t, "user2", 1, "Title", "Description") | |||
| @@ -57,7 +57,7 @@ func storeObjectInRepo(t *testing.T, repositoryID int64, content *[]byte) string | |||
| } | |||
| func doLfs(t *testing.T, content *[]byte, expectGzip bool) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.CheckLFSVersion() | |||
| if !setting.LFS.StartServer { | |||
| t.Skip() | |||
| @@ -18,7 +18,7 @@ import ( | |||
| ) | |||
| func TestLinksNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| var links = []string{ | |||
| "/explore/repos", | |||
| @@ -44,7 +44,7 @@ func TestLinksNoLogin(t *testing.T) { | |||
| } | |||
| func TestRedirectsNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| var redirects = map[string]string{ | |||
| "/user2/repo1/commits/master": "/user2/repo1/commits/branch/master", | |||
| @@ -144,7 +144,7 @@ func testLinksAsUser(userName string, t *testing.T) { | |||
| } | |||
| func TestLinksLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| testLinksAsUser("user2", t) | |||
| } | |||
| @@ -29,8 +29,8 @@ import ( | |||
| var currentEngine *xorm.Engine | |||
| func initMigrationTest(t *testing.T) { | |||
| integrations.PrintCurrentTest(t, 2) | |||
| func initMigrationTest(t *testing.T) func() { | |||
| deferFn := integrations.PrintCurrentTest(t, 2) | |||
| giteaRoot := base.SetupGiteaRoot() | |||
| if giteaRoot == "" { | |||
| integrations.Printf("Environment variable $GITEA_ROOT not set\n") | |||
| @@ -56,6 +56,7 @@ func initMigrationTest(t *testing.T) { | |||
| setting.CheckLFSVersion() | |||
| setting.InitDBConfig() | |||
| setting.NewLogServices(true) | |||
| return deferFn | |||
| } | |||
| func availableVersions() ([]string, error) { | |||
| @@ -209,7 +210,7 @@ func wrappedMigrate(x *xorm.Engine) error { | |||
| } | |||
| func doMigrationTest(t *testing.T, version string) { | |||
| integrations.PrintCurrentTest(t) | |||
| defer integrations.PrintCurrentTest(t)() | |||
| integrations.Printf("Performing migration test for %s version: %s\n", setting.Database.Type, version) | |||
| if !restoreOldDB(t, version) { | |||
| return | |||
| @@ -225,7 +226,7 @@ func doMigrationTest(t *testing.T, version string) { | |||
| } | |||
| func TestMigrations(t *testing.T) { | |||
| initMigrationTest(t) | |||
| defer initMigrationTest(t)() | |||
| dialect := setting.Database.Type | |||
| versions, err := availableVersions() | |||
| @@ -161,7 +161,7 @@ func TestNonasciiBranches(t *testing.T) { | |||
| }, | |||
| } | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := "user2" | |||
| repo := "utf8" | |||
| @@ -16,20 +16,20 @@ import ( | |||
| const defaultAuthorize = "/login/oauth/authorize?client_id=da7da3ba-9a13-4167-856f-3899de0b0138&redirect_uri=a&response_type=code&state=thestate" | |||
| func TestNoClientID(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/login/oauth/authorize") | |||
| ctx := loginUser(t, "user2") | |||
| ctx.MakeRequest(t, req, 400) | |||
| } | |||
| func TestLoginRedirect(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/login/oauth/authorize") | |||
| assert.Contains(t, MakeRequest(t, req, 302).Body.String(), "/user/login") | |||
| } | |||
| func TestShowAuthorize(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", defaultAuthorize) | |||
| ctx := loginUser(t, "user4") | |||
| resp := ctx.MakeRequest(t, req, 200) | |||
| @@ -40,7 +40,7 @@ func TestShowAuthorize(t *testing.T) { | |||
| } | |||
| func TestRedirectWithExistingGrant(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", defaultAuthorize) | |||
| ctx := loginUser(t, "user1") | |||
| resp := ctx.MakeRequest(t, req, 302) | |||
| @@ -51,7 +51,7 @@ func TestRedirectWithExistingGrant(t *testing.T) { | |||
| } | |||
| func TestAccessTokenExchange(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| "client_id": "da7da3ba-9a13-4167-856f-3899de0b0138", | |||
| @@ -74,7 +74,7 @@ func TestAccessTokenExchange(t *testing.T) { | |||
| } | |||
| func TestAccessTokenExchangeWithoutPKCE(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithJSON(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| "client_id": "da7da3ba-9a13-4167-856f-3899de0b0138", | |||
| @@ -97,7 +97,7 @@ func TestAccessTokenExchangeWithoutPKCE(t *testing.T) { | |||
| } | |||
| func TestAccessTokenExchangeJSON(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithJSON(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| "client_id": "da7da3ba-9a13-4167-856f-3899de0b0138", | |||
| @@ -109,7 +109,7 @@ func TestAccessTokenExchangeJSON(t *testing.T) { | |||
| } | |||
| func TestAccessTokenExchangeWithInvalidCredentials(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // invalid client id | |||
| req := NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| @@ -163,7 +163,7 @@ func TestAccessTokenExchangeWithInvalidCredentials(t *testing.T) { | |||
| } | |||
| func TestAccessTokenExchangeWithBasicAuth(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| "redirect_uri": "a", | |||
| @@ -204,7 +204,7 @@ func TestAccessTokenExchangeWithBasicAuth(t *testing.T) { | |||
| } | |||
| func TestRefreshTokenInvalidation(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{ | |||
| "grant_type": "authorization_code", | |||
| "client_id": "da7da3ba-9a13-4167-856f-3899de0b0138", | |||
| @@ -13,7 +13,7 @@ import ( | |||
| ) | |||
| func TestOrgRepos(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| var ( | |||
| users = []string{"user1", "user2"} | |||
| @@ -43,7 +43,7 @@ func TestOrgRepos(t *testing.T) { | |||
| } | |||
| func TestLimitedOrg(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // not logged in user | |||
| req := NewRequest(t, "GET", "/limited_org") | |||
| @@ -73,7 +73,7 @@ func TestLimitedOrg(t *testing.T) { | |||
| } | |||
| func TestPrivateOrg(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| // not logged in user | |||
| req := NewRequest(t, "GET", "/privated_org") | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestPullCompare(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| req := NewRequest(t, "GET", "/user2/repo1/pulls") | |||
| @@ -105,7 +105,7 @@ func TestPullRebase(t *testing.T) { | |||
| func TestPullRebaseMerge(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| hookTasks, err := models.HookTasks(1, 1) //Retrieve previous hook number | |||
| assert.NoError(t, err) | |||
| @@ -129,7 +129,7 @@ func TestPullRebaseMerge(t *testing.T) { | |||
| func TestPullSquash(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| hookTasks, err := models.HookTasks(1, 1) //Retrieve previous hook number | |||
| assert.NoError(t, err) | |||
| @@ -154,7 +154,7 @@ func TestPullSquash(t *testing.T) { | |||
| func TestPullCleanUpAfterMerge(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | |||
| testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited)\n") | |||
| @@ -190,7 +190,7 @@ func TestPullCleanUpAfterMerge(t *testing.T) { | |||
| func TestCantMergeWorkInProgress(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | |||
| testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") | |||
| @@ -212,7 +212,7 @@ func TestCantMergeWorkInProgress(t *testing.T) { | |||
| func TestCantMergeConflict(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | |||
| testEditFileToNewBranch(t, session, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") | |||
| @@ -258,7 +258,7 @@ func TestCantMergeConflict(t *testing.T) { | |||
| func TestCantMergeUnrelated(t *testing.T) { | |||
| onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | |||
| testEditFileToNewBranch(t, session, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") | |||
| @@ -9,7 +9,7 @@ import ( | |||
| ) | |||
| func TestPullView_ReviewerMissed(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| req := NewRequest(t, "GET", "/pulls") | |||
| @@ -58,7 +58,7 @@ func checkLatestReleaseAndCount(t *testing.T, session *TestSession, repoURL, ver | |||
| } | |||
| func TestViewReleases(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| req := NewRequest(t, "GET", "/user2/repo1/releases") | |||
| @@ -66,14 +66,14 @@ func TestViewReleases(t *testing.T) { | |||
| } | |||
| func TestViewReleasesNoLogin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1/releases") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| } | |||
| func TestCreateRelease(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, false) | |||
| @@ -82,7 +82,7 @@ func TestCreateRelease(t *testing.T) { | |||
| } | |||
| func TestCreateReleasePreRelease(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", true, false) | |||
| @@ -91,7 +91,7 @@ func TestCreateReleasePreRelease(t *testing.T) { | |||
| } | |||
| func TestCreateReleaseDraft(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, true) | |||
| @@ -100,7 +100,7 @@ func TestCreateReleaseDraft(t *testing.T) { | |||
| } | |||
| func TestCreateReleasePaging(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| // Create enaugh releases to have paging | |||
| @@ -110,7 +110,7 @@ func testCreateBranches(t *testing.T, giteaURL *url.URL) { | |||
| }, | |||
| } | |||
| for _, test := range tests { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| if test.CreateRelease != "" { | |||
| createNewRelease(t, session, "/user2/repo1", test.CreateRelease, test.CreateRelease, false, false) | |||
| @@ -129,7 +129,7 @@ func testCreateBranches(t *testing.T, giteaURL *url.URL) { | |||
| } | |||
| func TestCreateBranchInvalidCSRF(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| req := NewRequestWithValues(t, "POST", "user2/repo1/branches/_new/branch/master", map[string]string{ | |||
| "_csrf": "fake_csrf", | |||
| @@ -14,7 +14,7 @@ import ( | |||
| ) | |||
| func testRepoCommitsSearch(t *testing.T, query, commit string) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -18,7 +18,7 @@ import ( | |||
| ) | |||
| func TestRepoCommits(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -33,7 +33,7 @@ func TestRepoCommits(t *testing.T) { | |||
| } | |||
| func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| token := getTokenForLoggedInUser(t, session) | |||
| @@ -54,13 +54,13 @@ func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkO | |||
| } | |||
| func TestRepoFork(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | |||
| } | |||
| func TestRepoForkToOrg(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testRepoFork(t, session, "user2", "repo1", "user3", "repo1") | |||
| @@ -55,13 +55,13 @@ func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, tem | |||
| } | |||
| func TestRepoGenerate(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user1") | |||
| testRepoGenerate(t, session, "user27", "template1", "user1", "generated1") | |||
| } | |||
| func TestRepoGenerateToOrg(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testRepoGenerate(t, session, "user27", "template1", "user2", "generated2") | |||
| } | |||
| @@ -36,7 +36,7 @@ func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName str | |||
| } | |||
| func TestRepoMigrate(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testRepoMigrate(t, session, "https://github.com/go-gitea/git.git", "git") | |||
| } | |||
| @@ -29,7 +29,7 @@ func resultFilenames(t testing.TB, doc *HTMLDoc) []string { | |||
| } | |||
| func TestSearchRepo(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| repo, err := models.GetRepositoryByOwnerAndName("user2", "repo1") | |||
| assert.NoError(t, err) | |||
| @@ -17,7 +17,7 @@ import ( | |||
| ) | |||
| func TestViewRepo(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| @@ -30,7 +30,7 @@ func TestViewRepo(t *testing.T) { | |||
| } | |||
| func TestViewRepo2(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user3/repo3") | |||
| session := loginUser(t, "user2") | |||
| @@ -38,7 +38,7 @@ func TestViewRepo2(t *testing.T) { | |||
| } | |||
| func TestViewRepo3(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user3/repo3") | |||
| session := loginUser(t, "user4") | |||
| @@ -46,7 +46,7 @@ func TestViewRepo3(t *testing.T) { | |||
| } | |||
| func TestViewRepo1CloneLinkAnonymous(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2/repo1") | |||
| resp := MakeRequest(t, req, http.StatusOK) | |||
| @@ -60,7 +60,7 @@ func TestViewRepo1CloneLinkAnonymous(t *testing.T) { | |||
| } | |||
| func TestViewRepo1CloneLinkAuthorized(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -78,7 +78,7 @@ func TestViewRepo1CloneLinkAuthorized(t *testing.T) { | |||
| } | |||
| func TestViewRepoWithSymlinks(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -106,7 +106,7 @@ func TestViewAsRepoAdmin(t *testing.T) { | |||
| "user2": true, | |||
| "user4": false, | |||
| } { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, user) | |||
| @@ -14,7 +14,7 @@ import ( | |||
| ) | |||
| func TestSettingShowUserEmailExplore(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| showUserEmail := setting.UI.ShowUserEmail | |||
| setting.UI.ShowUserEmail = true | |||
| @@ -42,7 +42,7 @@ func TestSettingShowUserEmailExplore(t *testing.T) { | |||
| } | |||
| func TestSettingShowUserEmailProfile(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| showUserEmail := setting.UI.ShowUserEmail | |||
| setting.UI.ShowUserEmail = true | |||
| @@ -81,7 +81,7 @@ func TestSettingShowUserEmailProfile(t *testing.T) { | |||
| } | |||
| func TestSettingLandingPage(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| landingPage := setting.LandingPageURL | |||
| @@ -31,7 +31,7 @@ func testLoginFailed(t *testing.T, username, password, message string) { | |||
| } | |||
| func TestSignin(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| @@ -10,7 +10,7 @@ import ( | |||
| ) | |||
| func TestSignOut(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| @@ -12,7 +12,7 @@ import ( | |||
| ) | |||
| func TestSignup(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.Service.EnableCaptcha = false | |||
| @@ -27,20 +27,23 @@ var writerCloser = &testLoggerWriterCloser{} | |||
| type testLoggerWriterCloser struct { | |||
| sync.RWMutex | |||
| t testing.TB | |||
| t []*testing.TB | |||
| } | |||
| func (w *testLoggerWriterCloser) setT(t *testing.TB) { | |||
| w.Lock() | |||
| w.t = *t | |||
| w.t = append(w.t, t) | |||
| w.Unlock() | |||
| } | |||
| func (w *testLoggerWriterCloser) Write(p []byte) (int, error) { | |||
| w.RLock() | |||
| t := w.t | |||
| var t *testing.TB | |||
| if len(w.t) > 0 { | |||
| t = w.t[len(w.t)-1] | |||
| } | |||
| w.RUnlock() | |||
| if t != nil { | |||
| if t != nil && *t != nil { | |||
| if len(p) > 0 && p[len(p)-1] == '\n' { | |||
| p = p[:len(p)-1] | |||
| } | |||
| @@ -65,18 +68,23 @@ func (w *testLoggerWriterCloser) Write(p []byte) (int, error) { | |||
| } | |||
| }() | |||
| t.Log(string(p)) | |||
| (*t).Log(string(p)) | |||
| return len(p), nil | |||
| } | |||
| return len(p), nil | |||
| } | |||
| func (w *testLoggerWriterCloser) Close() error { | |||
| w.Lock() | |||
| if len(w.t) > 0 { | |||
| w.t = w.t[:len(w.t)-1] | |||
| } | |||
| w.Unlock() | |||
| return nil | |||
| } | |||
| // PrintCurrentTest prints the current test to os.Stdout | |||
| func PrintCurrentTest(t testing.TB, skip ...int) { | |||
| func PrintCurrentTest(t testing.TB, skip ...int) func() { | |||
| actualSkip := 1 | |||
| if len(skip) > 0 { | |||
| actualSkip = skip[0] | |||
| @@ -89,6 +97,9 @@ func PrintCurrentTest(t testing.TB, skip ...int) { | |||
| fmt.Fprintf(os.Stdout, "=== %s (%s:%d)\n", t.Name(), strings.TrimPrefix(filename, prefix), line) | |||
| } | |||
| writerCloser.setT(&t) | |||
| return func() { | |||
| _ = writerCloser.Close() | |||
| } | |||
| } | |||
| // Printf takes a format and args and prints the string to os.Stdout | |||
| @@ -16,20 +16,20 @@ import ( | |||
| ) | |||
| func TestViewTimetrackingControls(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testViewTimetrackingControls(t, session, "user2", "repo1", "1", true) | |||
| //user2/repo1 | |||
| } | |||
| func TestNotViewTimetrackingControls(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user5") | |||
| testViewTimetrackingControls(t, session, "user2", "repo1", "1", false) | |||
| //user2/repo1 | |||
| } | |||
| func TestViewTimetrackingControlsDisabled(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| testViewTimetrackingControls(t, session, "user3", "repo3", "1", false) | |||
| } | |||
| @@ -16,14 +16,14 @@ import ( | |||
| ) | |||
| func TestViewUser(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| req := NewRequest(t, "GET", "/user2") | |||
| MakeRequest(t, req, http.StatusOK) | |||
| } | |||
| func TestRenameUsername(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| session := loginUser(t, "user2") | |||
| req := NewRequestWithValues(t, "POST", "/user/settings", map[string]string{ | |||
| @@ -39,7 +39,7 @@ func TestRenameUsername(t *testing.T) { | |||
| } | |||
| func TestRenameInvalidUsername(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| invalidUsernames := []string{ | |||
| "%2f*", | |||
| @@ -71,7 +71,7 @@ func TestRenameInvalidUsername(t *testing.T) { | |||
| } | |||
| func TestRenameReservedUsername(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| reservedUsernames := []string{ | |||
| "admin", | |||
| @@ -117,7 +117,7 @@ func TestRenameReservedUsername(t *testing.T) { | |||
| } | |||
| func TestExportUserGPGKeys(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| //Export empty key list | |||
| testExportUserGPGKeys(t, "user1", `-----BEGIN PGP PUBLIC KEY BLOCK----- | |||
| @@ -15,7 +15,7 @@ import ( | |||
| ) | |||
| func TestVersion(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| setting.AppVer = "test-version-1" | |||
| req := NewRequest(t, "GET", "/api/v1/version") | |||
| @@ -14,7 +14,7 @@ import ( | |||
| ) | |||
| func TestXSSUserFullName(t *testing.T) { | |||
| prepareTestEnv(t) | |||
| defer prepareTestEnv(t)() | |||
| user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | |||
| const fullName = `name & <script class="evil">alert('Oh no!');</script>` | |||