@@ -11,7 +11,11 @@ import (
1111 repo_model "code.gitea.io/gitea/models/repo"
1212 "code.gitea.io/gitea/models/unittest"
1313 user_model "code.gitea.io/gitea/models/user"
14+ api "code.gitea.io/gitea/modules/structs"
1415 "code.gitea.io/gitea/tests"
16+
17+ "github.com/stretchr/testify/assert"
18+ "github.com/stretchr/testify/require"
1519)
1620
1721func TestAPIReposGitTrees (t * testing.T ) {
@@ -32,13 +36,21 @@ func TestAPIReposGitTrees(t *testing.T) {
3236 token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeReadRepository )
3337
3438 // Test a public repo that anyone can GET the tree of
35- for _ , ref := range [... ]string {
36- "master" , // Branch
37- repo1TreeSHA , // Tree SHA
38- } {
39- req := NewRequestf (t , "GET" , "/api/v1/repos/%s/%s/git/trees/%s" , user2 .Name , repo1 .Name , ref )
40- MakeRequest (t , req , http .StatusOK )
41- }
39+ _ = MakeRequest (t , NewRequest (t , "GET" , "/api/v1/repos/user2/repo1/git/trees/master" ), http .StatusOK )
40+
41+ resp := MakeRequest (t , NewRequest (t , "GET" , "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?per_page=1" ), http .StatusOK )
42+ var respGitTree api.GitTreeResponse
43+ DecodeJSON (t , resp , & respGitTree )
44+ assert .True (t , respGitTree .Truncated )
45+ require .Len (t , respGitTree .Entries , 1 )
46+ assert .Equal (t , "File-WoW" , respGitTree .Entries [0 ].Path )
47+
48+ resp = MakeRequest (t , NewRequest (t , "GET" , "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?page=2&per_page=1" ), http .StatusOK )
49+ respGitTree = api.GitTreeResponse {}
50+ DecodeJSON (t , resp , & respGitTree )
51+ assert .False (t , respGitTree .Truncated )
52+ require .Len (t , respGitTree .Entries , 1 )
53+ assert .Equal (t , "README.md" , respGitTree .Entries [0 ].Path )
4254
4355 // Tests a private repo with no token so will fail
4456 for _ , ref := range [... ]string {
0 commit comments