Add support for running integration tests with dockerized test databases.
This commit is contained in:
parent
4d5abc85c6
commit
972fc1d9bf
13 changed files with 210 additions and 67 deletions
|
|
@ -1,10 +1,10 @@
|
|||
package mysql
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/go-jet/jet/v2/generator/mysql"
|
||||
|
|
@ -19,13 +19,7 @@ const genTestDir3 = "./.gentestdata3/mysql"
|
|||
func TestGenerator(t *testing.T) {
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
err := mysql.Generate(genTestDir3, mysql.DBConnection{
|
||||
Host: dbconfig.MySqLHost,
|
||||
Port: dbconfig.MySQLPort,
|
||||
User: dbconfig.MySQLUser,
|
||||
Password: dbconfig.MySQLPassword,
|
||||
DBName: "dvds",
|
||||
})
|
||||
err := mysql.Generate(genTestDir3, dbConnection("dvds"))
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
|
|
@ -33,17 +27,11 @@ func TestGenerator(t *testing.T) {
|
|||
}
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
dsn := fmt.Sprintf("%[1]s:%[2]s@tcp(%[3]s:%[4]d)/%[5]s",
|
||||
dbconfig.MySQLUser,
|
||||
dbconfig.MySQLPassword,
|
||||
dbconfig.MySqLHost,
|
||||
dbconfig.MySQLPort,
|
||||
"dvds",
|
||||
)
|
||||
dsn := dbconfig.MySQLConnectionString(sourceIsMariaDB(), "dvds")
|
||||
|
||||
err := mysql.GenerateDSN(dsn, genTestDir3)
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
assertGeneratedFiles(t)
|
||||
}
|
||||
|
||||
|
|
@ -55,8 +43,27 @@ func TestCmdGenerator(t *testing.T) {
|
|||
err := os.RemoveAll(genTestDir3)
|
||||
require.NoError(t, err)
|
||||
|
||||
cmd := exec.Command("jet", "-source=MySQL", "-dbname=dvds", "-host=localhost", "-port=3306",
|
||||
"-user=jet", "-password=jet", "-path="+genTestDir3)
|
||||
var cmd *exec.Cmd
|
||||
|
||||
if sourceIsMariaDB() {
|
||||
cmd = exec.Command("jet",
|
||||
"-source=MariaDB",
|
||||
"-dbname=dvds",
|
||||
"-host="+dbconfig.MariaDBHost,
|
||||
"-port="+strconv.Itoa(dbconfig.MariaDBPort),
|
||||
"-user="+dbconfig.MariaDBUser,
|
||||
"-password="+dbconfig.MariaDBPassword,
|
||||
"-path="+genTestDir3)
|
||||
} else {
|
||||
cmd = exec.Command("jet",
|
||||
"-source=MySQL",
|
||||
"-dbname=dvds",
|
||||
"-host="+dbconfig.MySqLHost,
|
||||
"-port="+strconv.Itoa(dbconfig.MySQLPort),
|
||||
"-user="+dbconfig.MySQLUser,
|
||||
"-password="+dbconfig.MySQLPassword,
|
||||
"-path="+genTestDir3)
|
||||
}
|
||||
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Stdout = os.Stdout
|
||||
|
|
@ -70,13 +77,7 @@ func TestCmdGenerator(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
// check that generation via DSN works
|
||||
dsn := fmt.Sprintf("mysql://%[1]s:%[2]s@tcp(%[3]s:%[4]d)/%[5]s",
|
||||
dbconfig.MySQLUser,
|
||||
dbconfig.MySQLPassword,
|
||||
dbconfig.MySqLHost,
|
||||
dbconfig.MySQLPort,
|
||||
"dvds",
|
||||
)
|
||||
dsn := "mysql://" + dbconfig.MySQLConnectionString(sourceIsMariaDB(), "dvds")
|
||||
cmd = exec.Command("jet", "-dsn="+dsn, "-path="+genTestDir3)
|
||||
|
||||
cmd.Stderr = os.Stderr
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue