@@ -8,10 +8,10 @@ import (
8
8
"github.com/src-d/gitbase/internal/commitstats"
9
9
"github.com/stretchr/testify/require"
10
10
11
- "gopkg.in/src-d/go-git-fixtures.v3"
12
- "gopkg.in/src-d/go-git.v4/plumbing/cache"
13
11
"github.com/src-d/go-mysql-server/sql"
14
12
"github.com/src-d/go-mysql-server/sql/expression"
13
+ fixtures "gopkg.in/src-d/go-git-fixtures.v3"
14
+ "gopkg.in/src-d/go-git.v4/plumbing/cache"
15
15
)
16
16
17
17
func TestCommitStatsEval (t * testing.T ) {
@@ -34,7 +34,7 @@ func TestCommitStatsEval(t *testing.T) {
34
34
from sql.Expression
35
35
to sql.Expression
36
36
row sql.Row
37
- expected * commitstats. CommitStats
37
+ expected interface {}
38
38
}{
39
39
{
40
40
name : "init commit" ,
@@ -48,6 +48,30 @@ func TestCommitStatsEval(t *testing.T) {
48
48
Total : commitstats.KindStats {Additions : 22 , Deletions : 0 },
49
49
},
50
50
},
51
+ {
52
+ name : "invalid repository id" ,
53
+ repo : expression .NewGetField (0 , sql .Text , "repository_id" , false ),
54
+ from : nil ,
55
+ to : expression .NewGetField (1 , sql .Text , "commit_hash" , false ),
56
+ row : sql .NewRow ("foobar" , "b029517f6300c2da0f4b651b8642506cd6aaf45d" ),
57
+ expected : nil ,
58
+ },
59
+ {
60
+ name : "invalid to" ,
61
+ repo : expression .NewGetField (0 , sql .Text , "repository_id" , false ),
62
+ from : nil ,
63
+ to : expression .NewGetField (1 , sql .Text , "commit_hash" , false ),
64
+ row : sql .NewRow ("worktree" , "foobar" ),
65
+ expected : nil ,
66
+ },
67
+ {
68
+ name : "invalid from" ,
69
+ repo : expression .NewGetField (0 , sql .Text , "repository_id" , false ),
70
+ from : expression .NewGetField (2 , sql .Text , "commit_hash" , false ),
71
+ to : expression .NewGetField (1 , sql .Text , "commit_hash" , false ),
72
+ row : sql .NewRow ("worktree" , "b029517f6300c2da0f4b651b8642506cd6aaf45d" , "foobar" ),
73
+ expected : nil ,
74
+ },
51
75
}
52
76
53
77
for _ , tc := range testCases {
@@ -58,10 +82,7 @@ func TestCommitStatsEval(t *testing.T) {
58
82
result , err := diff .Eval (ctx , tc .row )
59
83
require .NoError (t , err )
60
84
61
- stats , ok := result .(* commitstats.CommitStats )
62
- require .True (t , ok )
63
-
64
- require .EqualValues (t , tc .expected , stats )
85
+ require .EqualValues (t , tc .expected , result )
65
86
})
66
87
}
67
88
}
0 commit comments