...
1 package pgconn_test
2
3 import (
4 "context"
5 "testing"
6 "time"
7
8 "github.com/jackc/pgconn"
9
10 "github.com/stretchr/testify/assert"
11 "github.com/stretchr/testify/require"
12 )
13
14 func closeConn(t testing.TB, conn *pgconn.PgConn) {
15 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
16 defer cancel()
17 require.NoError(t, conn.Close(ctx))
18 select {
19 case <-conn.CleanupDone():
20 case <-time.After(5 * time.Second):
21 t.Fatal("Connection cleanup exceeded maximum time")
22 }
23 }
24
25
26 func ensureConnValid(t *testing.T, pgConn *pgconn.PgConn) {
27 ctx, cancel := context.WithTimeout(context.Background(), time.Second)
28 result := pgConn.ExecParams(ctx, "select generate_series(1,$1)", [][]byte{[]byte("3")}, nil, nil, nil).Read()
29 cancel()
30
31 require.Nil(t, result.Err)
32 assert.Equal(t, 3, len(result.Rows))
33 assert.Equal(t, "1", string(result.Rows[0][0]))
34 assert.Equal(t, "2", string(result.Rows[1][0]))
35 assert.Equal(t, "3", string(result.Rows[2][0]))
36 }
37
View as plain text