File tree Expand file tree Collapse file tree 4 files changed +47
-16
lines changed Expand file tree Collapse file tree 4 files changed +47
-16
lines changed Original file line number Diff line number Diff line change 4
4
"io"
5
5
6
6
"github.com/mvader/gitql/sql"
7
+
7
8
"gopkg.in/src-d/go-git.v4"
8
9
)
9
10
Original file line number Diff line number Diff line change @@ -4,25 +4,35 @@ import (
4
4
"testing"
5
5
6
6
"github.com/stretchr/testify/assert"
7
- "github.com/mvader/gitql/sql"
7
+ "gopkg.in/src-d/go-git.v4"
8
+ "gopkg.in/src-d/go-git.v4/fixtures"
8
9
)
9
10
10
11
func TestCommitsRelation (t * testing.T ) {
11
12
assert := assert .New (t )
12
- var db sql.Database = NewDatabase ("https://github.com/smola/galimatias.git" )
13
+
14
+ f := fixtures .Basic ().One ()
15
+ r , err := git .NewFilesystemRepository (f .DotGit ().Base ())
16
+ assert .Nil (err )
17
+
18
+ db := NewDatabase ("foo" , r )
13
19
assert .NotNil (db )
20
+
14
21
relations := db .Relations ()
15
22
rel , ok := relations [commitsRelationName ]
16
23
assert .True (ok )
17
24
assert .NotNil (rel )
18
25
assert .Equal (commitsRelationName , rel .Name ())
19
26
assert .Equal (0 , len (rel .Children ()))
27
+
20
28
iter , err := rel .RowIter ()
21
29
assert .Nil (err )
22
30
assert .NotNil (iter )
31
+
23
32
row , err := iter .Next ()
24
33
assert .Nil (err )
25
34
assert .NotNil (row )
35
+
26
36
fields := row .Fields ()
27
37
assert .NotNil (fields )
28
38
assert .IsType ("" , fields [1 ])
Original file line number Diff line number Diff line change 1
1
package git
2
2
3
3
import (
4
- "gopkg.in/src-d/go-git.v4"
5
4
"github.com/mvader/gitql/sql"
5
+
6
+ "gopkg.in/src-d/go-git.v4"
6
7
)
7
8
8
9
const (
9
10
commitsRelationName = "commits"
10
11
)
11
12
12
13
type Database struct {
13
- url string
14
- cr sql.PhysicalRelation
14
+ name string
15
+ cr sql.PhysicalRelation
15
16
}
16
17
17
- func NewDatabase (url string ) sql.Database {
18
- r := git .NewMemoryRepository ()
19
- r .Clone (& git.CloneOptions {
20
- URL : url ,
21
- })
18
+ func NewDatabase (name string , r * git.Repository ) sql.Database {
22
19
return & Database {
23
- url : url ,
24
- cr : newCommitsRelation (r ),
20
+ name : name ,
21
+ cr : newCommitsRelation (r ),
25
22
}
26
23
}
27
24
28
25
func (d Database ) Name () string {
29
- return d .url
26
+ return d .name
30
27
}
31
28
32
29
func (d Database ) Relations () map [string ]sql.PhysicalRelation {
Original file line number Diff line number Diff line change @@ -4,14 +4,37 @@ import (
4
4
"testing"
5
5
6
6
"github.com/stretchr/testify/assert"
7
- "github.com/mvader/gitql/sql"
7
+ "gopkg.in/src-d/go-git.v4"
8
+ "gopkg.in/src-d/go-git.v4/fixtures"
8
9
)
9
10
10
- func TestDatabase (t * testing.T ) {
11
+ func init () {
12
+ fixtures .RootFolder = "../../../../gopkg.in/src-d/go-git.v4/fixtures/"
13
+ }
14
+
15
+ func TestDatabaseRelations (t * testing.T ) {
11
16
assert := assert .New (t )
12
- var db sql.Database = NewDatabase ("https://github.com/smola/galimatias.git" )
17
+
18
+ f := fixtures .Basic ().One ()
19
+ r , err := git .NewFilesystemRepository (f .DotGit ().Base ())
20
+ assert .Nil (err )
21
+
22
+ db := NewDatabase ("foo" , r )
13
23
assert .NotNil (db )
24
+
14
25
relations := db .Relations ()
15
26
_ , ok := relations [commitsRelationName ]
16
27
assert .True (ok )
17
28
}
29
+
30
+ func TestDatabaseName (t * testing.T ) {
31
+ assert := assert .New (t )
32
+
33
+ f := fixtures .Basic ().One ()
34
+ r , err := git .NewFilesystemRepository (f .DotGit ().Base ())
35
+ assert .Nil (err )
36
+
37
+ db := NewDatabase ("foo" , r )
38
+ assert .NotNil (db )
39
+ assert .Equal (db .Name (), "foo" )
40
+ }
You can’t perform that action at this time.
0 commit comments