30 lines
788 B
Go
30 lines
788 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestAIConfigTemplate_密钥不回显且表单语义完整(t *testing.T) {
|
|
raw, err := os.ReadFile("templates/ai/list.html")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
source := string(raw)
|
|
for _, want := range []string{
|
|
`action="/settings/ai/save"`, `action="/settings/ai/secret"`,
|
|
`action="/settings/ai/test"`, `action="/settings/ai/enable"`,
|
|
`type="password"`, `autocomplete="new-password"`, "连接测试", "置信度%",
|
|
} {
|
|
if !strings.Contains(source, want) {
|
|
t.Errorf("AI 配置模板缺少 %q", want)
|
|
}
|
|
}
|
|
for _, forbidden := range []string{".APIKey", `value="{{.Secret`, `value="{{.API`} {
|
|
if strings.Contains(source, forbidden) {
|
|
t.Fatalf("AI 配置模板可能回显密钥字段 %q", forbidden)
|
|
}
|
|
}
|
|
}
|