MCPcopy
hub / github.com/jackc/pgx / TestLogPrepare

Function TestLogPrepare

tracelog/tracelog_test.go:491–556  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

489}
490
491func TestLogPrepare(t *testing.T) {
492 t.Parallel()
493
494 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
495 defer cancel()
496
497 logger := &testLogger{}
498 tracer := &tracelog.TraceLog{
499 Logger: logger,
500 LogLevel: tracelog.LogLevelTrace,
501 }
502
503 ctr := defaultConnTestRunner
504 ctr.CreateConfig = func(ctx context.Context, t testing.TB) *pgx.ConnConfig {
505 config := defaultConnTestRunner.CreateConfig(ctx, t)
506 config.Tracer = tracer
507 return config
508 }
509
510 pgxtest.RunWithQueryExecModes(ctx, t, ctr, []pgx.QueryExecMode{
511 pgx.QueryExecModeCacheStatement,
512 pgx.QueryExecModeCacheDescribe,
513 pgx.QueryExecModeDescribeExec,
514 }, func(ctx context.Context, t testing.TB, conn *pgx.Conn) {
515 logger.Clear() // Clear any logs written when establishing connection
516
517 _, err := conn.Exec(ctx, `select $1::text`, "testing")
518 require.NoError(t, err)
519
520 logs := logger.FilterByMsg("Prepare")
521 require.Len(t, logs, 1)
522 require.Equal(t, tracelog.LogLevelInfo, logs[0].lvl)
523
524 logger.Clear()
525
526 _, err = conn.Exec(ctx, `foo aaaa`, "testing")
527 require.Error(t, err)
528
529 logs = logger.FilterByMsg("Prepare")
530 require.Len(t, logs, 1)
531 require.Equal(t, err, logs[0].data["err"])
532 })
533
534 ctx, cancel = context.WithTimeout(ctx, 30*time.Second)
535 defer cancel()
536
537 pgxtest.RunWithQueryExecModes(ctx, t, ctr, nil, func(ctx context.Context, t testing.TB, conn *pgx.Conn) {
538 logger.Clear() // Clear any logs written when establishing connection
539
540 _, err := conn.Prepare(ctx, "test_query_1", `select $1::int`)
541 require.NoError(t, err)
542
543 require.Len(t, logger.logs, 1)
544 require.Equal(t, "Prepare", logger.logs[0].msg)
545 require.Equal(t, tracelog.LogLevelInfo, logger.logs[0].lvl)
546
547 logger.Clear()
548

Callers

nothing calls this directly

Calls 7

ClearMethod · 0.95
FilterByMsgMethod · 0.95
RunWithQueryExecModesFunction · 0.92
ExecMethod · 0.65
LenMethod · 0.65
PrepareMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected