新增单行文本编码器与结构化 GORM 日志,统一错误记录与请求日志策略,收紧日志文件权限并修复按天切分与压缩,支付回调参数脱敏,生产强制阿里云短信,RequestID 校验防注入,日志文案中文化。
25 lines
677 B
Go
25 lines
677 B
Go
package middleware
|
|
|
|
import "testing"
|
|
|
|
func TestValidRequestID(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
value string
|
|
want bool
|
|
}{
|
|
{name: "标准 ID", value: "req-20260729_ab.cd", want: true},
|
|
{name: "空值", value: "", want: false},
|
|
{name: "包含空格", value: "bad id", want: false},
|
|
{name: "包含换行", value: "bad\nid", want: false},
|
|
{name: "超长", value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", want: false},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := validRequestID(tt.value); got != tt.want {
|
|
t.Fatalf("validRequestID() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|