first commit
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package agentcore
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSubAgentProgressEventImplementsAgentEvent(t *testing.T) {
|
||||
var ev AgentEvent = SubAgentProgressEvent{
|
||||
ToolCallID: "call-1",
|
||||
Description: "do a thing",
|
||||
Activity: "Editing",
|
||||
Tokens: 42,
|
||||
}
|
||||
if got := ev.EventType(); got != EventSubAgentProgress {
|
||||
t.Fatalf("EventType() = %q, want %q", got, EventSubAgentProgress)
|
||||
}
|
||||
if EventSubAgentProgress != "subagent_progress" {
|
||||
t.Fatalf("EventSubAgentProgress = %q, want %q", EventSubAgentProgress, "subagent_progress")
|
||||
}
|
||||
}
|
||||
|
||||
func TestProgressEmitterRoundTrip(t *testing.T) {
|
||||
var seen AgentEvent
|
||||
sentinel := errors.New("sentinel")
|
||||
emit := func(ctx context.Context, ev AgentEvent) error {
|
||||
seen = ev
|
||||
return sentinel
|
||||
}
|
||||
|
||||
ctx := WithProgressEmitter(context.Background(), emit)
|
||||
got := ProgressEmitterFromContext(ctx)
|
||||
if got == nil {
|
||||
t.Fatal("ProgressEmitterFromContext returned nil after WithProgressEmitter")
|
||||
}
|
||||
|
||||
want := SubAgentProgressEvent{ToolCallID: "call-2", Activity: "Thinking"}
|
||||
if err := got(ctx, want); !errors.Is(err, sentinel) {
|
||||
t.Fatalf("emitter returned err = %v, want sentinel", err)
|
||||
}
|
||||
if seen != want {
|
||||
t.Fatalf("emitter received %#v, want %#v", seen, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestProgressEmitterFromBareContextIsNil(t *testing.T) {
|
||||
if got := ProgressEmitterFromContext(context.Background()); got != nil {
|
||||
t.Fatalf("ProgressEmitterFromContext on bare ctx = %v, want nil", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user