2019-02-06 21:19:26 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2019-04-17 19:06:35 +03:00
package repofiles
2019-02-06 21:19:26 +03:00
import (
"testing"
"code.gitea.io/gitea/models"
2019-05-11 13:21:34 +03:00
api "code.gitea.io/gitea/modules/structs"
2019-02-06 21:19:26 +03:00
"code.gitea.io/gitea/modules/test"
2019-04-17 19:06:35 +03:00
"github.com/stretchr/testify/assert"
2019-02-06 21:19:26 +03:00
)
func TestGetTreeBySHA ( t * testing . T ) {
models . PrepareTestEnv ( t )
ctx := test . MockContext ( t , "user2/repo1" )
test . LoadRepo ( t , ctx , 1 )
test . LoadRepoCommit ( t , ctx )
test . LoadUser ( t , ctx , 2 )
test . LoadGitRepo ( t , ctx )
2019-04-17 19:06:35 +03:00
sha := ctx . Repo . Repository . DefaultBranch
page := 1
perPage := 10
ctx . SetParams ( ":id" , "1" )
ctx . SetParams ( ":sha" , sha )
2019-02-06 21:19:26 +03:00
2019-04-17 19:06:35 +03:00
tree , err := GetTreeBySHA ( ctx . Repo . Repository , ctx . Params ( ":sha" ) , page , perPage , true )
assert . Nil ( t , err )
expectedTree := & api . GitTreeResponse {
2019-02-06 21:19:26 +03:00
SHA : "65f1bf27bc3bf70f64657658635e66094edbcb4d" ,
URL : "https://try.gitea.io/api/v1/repos/user2/repo1/git/trees/65f1bf27bc3bf70f64657658635e66094edbcb4d" ,
2019-04-17 19:06:35 +03:00
Entries : [ ] api . GitEntry {
2019-02-06 21:19:26 +03:00
{
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 ,
}
2019-04-19 15:17:27 +03:00
assert . EqualValues ( t , expectedTree , tree )
2019-02-06 21:19:26 +03:00
}