aboutsummaryrefslogtreecommitdiffstats
path: root/tests/integration/api_repo_git_trees_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/api_repo_git_trees_test.go')
-rw-r--r--tests/integration/api_repo_git_trees_test.go28
1 files changed, 20 insertions, 8 deletions
diff --git a/tests/integration/api_repo_git_trees_test.go b/tests/integration/api_repo_git_trees_test.go
index 8eec6d8d22..ea7630f414 100644
--- a/tests/integration/api_repo_git_trees_test.go
+++ b/tests/integration/api_repo_git_trees_test.go
@@ -11,7 +11,11 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
+ api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/tests"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestAPIReposGitTrees(t *testing.T) {
@@ -32,13 +36,21 @@ func TestAPIReposGitTrees(t *testing.T) {
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository)
// Test a public repo that anyone can GET the tree of
- for _, ref := range [...]string{
- "master", // Branch
- repo1TreeSHA, // Tree SHA
- } {
- req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", user2.Name, repo1.Name, ref)
- MakeRequest(t, req, http.StatusOK)
- }
+ _ = MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/master"), http.StatusOK)
+
+ resp := MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?per_page=1"), http.StatusOK)
+ var respGitTree api.GitTreeResponse
+ DecodeJSON(t, resp, &respGitTree)
+ assert.True(t, respGitTree.Truncated)
+ require.Len(t, respGitTree.Entries, 1)
+ assert.Equal(t, "File-WoW", respGitTree.Entries[0].Path)
+
+ resp = MakeRequest(t, NewRequest(t, "GET", "/api/v1/repos/user2/repo1/git/trees/62fb502a7172d4453f0322a2cc85bddffa57f07a?page=2&per_page=1"), http.StatusOK)
+ respGitTree = api.GitTreeResponse{}
+ DecodeJSON(t, resp, &respGitTree)
+ assert.False(t, respGitTree.Truncated)
+ require.Len(t, respGitTree.Entries, 1)
+ assert.Equal(t, "README.md", respGitTree.Entries[0].Path)
// Tests a private repo with no token so will fail
for _, ref := range [...]string{
@@ -69,7 +81,7 @@ func TestAPIReposGitTrees(t *testing.T) {
// Login as User4.
session = loginUser(t, user4.Name)
- token4 := getTokenForLoggedInUser(t, session)
+ token4 := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeAll)
// Test using org repo "org3/repo3" where user4 is a NOT collaborator
req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/d56a3073c1dbb7b15963110a049d50cdb5db99fc?access=%s", org3.Name, repo3.Name, token4)