4
4
package git
5
5
6
6
import (
7
+ "context"
8
+ "os"
7
9
"path/filepath"
8
10
"testing"
9
11
10
12
"github.com/stretchr/testify/assert"
11
13
"github.com/stretchr/testify/require"
12
14
)
13
15
14
- func TestRepository_GetSubmoduleCommits (t * testing.T ) {
16
+ func TestGetTemplateSubmoduleCommits (t * testing.T ) {
15
17
testRepoPath := filepath .Join (testReposDir , "repo4_submodules" )
16
18
submodules , err := GetTemplateSubmoduleCommits (DefaultContext , testRepoPath )
17
19
require .NoError (t , err )
@@ -24,3 +26,23 @@ func TestRepository_GetSubmoduleCommits(t *testing.T) {
24
26
assert .EqualValues (t , "libtest" , submodules [1 ].Path )
25
27
assert .EqualValues (t , "1234567890123456789012345678901234567890" , submodules [1 ].Commit )
26
28
}
29
+
30
+ func TestAddTemplateSubmoduleIndexes (t * testing.T ) {
31
+ ctx := context .Background ()
32
+ tmpDir := t .TempDir ()
33
+ var err error
34
+ _ , _ , err = NewCommand (ctx , "init" ).RunStdString (& RunOpts {Dir : tmpDir })
35
+ require .NoError (t , err )
36
+ _ = os .Mkdir (filepath .Join (tmpDir , "new-dir" ), 0755 )
37
+ err = AddTemplateSubmoduleIndexes (ctx , tmpDir , []TemplateSubmoduleCommit {{Path : "new-dir" , Commit : "1234567890123456789012345678901234567890" }})
38
+ require .NoError (t , err )
39
+ _ , _ , err = NewCommand (ctx , "add" , "--all" ).RunStdString (& RunOpts {Dir : tmpDir })
40
+ require .NoError (t , err )
41
+ _ , _ , err = NewCommand (ctx , "-c" , "user.name=a" , "-c" , "user.email=b" , "commit" , "-m=test" ).RunStdString (& RunOpts {Dir : tmpDir })
42
+ require .NoError (t , err )
43
+ submodules , err := GetTemplateSubmoduleCommits (DefaultContext , tmpDir )
44
+ require .NoError (t , err )
45
+ assert .Len (t , submodules , 1 )
46
+ assert .EqualValues (t , "new-dir" , submodules [0 ].Path )
47
+ assert .EqualValues (t , "1234567890123456789012345678901234567890" , submodules [0 ].Commit )
48
+ }
0 commit comments