Connection via DSN
This commit is contained in:
parent
b0838999d6
commit
5b7c34e333
8 changed files with 220 additions and 54 deletions
|
|
@ -4,16 +4,17 @@ import (
|
|||
"database/sql"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/go-jet/jet/v2/generator/mysql"
|
||||
"github.com/go-jet/jet/v2/generator/postgres"
|
||||
"github.com/go-jet/jet/v2/internal/utils/throw"
|
||||
"github.com/go-jet/jet/v2/tests/dbconfig"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
_ "github.com/lib/pq"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var testSuite string
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
package mysql
|
||||
|
||||
import (
|
||||
"github.com/go-jet/jet/v2/generator/mysql"
|
||||
"github.com/go-jet/jet/v2/internal/testutils"
|
||||
"github.com/go-jet/jet/v2/tests/dbconfig"
|
||||
"github.com/stretchr/testify/require"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"testing"
|
||||
|
||||
"github.com/go-jet/jet/v2/generator/mysql"
|
||||
"github.com/go-jet/jet/v2/internal/testutils"
|
||||
"github.com/go-jet/jet/v2/tests/dbconfig"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
const genTestDirRoot = "./.gentestdata3"
|
||||
|
|
@ -30,6 +32,21 @@ func TestGenerator(t *testing.T) {
|
|||
assertGeneratedFiles(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",
|
||||
)
|
||||
err := mysql.GenerateDSN(dsn, genTestDir3)
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
assertGeneratedFiles(t)
|
||||
}
|
||||
|
||||
err := os.RemoveAll(genTestDirRoot)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
|
@ -51,6 +68,25 @@ func TestCmdGenerator(t *testing.T) {
|
|||
|
||||
err = os.RemoveAll(genTestDirRoot)
|
||||
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",
|
||||
)
|
||||
cmd = exec.Command("jet", "-dsn="+dsn, "-path="+genTestDir3)
|
||||
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Stdout = os.Stdout
|
||||
|
||||
err = cmd.Run()
|
||||
require.NoError(t, err)
|
||||
|
||||
err = os.RemoveAll(genTestDirRoot)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func assertGeneratedFiles(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -1,16 +1,18 @@
|
|||
package postgres
|
||||
|
||||
import (
|
||||
"github.com/go-jet/jet/v2/generator/postgres"
|
||||
"github.com/go-jet/jet/v2/internal/testutils"
|
||||
"github.com/go-jet/jet/v2/tests/dbconfig"
|
||||
"github.com/stretchr/testify/require"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/go-jet/jet/v2/generator/postgres"
|
||||
"github.com/go-jet/jet/v2/internal/testutils"
|
||||
"github.com/go-jet/jet/v2/tests/dbconfig"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/go-jet/jet/v2/tests/.gentestdata/jetdb/dvds/model"
|
||||
)
|
||||
|
||||
|
|
@ -61,6 +63,26 @@ func TestCmdGenerator(t *testing.T) {
|
|||
|
||||
err = os.RemoveAll(genTestDir2)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Check that connection via DSN works
|
||||
dsn := fmt.Sprintf("postgresql://%s:%s@%s:%d/%s?sslmode=disable",
|
||||
dbconfig.PgUser,
|
||||
dbconfig.PgPassword,
|
||||
dbconfig.PgHost,
|
||||
dbconfig.PgPort,
|
||||
"jetdb",
|
||||
)
|
||||
cmd = exec.Command("jet", "-dsn="+dsn, "-schema=dvds", "-path="+genTestDir2)
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Stdout = os.Stdout
|
||||
|
||||
err = cmd.Run()
|
||||
require.NoError(t, err)
|
||||
|
||||
assertGeneratedFiles(t)
|
||||
|
||||
err = os.RemoveAll(genTestDir2)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestGenerator(t *testing.T) {
|
||||
|
|
@ -83,6 +105,21 @@ func TestGenerator(t *testing.T) {
|
|||
assertGeneratedFiles(t)
|
||||
}
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
dsn := fmt.Sprintf("postgresql://%[1]s:%[2]s@%[3]s:%[4]d/%[5]s?sslmode=disable",
|
||||
dbconfig.PgUser,
|
||||
dbconfig.PgPassword,
|
||||
dbconfig.PgHost,
|
||||
dbconfig.PgPort,
|
||||
dbconfig.PgDBName,
|
||||
)
|
||||
err := postgres.GenerateDSN(dsn, "dvds", genTestDir2)
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
assertGeneratedFiles(t)
|
||||
}
|
||||
|
||||
err := os.RemoveAll(genTestDir2)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue