mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-15 23:50:32 +02:00
65 lines
1.8 KiB
Go
65 lines
1.8 KiB
Go
package multiagent
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/cloudwego/eino/adk"
|
|
"github.com/cloudwego/eino/schema"
|
|
)
|
|
|
|
func TestEinoRunMessageAccumulatorTracksBaseAndAppends(t *testing.T) {
|
|
acc := newEinoRunMessageAccumulator([]adk.Message{schema.UserMessage("hi")})
|
|
|
|
if acc.BaseCount() != 1 {
|
|
t.Fatalf("base count = %d, want 1", acc.BaseCount())
|
|
}
|
|
if acc.HasNewMessages() {
|
|
t.Fatal("fresh accumulator should not have new messages")
|
|
}
|
|
|
|
if !acc.AppendAssistantText(" hello ") {
|
|
t.Fatal("assistant text should append")
|
|
}
|
|
if !acc.HasNewMessages() {
|
|
t.Fatal("expected new messages after append")
|
|
}
|
|
msgs := acc.Messages()
|
|
if len(msgs) != 2 || msgs[1].Role != schema.Assistant || msgs[1].Content != "hello" {
|
|
t.Fatalf("messages = %#v", msgs)
|
|
}
|
|
}
|
|
|
|
func TestEinoRunMessageAccumulatorToolMessage(t *testing.T) {
|
|
acc := newEinoRunMessageAccumulator(nil)
|
|
if acc.AppendToolMessage("ignored", "") {
|
|
t.Fatal("blank tool call id should not append")
|
|
}
|
|
if !acc.AppendToolMessage("result", "call-1", schema.WithToolName("execute")) {
|
|
t.Fatal("tool message should append")
|
|
}
|
|
msgs := acc.Messages()
|
|
if len(msgs) != 1 || msgs[0].Role != schema.Tool || msgs[0].Content != "result" || msgs[0].ToolCallID != "call-1" || msgs[0].ToolName != "execute" {
|
|
t.Fatalf("tool message = %#v", msgs)
|
|
}
|
|
}
|
|
|
|
func TestEinoRunMessageAccumulatorAssistantToolCalls(t *testing.T) {
|
|
acc := newEinoRunMessageAccumulator(nil)
|
|
if acc.AppendAssistantToolCalls(nil) {
|
|
t.Fatal("empty tool calls should not append")
|
|
}
|
|
if !acc.AppendAssistantToolCalls([]schema.ToolCall{{
|
|
ID: "call-1",
|
|
Function: schema.FunctionCall{
|
|
Name: "execute",
|
|
Arguments: `{}`,
|
|
},
|
|
}}) {
|
|
t.Fatal("assistant tool calls should append")
|
|
}
|
|
msgs := acc.Messages()
|
|
if len(msgs) != 1 || msgs[0].Role != schema.Assistant || len(msgs[0].ToolCalls) != 1 {
|
|
t.Fatalf("assistant tool call message = %#v", msgs)
|
|
}
|
|
}
|