DRY pgx/stdlib tests

scan-io
Jack Christensen 2014-06-20 14:09:31 -05:00
parent c0e8563b8c
commit 6c7f173b08
1 changed files with 23 additions and 39 deletions

View File

@ -6,17 +6,25 @@ import (
"testing" "testing"
) )
func TestNormalLifeCycle(t *testing.T) { func openDB(t *testing.T) *sql.DB {
db, err := sql.Open("pgx", "postgres://pgx_md5:secret@localhost:5432/pgx_test") db, err := sql.Open("pgx", "postgres://pgx_md5:secret@localhost:5432/pgx_test")
if err != nil { if err != nil {
t.Fatalf("sql.Open failed: %v", err) t.Fatalf("sql.Open failed: %v", err)
} }
defer func() {
err := db.Close() return db
if err != nil { }
t.Fatalf("db.Close unexpectedly failed: %v", err)
} func closeDB(t *testing.T, db *sql.DB) {
}() err := db.Close()
if err != nil {
t.Fatalf("db.Close unexpectedly failed: %v", err)
}
}
func TestNormalLifeCycle(t *testing.T) {
db := openDB(t)
defer closeDB(t, db)
stmt, err := db.Prepare("select 'foo', n from generate_series($1::int, $2::int) n") stmt, err := db.Prepare("select 'foo', n from generate_series($1::int, $2::int) n")
if err != nil { if err != nil {
@ -66,16 +74,8 @@ func TestNormalLifeCycle(t *testing.T) {
} }
func TestQueryCloseRowsEarly(t *testing.T) { func TestQueryCloseRowsEarly(t *testing.T) {
db, err := sql.Open("pgx", "postgres://pgx_md5:secret@localhost:5432/pgx_test") db := openDB(t)
if err != nil { defer closeDB(t, db)
t.Fatalf("sql.Open failed: %v", err)
}
defer func() {
err := db.Close()
if err != nil {
t.Fatalf("db.Close unexpectedly failed: %v", err)
}
}()
stmt, err := db.Prepare("select 'foo', n from generate_series($1::int, $2::int) n") stmt, err := db.Prepare("select 'foo', n from generate_series($1::int, $2::int) n")
if err != nil { if err != nil {
@ -137,18 +137,10 @@ func TestQueryCloseRowsEarly(t *testing.T) {
} }
func TestExec(t *testing.T) { func TestExec(t *testing.T) {
db, err := sql.Open("pgx", "postgres://pgx_md5:secret@localhost:5432/pgx_test") db := openDB(t)
if err != nil { defer closeDB(t, db)
t.Fatalf("sql.Open failed: %v", err)
}
defer func() {
err := db.Close()
if err != nil {
t.Fatalf("db.Close unexpectedly failed: %v", err)
}
}()
_, err = db.Exec("create temporary table t(a varchar not null)") _, err := db.Exec("create temporary table t(a varchar not null)")
if err != nil { if err != nil {
t.Fatalf("db.Exec unexpectedly failed: %v", err) t.Fatalf("db.Exec unexpectedly failed: %v", err)
} }
@ -168,18 +160,10 @@ func TestExec(t *testing.T) {
} }
func TestTransactionLifeCycle(t *testing.T) { func TestTransactionLifeCycle(t *testing.T) {
db, err := sql.Open("pgx", "postgres://pgx_md5:secret@localhost:5432/pgx_test") db := openDB(t)
if err != nil { defer closeDB(t, db)
t.Fatalf("sql.Open failed: %v", err)
}
defer func() {
err := db.Close()
if err != nil {
t.Fatalf("db.Close unexpectedly failed: %v", err)
}
}()
_, err = db.Exec("create temporary table t(a varchar not null)") _, err := db.Exec("create temporary table t(a varchar not null)")
if err != nil { if err != nil {
t.Fatalf("db.Exec unexpectedly failed: %v", err) t.Fatalf("db.Exec unexpectedly failed: %v", err)
} }