mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-12-12 06:21:56 +01:00
b44dcf553c
It loads the Commit with a temporary open GitRepo. This is incorrect, the GitRepo should be open as long as the Commit can be used. This mainly removes the usage of this function as it's not needed.
52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
// Copyright 2019 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package files
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/models/unittest"
|
|
api "code.gitea.io/gitea/modules/structs"
|
|
"code.gitea.io/gitea/services/contexttest"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGetTreeBySHA(t *testing.T) {
|
|
unittest.PrepareTestEnv(t)
|
|
ctx, _ := contexttest.MockContext(t, "user2/repo1")
|
|
contexttest.LoadRepo(t, ctx, 1)
|
|
contexttest.LoadUser(t, ctx, 2)
|
|
contexttest.LoadGitRepo(t, ctx)
|
|
defer ctx.Repo.GitRepo.Close()
|
|
|
|
sha := ctx.Repo.Repository.DefaultBranch
|
|
page := 1
|
|
perPage := 10
|
|
ctx.SetParams(":id", "1")
|
|
ctx.SetParams(":sha", sha)
|
|
|
|
tree, err := GetTreeBySHA(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, ctx.Params(":sha"), page, perPage, true)
|
|
require.NoError(t, err)
|
|
expectedTree := &api.GitTreeResponse{
|
|
SHA: "65f1bf27bc3bf70f64657658635e66094edbcb4d",
|
|
URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/trees/65f1bf27bc3bf70f64657658635e66094edbcb4d",
|
|
Entries: []api.GitEntry{
|
|
{
|
|
Path: "README.md",
|
|
Mode: "100644",
|
|
Type: "blob",
|
|
Size: 30,
|
|
SHA: "4b4851ad51df6a7d9f25c979345979eaeb5b349f",
|
|
URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/blobs/4b4851ad51df6a7d9f25c979345979eaeb5b349f",
|
|
},
|
|
},
|
|
Truncated: false,
|
|
Page: 1,
|
|
TotalCount: 1,
|
|
}
|
|
|
|
assert.EqualValues(t, expectedTree, tree)
|
|
}
|