code.gitea.io/gitea@v1.22.3/services/repository/files/tree_test.go (about) 1 // Copyright 2019 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package files 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/unittest" 10 api "code.gitea.io/gitea/modules/structs" 11 "code.gitea.io/gitea/services/contexttest" 12 13 "github.com/stretchr/testify/assert" 14 ) 15 16 func TestGetTreeBySHA(t *testing.T) { 17 unittest.PrepareTestEnv(t) 18 ctx, _ := contexttest.MockContext(t, "user2/repo1") 19 contexttest.LoadRepo(t, ctx, 1) 20 contexttest.LoadRepoCommit(t, ctx) 21 contexttest.LoadUser(t, ctx, 2) 22 contexttest.LoadGitRepo(t, ctx) 23 defer ctx.Repo.GitRepo.Close() 24 25 sha := ctx.Repo.Repository.DefaultBranch 26 page := 1 27 perPage := 10 28 ctx.SetParams(":id", "1") 29 ctx.SetParams(":sha", sha) 30 31 tree, err := GetTreeBySHA(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, ctx.Params(":sha"), page, perPage, true) 32 assert.NoError(t, err) 33 expectedTree := &api.GitTreeResponse{ 34 SHA: "65f1bf27bc3bf70f64657658635e66094edbcb4d", 35 URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/trees/65f1bf27bc3bf70f64657658635e66094edbcb4d", 36 Entries: []api.GitEntry{ 37 { 38 Path: "README.md", 39 Mode: "100644", 40 Type: "blob", 41 Size: 30, 42 SHA: "4b4851ad51df6a7d9f25c979345979eaeb5b349f", 43 URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/blobs/4b4851ad51df6a7d9f25c979345979eaeb5b349f", 44 }, 45 }, 46 Truncated: false, 47 Page: 1, 48 TotalCount: 1, 49 } 50 51 assert.EqualValues(t, expectedTree, tree) 52 }