func TestOpenFromConnPool(t *testing.T) { connConfig := pgx.ConnConfig{ Host: "127.0.0.1", User: "******", Password: "******", Database: "pgx_test", } config := pgx.ConnPoolConfig{ConnConfig: connConfig} pool, err := pgx.NewConnPool(config) if err != nil { t.Fatalf("Unable to create connection pool: %v", err) } defer pool.Close() db, err := stdlib.OpenFromConnPool(pool) if err != nil { t.Fatalf("Unable to create connection pool: %v", err) } defer closeDB(t, db) // Can get pgx.ConnPool from driver driver := db.Driver().(*stdlib.Driver) if driver.Pool == nil { t.Fatal("Expected driver opened through OpenFromConnPool to have Pool, but it did not") } // Normal sql/database still works var n int64 err = db.QueryRow("select 1").Scan(&n) if err != nil { t.Fatalf("db.QueryRow unexpectedly failed: %v", err) } }
func TestConnQueryLog(t *testing.T) { logger := &testLogger{} connConfig := pgx.ConnConfig{ Host: "127.0.0.1", User: "******", Password: "******", Database: "pgx_test", Logger: logger, } config := pgx.ConnPoolConfig{ConnConfig: connConfig} pool, err := pgx.NewConnPool(config) if err != nil { t.Fatalf("Unable to create connection pool: %v", err) } defer pool.Close() db, err := stdlib.OpenFromConnPool(pool) if err != nil { t.Fatalf("Unable to create connection pool: %v", err) } defer closeDB(t, db) // clear logs from initial connection logger.logs = []testLog{} var n int64 err = db.QueryRow("select 1").Scan(&n) if err != nil { t.Fatalf("db.QueryRow unexpectedly failed: %v", err) } l := logger.logs[0] if l.msg != "Query" { t.Errorf("Expected to log Query, but got %v", l) } if !(l.ctx[0] == "sql" && l.ctx[1] == "select 1") { t.Errorf("Expected to log Query with sql 'select 1', but got %v", l) } }