6
6
package base
7
7
8
8
import (
9
+ gosql "database/sql"
9
10
"testing"
10
11
11
12
"github.com/github/gh-ost/go/mysql"
@@ -17,6 +18,10 @@ func init() {
17
18
log .SetLevel (log .ERROR )
18
19
}
19
20
21
+ func newMysqlPort (port int64 ) gosql.NullInt64 {
22
+ return gosql.NullInt64 {Int64 : port , Valid : port > 0 }
23
+ }
24
+
20
25
func TestStringContainsAll (t * testing.T ) {
21
26
s := `insert,delete,update`
22
27
@@ -41,8 +46,8 @@ func TestValidateConnection(t *testing.T) {
41
46
{
42
47
migrationContext := & MigrationContext {Log : NewDefaultLogger ()}
43
48
serverInfo := & mysql.ServerInfo {
44
- Port : mysql . NewPort (mysql .DefaultInstancePort ),
45
- ExtraPort : mysql . NewPort (mysql .DefaultInstancePort + 1 ),
49
+ Port : newMysqlPort (mysql .DefaultInstancePort ),
50
+ ExtraPort : newMysqlPort (mysql .DefaultInstancePort + 1 ),
46
51
}
47
52
test .S (t ).ExpectNil (ValidateConnection (serverInfo , connectionConfig , migrationContext , "test" ))
48
53
}
@@ -77,24 +82,24 @@ func TestValidateConnection(t *testing.T) {
77
82
{
78
83
migrationContext := & MigrationContext {Log : NewDefaultLogger ()}
79
84
serverInfo := & mysql.ServerInfo {
80
- ExtraPort : mysql . NewPort (mysql .DefaultInstancePort ),
85
+ ExtraPort : newMysqlPort (mysql .DefaultInstancePort ),
81
86
}
82
87
test .S (t ).ExpectNil (ValidateConnection (serverInfo , connectionConfig , migrationContext , "test" ))
83
88
}
84
89
// check extra_port validates when port does not match but extra_port does
85
90
{
86
91
migrationContext := & MigrationContext {Log : NewDefaultLogger ()}
87
92
serverInfo := & mysql.ServerInfo {
88
- Port : mysql . NewPort (12345 ),
89
- ExtraPort : mysql . NewPort (mysql .DefaultInstancePort ),
93
+ Port : newMysqlPort (12345 ),
94
+ ExtraPort : newMysqlPort (mysql .DefaultInstancePort ),
90
95
}
91
96
test .S (t ).ExpectNil (ValidateConnection (serverInfo , connectionConfig , migrationContext , "test" ))
92
97
}
93
98
// check validation fails when valid port does not match connectionConfig
94
99
{
95
100
migrationContext := & MigrationContext {Log : NewDefaultLogger ()}
96
101
serverInfo := & mysql.ServerInfo {
97
- Port : mysql . NewPort (9999 ),
102
+ Port : newMysqlPort (9999 ),
98
103
}
99
104
test .S (t ).ExpectNotNil (ValidateConnection (serverInfo , connectionConfig , migrationContext , "test" ))
100
105
}
0 commit comments