mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Propagate context and ensure git commands run in request context (#17868)
This PR continues the work in #17125 by progressively ensuring that git commands run within the request context. This now means that the if there is a git repo already open in the context it will be used instead of reopening it. Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
@@ -115,11 +115,11 @@ func TestRepository_InitWiki(t *testing.T) {
|
||||
unittest.PrepareTestEnv(t)
|
||||
// repo1 already has a wiki
|
||||
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}).(*repo_model.Repository)
|
||||
assert.NoError(t, InitWiki(repo1))
|
||||
assert.NoError(t, InitWiki(git.DefaultContext, repo1))
|
||||
|
||||
// repo2 does not already have a wiki
|
||||
repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}).(*repo_model.Repository)
|
||||
assert.NoError(t, InitWiki(repo2))
|
||||
assert.NoError(t, InitWiki(git.DefaultContext, repo2))
|
||||
assert.True(t, repo2.HasWiki())
|
||||
}
|
||||
|
||||
@@ -136,9 +136,9 @@ func TestRepository_AddWikiPage(t *testing.T) {
|
||||
wikiName := wikiName
|
||||
t.Run("test wiki exist: "+wikiName, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
assert.NoError(t, AddWikiPage(doer, repo, wikiName, wikiContent, commitMsg))
|
||||
assert.NoError(t, AddWikiPage(git.DefaultContext, doer, repo, wikiName, wikiContent, commitMsg))
|
||||
// Now need to show that the page has been added:
|
||||
gitRepo, err := git.OpenRepository(repo.WikiPath())
|
||||
gitRepo, err := git.OpenRepositoryCtx(git.DefaultContext, repo.WikiPath())
|
||||
assert.NoError(t, err)
|
||||
defer gitRepo.Close()
|
||||
masterTree, err := gitRepo.GetTree("master")
|
||||
@@ -153,7 +153,7 @@ func TestRepository_AddWikiPage(t *testing.T) {
|
||||
t.Run("check wiki already exist", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
// test for already-existing wiki name
|
||||
err := AddWikiPage(doer, repo, "Home", wikiContent, commitMsg)
|
||||
err := AddWikiPage(git.DefaultContext, doer, repo, "Home", wikiContent, commitMsg)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, models.IsErrWikiAlreadyExist(err))
|
||||
})
|
||||
@@ -161,7 +161,7 @@ func TestRepository_AddWikiPage(t *testing.T) {
|
||||
t.Run("check wiki reserved name", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
// test for reserved wiki name
|
||||
err := AddWikiPage(doer, repo, "_edit", wikiContent, commitMsg)
|
||||
err := AddWikiPage(git.DefaultContext, doer, repo, "_edit", wikiContent, commitMsg)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, models.IsErrWikiReservedName(err))
|
||||
})
|
||||
@@ -180,10 +180,10 @@ func TestRepository_EditWikiPage(t *testing.T) {
|
||||
"New/name/with/slashes",
|
||||
} {
|
||||
unittest.PrepareTestEnv(t)
|
||||
assert.NoError(t, EditWikiPage(doer, repo, "Home", newWikiName, newWikiContent, commitMsg))
|
||||
assert.NoError(t, EditWikiPage(git.DefaultContext, doer, repo, "Home", newWikiName, newWikiContent, commitMsg))
|
||||
|
||||
// Now need to show that the page has been added:
|
||||
gitRepo, err := git.OpenRepository(repo.WikiPath())
|
||||
gitRepo, err := git.OpenRepositoryCtx(git.DefaultContext, repo.WikiPath())
|
||||
assert.NoError(t, err)
|
||||
masterTree, err := gitRepo.GetTree("master")
|
||||
assert.NoError(t, err)
|
||||
@@ -204,10 +204,10 @@ func TestRepository_DeleteWikiPage(t *testing.T) {
|
||||
unittest.PrepareTestEnv(t)
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}).(*repo_model.Repository)
|
||||
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User)
|
||||
assert.NoError(t, DeleteWikiPage(doer, repo, "Home"))
|
||||
assert.NoError(t, DeleteWikiPage(git.DefaultContext, doer, repo, "Home"))
|
||||
|
||||
// Now need to show that the page has been added:
|
||||
gitRepo, err := git.OpenRepository(repo.WikiPath())
|
||||
gitRepo, err := git.OpenRepositoryCtx(git.DefaultContext, repo.WikiPath())
|
||||
assert.NoError(t, err)
|
||||
defer gitRepo.Close()
|
||||
masterTree, err := gitRepo.GetTree("master")
|
||||
@@ -220,7 +220,7 @@ func TestRepository_DeleteWikiPage(t *testing.T) {
|
||||
func TestPrepareWikiFileName(t *testing.T) {
|
||||
unittest.PrepareTestEnv(t)
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}).(*repo_model.Repository)
|
||||
gitRepo, err := git.OpenRepository(repo.WikiPath())
|
||||
gitRepo, err := git.OpenRepositoryCtx(git.DefaultContext, repo.WikiPath())
|
||||
defer gitRepo.Close()
|
||||
assert.NoError(t, err)
|
||||
|
||||
@@ -280,7 +280,7 @@ func TestPrepareWikiFileName_FirstPage(t *testing.T) {
|
||||
}
|
||||
}()
|
||||
|
||||
err = git.InitRepository(tmpDir, true)
|
||||
err = git.InitRepository(git.DefaultContext, tmpDir, true)
|
||||
assert.NoError(t, err)
|
||||
|
||||
gitRepo, err := git.OpenRepository(tmpDir)
|
||||
|
Reference in New Issue
Block a user