@@ -11,7 +11,11 @@ import (
11
11
repo_model "code.gitea.io/gitea/models/repo"
12
12
"code.gitea.io/gitea/models/unittest"
13
13
user_model "code.gitea.io/gitea/models/user"
14
+ api "code.gitea.io/gitea/modules/structs"
14
15
"code.gitea.io/gitea/tests"
16
+
17
+ "github.com/stretchr/testify/assert"
18
+ "github.com/stretchr/testify/require"
15
19
)
16
20
17
21
func TestAPIReposGitTrees (t * testing.T ) {
@@ -32,13 +36,21 @@ func TestAPIReposGitTrees(t *testing.T) {
32
36
token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeReadRepository )
33
37
34
38
// 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 )
42
54
43
55
// Tests a private repo with no token so will fail
44
56
for _ , ref := range [... ]string {
0 commit comments