package handler import "testing" func TestValidateMessageContent(t *testing.T) { SetImagePublicBase("http://localhost:9000/kefu") if _, err := validateMessageContent("text", "hello"); err != nil { t.Fatalf("文本消息应通过: %v", err) } if _, err := validateMessageContent("text", ""); err == nil { t.Fatal("空文本应失败") } validURL := "http://localhost:9000/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 应被拒绝") } }