2019-03-27 17:33:00 +08:00
// Copyright 2017 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2019-03-27 17:33:00 +08:00
package git
import (
2023-05-04 07:08:41 +02:00
"context"
2019-06-27 02:15:26 +08:00
"path/filepath"
2019-03-27 17:33:00 +08:00
"testing"
"github.com/stretchr/testify/assert"
)
func TestGetLatestCommitTime ( t * testing . T ) {
2021-05-09 17:20:33 +02:00
bareRepo1Path := filepath . Join ( testReposDir , "repo1_bare" )
2022-01-19 23:26:57 +00:00
lct , err := GetLatestCommitTime ( DefaultContext , bareRepo1Path )
2019-03-27 17:33:00 +08:00
assert . NoError ( t , err )
2023-03-02 06:32:21 +01:00
// Time is Sun Nov 13 16:40:14 2022 +0100
2019-03-27 17:33:00 +08:00
// which is the time of commit
2023-03-02 06:32:21 +01:00
// ce064814f4a0d337b333e646ece456cd39fab612 (refs/heads/master)
assert . EqualValues ( t , 1668354014 , lct . Unix ( ) )
2019-03-27 17:33:00 +08:00
}
2019-06-27 02:15:26 +08:00
func TestRepoIsEmpty ( t * testing . T ) {
emptyRepo2Path := filepath . Join ( testReposDir , "repo2_empty" )
2022-03-29 21:13:41 +02:00
repo , err := openRepositoryWithDefaultContext ( emptyRepo2Path )
2019-06-27 02:15:26 +08:00
assert . NoError ( t , err )
2019-11-13 07:01:19 +00:00
defer repo . Close ( )
2019-06-27 02:15:26 +08:00
isEmpty , err := repo . IsEmpty ( )
assert . NoError ( t , err )
assert . True ( t , isEmpty )
}
2023-05-04 07:08:41 +02:00
func TestRepoGetDivergingCommits ( t * testing . T ) {
bareRepo1Path := filepath . Join ( testReposDir , "repo1_bare" )
do , err := GetDivergingCommits ( context . Background ( ) , bareRepo1Path , "master" , "branch2" )
assert . NoError ( t , err )
assert . Equal ( t , DivergeObject {
Ahead : 1 ,
Behind : 5 ,
} , do )
do , err = GetDivergingCommits ( context . Background ( ) , bareRepo1Path , "master" , "master" )
assert . NoError ( t , err )
assert . Equal ( t , DivergeObject {
Ahead : 0 ,
Behind : 0 ,
} , do )
do , err = GetDivergingCommits ( context . Background ( ) , bareRepo1Path , "master" , "test" )
assert . NoError ( t , err )
assert . Equal ( t , DivergeObject {
Ahead : 0 ,
Behind : 2 ,
} , do )
}