Skip to content

Commit

Permalink
basefulldsn
Browse files Browse the repository at this point in the history
  • Loading branch information
flimzy committed Nov 23, 2023
1 parent b9d551e commit 08bb5bc
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,29 +44,30 @@ type testDrivers []*testDriver

var registerMu sync.Mutex

// dsn returns the full dsn for the test driver, or calls t.Skip if it is
// unset or disabled.
func (d *testDriver) dsn(t *testing.T) string {
dsn := os.Getenv(d.dsnEnvKey)
if dsn == "" {
// dsn returns the base dsn (without DB name) and the full dsn (with dbname)
// for the test driver, or calls t.Skip if it is unset or disabled.
func (d *testDriver) dsn(t *testing.T) (base string, full string) {
t.Helper()
base = os.Getenv(d.dsnEnvKey)
if base == "" {
t.Skipf("%s not set, skipping tests for %s", d.dsnEnvKey, d.driver)
}
dsn = strings.TrimSuffix(dsn, "/") + "/" + testDB
full = strings.TrimSuffix(base, "/") + "/" + testDB
if d.options == "" {
return dsn
return base, full
}
return dsn + "?" + d.options
return base + "?" + d.options, full + "?" + d.options
}

func (d *testDriver) register(t *testing.T) {
t.Helper()
registerMu.Lock()
defer registerMu.Unlock()
if !d.registered {
dsn := d.dsn(t)
base, full := d.dsn(t)
d.registered = true
txdb.Register(d.name, d.driver, dsn)
bootstrap(t, d.driver, dsn)
bootstrap(t, d.driver, base)
txdb.Register(d.name, d.driver, full)
}
}

Expand Down Expand Up @@ -106,7 +107,8 @@ func TestShouldWorkWithOpenDB(t *testing.T) {
t.Parallel()
for _, d := range txDrivers {
d.Run(t, func(t *testing.T, driver *testDriver) {
db := sql.OpenDB(txdb.New(d.driver, driver.dsn(t)))
_, dsn := driver.dsn(t)
db := sql.OpenDB(txdb.New(d.driver, dsn))
defer db.Close()
_, err := db.Exec("SELECT 1")
if err != nil {
Expand Down

0 comments on commit 08bb5bc

Please sign in to comment.