mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-01 20:11:47 +02:00
46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package multiagent
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/cloudwego/eino/adk"
|
|
"github.com/cloudwego/eino/schema"
|
|
)
|
|
|
|
func TestNormalizeSingleLeadingSystemMessage_MergesMultipleSystems(t *testing.T) {
|
|
in := []adk.Message{
|
|
schema.SystemMessage("sys-1"),
|
|
schema.UserMessage("u1"),
|
|
schema.SystemMessage("sys-2"),
|
|
schema.AssistantMessage("a1", nil),
|
|
}
|
|
out := normalizeSingleLeadingSystemMessage(in, "orch")
|
|
if len(out) != 3 {
|
|
t.Fatalf("unexpected output length: got %d want 3", len(out))
|
|
}
|
|
if out[0].Role != schema.System {
|
|
t.Fatalf("first message role must be system, got %s", out[0].Role)
|
|
}
|
|
if got := out[0].Content; got != "orch\n\nsys-1\n\nsys-2" {
|
|
t.Fatalf("unexpected merged system content: %q", got)
|
|
}
|
|
if out[1].Role != schema.User || out[2].Role != schema.Assistant {
|
|
t.Fatalf("non-system message order changed unexpectedly")
|
|
}
|
|
}
|
|
|
|
func TestNormalizeSingleLeadingSystemMessage_NoSystemKeepsFlow(t *testing.T) {
|
|
in := []adk.Message{
|
|
schema.UserMessage("u1"),
|
|
schema.AssistantMessage("a1", nil),
|
|
}
|
|
out := normalizeSingleLeadingSystemMessage(in, "")
|
|
if len(out) != 2 {
|
|
t.Fatalf("unexpected output length: got %d want 2", len(out))
|
|
}
|
|
if out[0].Role != schema.User || out[1].Role != schema.Assistant {
|
|
t.Fatalf("message order changed unexpectedly")
|
|
}
|
|
}
|
|
|