101577f163
- Updated import paths in multiple service files to reflect the new agent-desk module. - Added a new configuration file for agent-desk in the Docker setup.
63 lines
1.9 KiB
Go
63 lines
1.9 KiB
Go
package runtime
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"agent-desk/internal/models"
|
|
"agent-desk/internal/pkg/toolx"
|
|
)
|
|
|
|
func TestNormalizeAllowedToolCodes(t *testing.T) {
|
|
ret := toolx.NormalizeToolCodes([]string{
|
|
" ",
|
|
"graph/create_ticket_with_confirmation",
|
|
"builtin/create_ticket_with_confirmation",
|
|
"graph/handoff_to_human",
|
|
"graph/handoff_to_human",
|
|
})
|
|
if len(ret) != 2 {
|
|
t.Fatalf("expected 2 tool codes, got %d: %#v", len(ret), ret)
|
|
}
|
|
if ret[0] != "graph/create_ticket_with_confirmation" {
|
|
t.Fatalf("unexpected first tool code: %s", ret[0])
|
|
}
|
|
if ret[1] != "graph/handoff_to_human" {
|
|
t.Fatalf("unexpected second tool code: %s", ret[1])
|
|
}
|
|
}
|
|
|
|
func TestToolCatalogResolveAllowedToolCodes(t *testing.T) {
|
|
catalog := newToolCatalog()
|
|
agent := models.AIAgent{
|
|
AllowedMCPTools: `[{"toolCode":"graph/create_ticket_with_confirmation"},{"toolCode":"graph/handoff_to_human"}]`,
|
|
}
|
|
skill := &models.SkillDefinition{
|
|
ToolWhitelist: `["builtin/create_ticket_with_confirmation","graph/prepare_ticket_draft"]`,
|
|
}
|
|
ret := catalog.resolveAllowedToolCodes(agent, skill)
|
|
if len(ret) != 1 {
|
|
t.Fatalf("expected 1 tool code, got %d: %#v", len(ret), ret)
|
|
}
|
|
if ret[0] != "graph/create_ticket_with_confirmation" {
|
|
t.Fatalf("unexpected tool code: %s", ret[0])
|
|
}
|
|
}
|
|
|
|
func TestToolCatalogResolveAllowedToolCodesFallsBackWhenSkillEmpty(t *testing.T) {
|
|
catalog := newToolCatalog()
|
|
agent := models.AIAgent{
|
|
AllowedMCPTools: `[{"toolCode":"graph/create_ticket_with_confirmation"},{"toolCode":"graph/handoff_to_human"}]`,
|
|
}
|
|
ret := catalog.resolveAllowedToolCodes(agent, nil)
|
|
if len(ret) != 2 {
|
|
t.Fatalf("expected 2 tool codes, got %d: %#v", len(ret), ret)
|
|
}
|
|
}
|
|
|
|
func TestBuildRuntimeStaticTools(t *testing.T) {
|
|
ret := buildRuntimeStaticTools()
|
|
if len(ret) != len(toolx.ListRuntimeStaticToolSpecs()) {
|
|
t.Fatalf("expected %d runtime static tools, got %d", len(toolx.ListRuntimeStaticToolSpecs()), len(ret))
|
|
}
|
|
}
|