新增 DB/Redis 连接池配置与校验,并补充单测 网关请求体大小限制与 413 处理 HTTP/req 客户端池化并调整上游连接池默认值 并发槽位改为 ZSET+Lua 与指数退避 用量统计改 SQL 聚合并新增索引迁移 计费缓存写入改工作池并补测试/基准 测试: 在 backend/ 下运行 go test ./...
36 lines
900 B
Go
36 lines
900 B
Go
package infrastructure
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/Wei-Shaw/sub2api/internal/config"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestBuildRedisOptions(t *testing.T) {
|
|
cfg := &config.Config{
|
|
Redis: config.RedisConfig{
|
|
Host: "localhost",
|
|
Port: 6379,
|
|
Password: "secret",
|
|
DB: 2,
|
|
DialTimeoutSeconds: 5,
|
|
ReadTimeoutSeconds: 3,
|
|
WriteTimeoutSeconds: 4,
|
|
PoolSize: 100,
|
|
MinIdleConns: 10,
|
|
},
|
|
}
|
|
|
|
opts := buildRedisOptions(cfg)
|
|
require.Equal(t, "localhost:6379", opts.Addr)
|
|
require.Equal(t, "secret", opts.Password)
|
|
require.Equal(t, 2, opts.DB)
|
|
require.Equal(t, 5*time.Second, opts.DialTimeout)
|
|
require.Equal(t, 3*time.Second, opts.ReadTimeout)
|
|
require.Equal(t, 4*time.Second, opts.WriteTimeout)
|
|
require.Equal(t, 100, opts.PoolSize)
|
|
require.Equal(t, 10, opts.MinIdleConns)
|
|
}
|