(t *testing.T)
| 646 | } |
| 647 | |
| 648 | func TestPoolBackgroundChecksMaxConnLifetime(t *testing.T) { |
| 649 | t.Parallel() |
| 650 | |
| 651 | ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second) |
| 652 | defer cancel() |
| 653 | |
| 654 | config, err := pgxpool.ParseConfig(os.Getenv("PGX_TEST_DATABASE")) |
| 655 | require.NoError(t, err) |
| 656 | |
| 657 | config.MaxConnLifetime = 100 * time.Millisecond |
| 658 | config.HealthCheckPeriod = 100 * time.Millisecond |
| 659 | |
| 660 | db, err := pgxpool.NewWithConfig(ctx, config) |
| 661 | require.NoError(t, err) |
| 662 | defer db.Close() |
| 663 | |
| 664 | c, err := db.Acquire(ctx) |
| 665 | require.NoError(t, err) |
| 666 | c.Release() |
| 667 | time.Sleep(config.MaxConnLifetime + 500*time.Millisecond) |
| 668 | |
| 669 | stats := db.Stat() |
| 670 | assert.EqualValues(t, 0, stats.TotalConns()) |
| 671 | assert.EqualValues(t, 0, stats.MaxIdleDestroyCount()) |
| 672 | assert.EqualValues(t, 1, stats.MaxLifetimeDestroyCount()) |
| 673 | assert.EqualValues(t, 1, stats.NewConnsCount()) |
| 674 | } |
| 675 | |
| 676 | func TestPoolBackgroundChecksMaxConnIdleTime(t *testing.T) { |
| 677 | t.Parallel() |
nothing calls this directly
no test coverage detected