- MinIO 宿主机端口改为 9100/9101,避免与 hfb-minio 冲突 - 测试与配置默认 PublicBase 同步为 9100 - 工作台顶栏固定展示 IP|地区,详情回填会话元数据 - 种子数据补充访客 IP/地区示例
26 lines
871 B
Go
26 lines
871 B
Go
package handler
|
|
|
|
import "testing"
|
|
|
|
func TestValidateMessageContent(t *testing.T) {
|
|
SetImagePublicBase("http://localhost:9100/kefu")
|
|
|
|
if _, err := validateMessageContent("text", "hello"); err != nil {
|
|
t.Fatalf("文本消息应通过: %v", err)
|
|
}
|
|
if _, err := validateMessageContent("text", ""); err == nil {
|
|
t.Fatal("空文本应失败")
|
|
}
|
|
|
|
validURL := "http://localhost:9100/kefu/tenants/1/chat/a.webp"
|
|
if content, err := validateMessageContent("image", validURL); err != nil || content != validURL {
|
|
t.Fatalf("合法图片 URL 校验失败: content=%q err=%v", content, err)
|
|
}
|
|
if _, err := validateMessageContent("image", "data:image/png;base64,aGVsbG8="); err == nil {
|
|
t.Fatal("base64 图片应被拒绝")
|
|
}
|
|
if _, err := validateMessageContent("image", "https://evil.example.com/a.webp"); err == nil {
|
|
t.Fatal("外域图片 URL 应被拒绝")
|
|
}
|
|
}
|