mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-13 04:27:28 +08:00
69 lines
1.8 KiB
Go
69 lines
1.8 KiB
Go
package agent
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"clawgo/pkg/bus"
|
|
)
|
|
|
|
func TestPrepareOutboundSubagentNoReplyFallback(t *testing.T) {
|
|
al := &AgentLoop{}
|
|
msg := bus.InboundMessage{
|
|
Channel: "system",
|
|
SenderID: "subagent:subagent-1",
|
|
ChatID: "telegram:9527",
|
|
Content: "Task 'coder' completed.\n\nResult:\nOK",
|
|
Metadata: map[string]string{
|
|
"trigger": "subagent",
|
|
},
|
|
}
|
|
|
|
outbound, ok := al.prepareOutbound(msg, "NO_REPLY")
|
|
if !ok {
|
|
t.Fatalf("expected outbound notification for subagent NO_REPLY fallback")
|
|
}
|
|
if outbound.Channel != "telegram" || outbound.ChatID != "9527" {
|
|
t.Fatalf("unexpected outbound target: %s:%s", outbound.Channel, outbound.ChatID)
|
|
}
|
|
if strings.TrimSpace(outbound.Content) != strings.TrimSpace(msg.Content) {
|
|
t.Fatalf("expected fallback content from system message, got: %q", outbound.Content)
|
|
}
|
|
}
|
|
|
|
func TestPrepareOutboundNoReplySuppressedForNonSubagent(t *testing.T) {
|
|
al := &AgentLoop{}
|
|
msg := bus.InboundMessage{
|
|
Channel: "cli",
|
|
ChatID: "direct",
|
|
Content: "hello",
|
|
}
|
|
|
|
if _, ok := al.prepareOutbound(msg, "NO_REPLY"); ok {
|
|
t.Fatalf("expected NO_REPLY to be suppressed for non-subagent messages")
|
|
}
|
|
}
|
|
|
|
func TestPrepareOutboundSubagentNoReplyFallbackWithMissingOrigin(t *testing.T) {
|
|
al := &AgentLoop{}
|
|
msg := bus.InboundMessage{
|
|
Channel: "system",
|
|
SenderID: "subagent:subagent-9",
|
|
ChatID: ":",
|
|
Metadata: map[string]string{
|
|
"trigger": "subagent",
|
|
},
|
|
}
|
|
|
|
outbound, ok := al.prepareOutbound(msg, "NO_REPLY")
|
|
if !ok {
|
|
t.Fatalf("expected outbound notification for malformed system origin")
|
|
}
|
|
if outbound.Channel != "cli" || outbound.ChatID != "direct" {
|
|
t.Fatalf("expected fallback origin cli:direct, got %s:%s", outbound.Channel, outbound.ChatID)
|
|
}
|
|
if outbound.Content != "Subagent subagent-9 completed." {
|
|
t.Fatalf("unexpected fallback content: %q", outbound.Content)
|
|
}
|
|
}
|