Connection via DSN

This commit is contained in:
vetcher 2021-08-30 15:09:09 +03:00 committed by go-jet
parent b0838999d6
commit 5b7c34e333
8 changed files with 220 additions and 54 deletions

View file

@ -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)
}