2019-03-27 12:33:00 +03:00
// Copyright 2018 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2019-03-27 12:33:00 +03:00
package git
import (
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
func TestRepository_GetBranches ( t * testing . T ) {
bareRepo1Path := filepath . Join ( testReposDir , "repo1_bare" )
2022-03-29 22:13:41 +03:00
bareRepo1 , err := openRepositoryWithDefaultContext ( bareRepo1Path )
2019-03-27 12:33:00 +03:00
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 )
2022-09-14 15:11:24 +03:00
assert . ElementsMatch ( t , [ ] string { "master" , "branch2" } , branches )
2021-02-03 22:06:13 +03:00
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 )
2022-09-14 15:11:24 +03:00
assert . ElementsMatch ( t , [ ] string { "master" , "branch2" , "branch1" } , 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" )
2022-03-29 22:13:41 +03:00
bareRepo1 , err := openRepositoryWithDefaultContext ( bareRepo1Path )
2019-03-27 12:33:00 +03:00
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 )
}
}
}
2022-05-07 20:05:52 +03:00
func TestGetRefsBySha ( t * testing . T ) {
bareRepo5Path := filepath . Join ( testReposDir , "repo5_pulls" )
bareRepo5 , err := OpenRepository ( DefaultContext , bareRepo5Path )
if err != nil {
t . Fatal ( err )
}
defer bareRepo5 . Close ( )
// do not exist
branches , err := bareRepo5 . GetRefsBySha ( "8006ff9adbf0cb94da7dad9e537e53817f9fa5c0" , "" )
assert . NoError ( t , err )
assert . Len ( t , branches , 0 )
// refs/pull/1/head
branches , err = bareRepo5 . GetRefsBySha ( "c83380d7056593c51a699d12b9c00627bd5743e9" , PullPrefix )
assert . NoError ( t , err )
assert . EqualValues ( t , [ ] string { "refs/pull/1/head" } , branches )
branches , err = bareRepo5 . GetRefsBySha ( "d8e0bbb45f200e67d9a784ce55bd90821af45ebd" , BranchPrefix )
assert . NoError ( t , err )
assert . EqualValues ( t , [ ] string { "refs/heads/master" , "refs/heads/master-clone" } , branches )
branches , err = bareRepo5 . GetRefsBySha ( "58a4bcc53ac13e7ff76127e0fb518b5262bf09af" , BranchPrefix )
assert . NoError ( t , err )
assert . EqualValues ( t , [ ] string { "refs/heads/test-patch-1" } , branches )
}
func BenchmarkGetRefsBySha ( b * testing . B ) {
bareRepo5Path := filepath . Join ( testReposDir , "repo5_pulls" )
bareRepo5 , err := OpenRepository ( DefaultContext , bareRepo5Path )
if err != nil {
b . Fatal ( err )
}
defer bareRepo5 . Close ( )
_ , _ = bareRepo5 . GetRefsBySha ( "8006ff9adbf0cb94da7dad9e537e53817f9fa5c0" , "" )
_ , _ = bareRepo5 . GetRefsBySha ( "d8e0bbb45f200e67d9a784ce55bd90821af45ebd" , "" )
_ , _ = bareRepo5 . GetRefsBySha ( "c83380d7056593c51a699d12b9c00627bd5743e9" , "" )
_ , _ = bareRepo5 . GetRefsBySha ( "58a4bcc53ac13e7ff76127e0fb518b5262bf09af" , "" )
}