2019-03-27 12:33:00 +03:00
// Copyright 2018 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.
package git
import (
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
func TestRepository_GetBranches ( t * testing . T ) {
bareRepo1Path := filepath . Join ( testReposDir , "repo1_bare" )
bareRepo1 , err := OpenRepository ( bareRepo1Path )
assert . NoError ( t , err )
2019-11-13 10:01:19 +03:00
defer bareRepo1 . Close ( )
2019-03-27 12:33:00 +03:00
2021-12-08 22:08:16 +03:00
branches , countAll , err := bareRepo1 . GetBranchNames ( 0 , 2 )
2021-02-03 22:06:13 +03:00
assert . NoError ( t , err )
assert . Len ( t , branches , 2 )
assert . EqualValues ( t , 3 , countAll )
assert . ElementsMatch ( t , [ ] string { "branch1" , "branch2" } , branches )
2021-12-08 22:08:16 +03:00
branches , countAll , err = bareRepo1 . GetBranchNames ( 0 , 0 )
2019-03-27 12:33:00 +03:00
assert . NoError ( t , err )
assert . Len ( t , branches , 3 )
2021-02-03 22:06:13 +03:00
assert . EqualValues ( t , 3 , countAll )
2019-03-27 12:33:00 +03:00
assert . ElementsMatch ( t , [ ] string { "branch1" , "branch2" , "master" } , branches )
2021-02-03 22:06:13 +03:00
2021-12-08 22:08:16 +03:00
branches , countAll , err = bareRepo1 . GetBranchNames ( 5 , 1 )
2021-02-03 22:06:13 +03:00
assert . NoError ( t , err )
assert . Len ( t , branches , 0 )
assert . EqualValues ( t , 3 , countAll )
assert . ElementsMatch ( t , [ ] string { } , branches )
2019-03-27 12:33:00 +03:00
}
func BenchmarkRepository_GetBranches ( b * testing . B ) {
bareRepo1Path := filepath . Join ( testReposDir , "repo1_bare" )
bareRepo1 , err := OpenRepository ( bareRepo1Path )
if err != nil {
b . Fatal ( err )
}
2019-11-13 10:01:19 +03:00
defer bareRepo1 . Close ( )
2019-03-27 12:33:00 +03:00
for i := 0 ; i < b . N ; i ++ {
2021-12-08 22:08:16 +03:00
_ , _ , err := bareRepo1 . GetBranchNames ( 0 , 0 )
2019-03-27 12:33:00 +03:00
if err != nil {
b . Fatal ( err )
}
}
}