package db import ( "testing" "time" "github.com/jackc/pgx/v5/pgxpool" ) func TestApplyPostgresPoolConfigDefaultAndExplicit(t *testing.T) { t.Setenv("EVOBGP_DB_MAX_CONNS", "") t.Setenv("EVOBGP_DB_MIN_CONNS", "") cfg, err := pgxpool.ParseConfig("postgres://localhost/evobgp?sslmode=disable") if err != nil { t.Fatal(err) } applyPostgresPoolConfig(cfg) if cfg.MaxConns != 8 { t.Fatalf("default max conns: %d", cfg.MaxConns) } if cfg.MaxConnIdleTime != 5*time.Minute { t.Fatalf("idle time: %s", cfg.MaxConnIdleTime) } t.Setenv("EVOBGP_DB_MAX_CONNS", "25") cfg, err = pgxpool.ParseConfig("postgres://localhost/evobgp?sslmode=disable") if err != nil { t.Fatal(err) } applyPostgresPoolConfig(cfg) if cfg.MaxConns != 25 { t.Fatalf("explicit max conns overridden: %d", cfg.MaxConns) } }