Files
rill/internal/utils/random_test.go
T
kevin f440bb22b6 增加工具模块与可信代理配置
- internal/utils:ClientIP 按序枚举 CDN/代理头(含 RFC 7239 Forwarded),仅在可信代理来源时采信,否则回退直连 IP;RemoteIP 取直连地址;RandomString 生成安全随机串
- 新增 server.trusted_proxies 配置(IP/CIDR,ConfigVersion 2→3 自动补全),启动时同步应用到 gin 与 utils
- 初始管理员密码生成改用 utils.RandomString,原密码测试迁至 utils
2026-09-21 20:28:38 +08:00

30 lines
566 B
Go

package utils
import (
"strings"
"testing"
)
func TestRandomString(t *testing.T) {
value, err := RandomString(16)
if err != nil {
t.Fatalf("生成随机字符串失败: %v", err)
}
if len(value) != 16 {
t.Errorf("长度 = %d, 期望 16", len(value))
}
for _, r := range value {
if !strings.ContainsRune(randomCharset, r) {
t.Errorf("包含非法字符 %q", r)
}
}
other, err := RandomString(16)
if err != nil {
t.Fatalf("生成随机字符串失败: %v", err)
}
if value == other {
t.Error("两次生成的字符串不应相同")
}
}