Files
ragflow/internal/harness/core/event_sender_test.go

59 lines
1.6 KiB
Go
Raw Normal View History

package core
import (
"testing"
"ragflow/internal/harness/core/schema"
)
func TestEventSenderModelWrapper_Creation(t *testing.T) {
wrapper := NewEventSenderModelWrapper[*schema.Message]()
if wrapper == nil {
t.Fatal("nil wrapper")
}
}
func TestHasUserEventSenderModelWrapper_Empty(t *testing.T) {
handlers := []TypedReActMiddleware[*schema.Message]{}
if HasUserEventSenderModelWrapper(handlers) {
t.Error("should be false for empty handlers")
}
}
func TestHasUserEventSenderModelWrapper_Present(t *testing.T) {
wrapper := NewEventSenderModelWrapper[*schema.Message]()
handlers := []TypedReActMiddleware[*schema.Message]{wrapper}
if !HasUserEventSenderModelWrapper(handlers) {
t.Error("should detect user's EventSenderModelWrapper")
}
}
func TestEventSenderModelWrapper_AllNoOp(t *testing.T) {
wrapper := NewEventSenderModelWrapper[*schema.Message]()
_, _, _ = wrapper.BeforeAgent(nil, nil)
_, _ = wrapper.AfterAgent(nil, nil)
_, _, _ = wrapper.BeforeModelRewrite(nil, nil, nil)
_, _, _ = wrapper.AfterModelRewrite(nil, nil, nil)
}
func TestResumeWithData(t *testing.T) {
info := ResumeWithData(&ReActAgentResumeData{})
if info.ResumeData == nil {
t.Error("ResumeData should be set")
}
if info.WasInterrupted {
t.Error("WasInterrupted should default to false")
}
}
func TestExactRunPathMatch(t *testing.T) {
a := []RunStep{{agentName: "a"}, {agentName: "b"}}
b := []RunStep{{agentName: "a"}, {agentName: "b"}}
if !exactRunPathMatch(a, b) {
t.Error("equal paths should match")
}
if exactRunPathMatch(a, []RunStep{{agentName: "a"}}) {
t.Error("different length paths should not match")
}
}