(t *testing.T)
| 489 | } |
| 490 | |
| 491 | func 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 |
nothing calls this directly
no test coverage detected