Files
ttstd-infinite-canvas/backend/internal/prompts/agent_policy_test.go
ddCat 6892732b06 feat(agent): Agent 工作台 - 计划插话记忆、统一模型选择器并修复摘要与视频入库
将计划清单、运行中插话和个人记忆接入云端 Agent;全站模型选择器统一为左右二级菜单。画布摘要按预算截断不再整轮拒绝,首页视频未知宽高可入库。README 补充贡献者 morrow。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:21:25 +08:00

41 lines
1.3 KiB
Go

package prompts
import (
"strings"
"testing"
)
func TestLoadAgentPoliciesUsesDocumentMetadata(t *testing.T) {
system, media, err := LoadAgentPolicies()
if err != nil {
t.Fatal(err)
}
if system.ID != "cloud-agent-system" || system.Version != 4 || media.ID != "cloud-agent-media" || media.Version != 2 {
t.Fatalf("unexpected policy metadata: system=%+v media=%+v", system, media)
}
if strings.Contains(system.Text, "id: cloud-agent-system") || !strings.HasPrefix(system.Text, "# 影策 Cloud Agent") {
t.Fatalf("metadata leaked into compiled policy body: %q", system.Text)
}
}
func TestParsePolicyDocumentRejectsInvalidMetadata(t *testing.T) {
for _, test := range []struct {
name string
raw string
}{
{"missing header", "# policy"},
{"unclosed header", "---\nid: policy\nversion: 1\n# body"},
{"missing id", "---\nversion: 1\n---\n# body"},
{"invalid version", "---\nid: policy\nversion: latest\n---\n# body"},
{"duplicate field", "---\nid: policy\nid: other\nversion: 1\n---\n# body"},
{"unknown field", "---\nid: policy\nversion: 1\nowner: app\n---\n# body"},
{"empty body", "---\nid: policy\nversion: 1\n---"},
} {
t.Run(test.name, func(t *testing.T) {
if _, _, _, err := parsePolicyDocument(test.raw); err == nil {
t.Fatal("invalid policy document was accepted")
}
})
}
}