@@ -2,8 +2,11 @@ package git
2
2
3
3
import (
4
4
"context"
5
+ "io/ioutil"
6
+ "os"
5
7
"testing"
6
8
9
+ "github.com/go-git/go-git/v5"
7
10
"github.com/ipfs/go-merkledag/dagutils"
8
11
"github.com/multiverse-vcs/go-multiverse/data"
9
12
)
@@ -12,7 +15,7 @@ func TestImportFromURL(t *testing.T) {
12
15
ctx := context .Background ()
13
16
dag := dagutils .NewMemoryDagService ()
14
17
15
- id , err := ImportFromURL (ctx , dag , "go-multiverse " , "https://github.com/multiverse-vcs/go-multiverse" )
18
+ id , err := ImportFromURL (ctx , dag , "test " , "https://github.com/multiverse-vcs/go-multiverse" )
16
19
if err != nil {
17
20
t .Fatal ("failed to import git repo" )
18
21
}
@@ -22,7 +25,41 @@ func TestImportFromURL(t *testing.T) {
22
25
t .Fatal ("failed to get repo" )
23
26
}
24
27
25
- if repo .Name != "go-multiverse " {
28
+ if repo .Name != "test " {
26
29
t .Error ("unexpected repo name" )
27
30
}
28
31
}
32
+
33
+ func TestImportFromFS (t * testing.T ) {
34
+ ctx := context .Background ()
35
+ dag := dagutils .NewMemoryDagService ()
36
+
37
+ dir , err := ioutil .TempDir ("" , "*" )
38
+ if err != nil {
39
+ t .Fatal (err )
40
+ }
41
+ defer os .RemoveAll (dir )
42
+
43
+ opts := git.CloneOptions {
44
+ URL : "https://github.com/multiverse-vcs/go-multiverse" ,
45
+ }
46
+
47
+ _ , err = git .PlainClone (dir , false , & opts )
48
+ if err != nil {
49
+ t .Fatal ("failed to clone repo" )
50
+ }
51
+
52
+ id , err := ImportFromFS (ctx , dag , "test" , dir )
53
+ if err != nil {
54
+ t .Fatalf ("failed to import git repo %s" , err )
55
+ }
56
+
57
+ repo , err := data .GetRepository (ctx , dag , id )
58
+ if err != nil {
59
+ t .Fatal ("failed to get repo" )
60
+ }
61
+
62
+ if repo .Name != "test" {
63
+ t .Error ("unexpected repo name" )
64
+ }
65
+ }
0 commit comments