@@ -5,14 +5,13 @@ import (
55 "testing"
66 "time"
77
8- mf "github.com/coder/agentapi/lib/msgfmt"
98 st "github.com/coder/agentapi/lib/screentracker"
109 "github.com/stretchr/testify/assert"
1110)
1211
1312func TestEventEmitter (t * testing.T ) {
1413 t .Run ("single-subscription" , func (t * testing.T ) {
15- emitter := NewEventEmitter (10 )
14+ emitter := NewEventEmitter (WithSubscriptionBufSize ( 10 ) )
1615 _ , ch , stateEvents := emitter .Subscribe ()
1716 assert .Empty (t , ch )
1817 assert .Equal (t , []Event {
@@ -27,7 +26,7 @@ func TestEventEmitter(t *testing.T) {
2726 }, stateEvents )
2827
2928 now := time .Now ()
30- emitter .UpdateMessagesAndEmitChanges ([]st.ConversationMessage {
29+ emitter .EmitMessages ([]st.ConversationMessage {
3130 {Id : 1 , Message : "Hello, world!" , Role : st .ConversationRoleUser , Time : now },
3231 })
3332 newEvent := <- ch
@@ -36,7 +35,7 @@ func TestEventEmitter(t *testing.T) {
3635 Payload : MessageUpdateBody {Id : 1 , Message : "Hello, world!" , Role : st .ConversationRoleUser , Time : now },
3736 }, newEvent )
3837
39- emitter .UpdateMessagesAndEmitChanges ([]st.ConversationMessage {
38+ emitter .EmitMessages ([]st.ConversationMessage {
4039 {Id : 1 , Message : "Hello, world! (updated)" , Role : st .ConversationRoleUser , Time : now },
4140 {Id : 2 , Message : "What's up?" , Role : st .ConversationRoleAgent , Time : now },
4241 })
@@ -52,24 +51,24 @@ func TestEventEmitter(t *testing.T) {
5251 Payload : MessageUpdateBody {Id : 2 , Message : "What's up?" , Role : st .ConversationRoleAgent , Time : now },
5352 }, newEvent )
5453
55- emitter .UpdateStatusAndEmitChanges (st .ConversationStatusStable , mf . AgentTypeAider )
54+ emitter .EmitStatus (st .ConversationStatusStable )
5655 newEvent = <- ch
5756 assert .Equal (t , Event {
5857 Type : EventTypeStatusChange ,
59- Payload : StatusChangeBody {Status : AgentStatusStable , AgentType : mf . AgentTypeAider },
58+ Payload : StatusChangeBody {Status : AgentStatusStable , AgentType : "" },
6059 }, newEvent )
6160 })
6261
6362 t .Run ("multiple-subscriptions" , func (t * testing.T ) {
64- emitter := NewEventEmitter (10 )
63+ emitter := NewEventEmitter (WithSubscriptionBufSize ( 10 ) )
6564 channels := make ([]<- chan Event , 0 , 10 )
6665 for i := 0 ; i < 10 ; i ++ {
6766 _ , ch , _ := emitter .Subscribe ()
6867 channels = append (channels , ch )
6968 }
7069 now := time .Now ()
7170
72- emitter .UpdateMessagesAndEmitChanges ([]st.ConversationMessage {
71+ emitter .EmitMessages ([]st.ConversationMessage {
7372 {Id : 1 , Message : "Hello, world!" , Role : st .ConversationRoleUser , Time : now },
7473 })
7574 for _ , ch := range channels {
@@ -82,10 +81,10 @@ func TestEventEmitter(t *testing.T) {
8281 })
8382
8483 t .Run ("close-channel" , func (t * testing.T ) {
85- emitter := NewEventEmitter (1 )
84+ emitter := NewEventEmitter (WithSubscriptionBufSize ( 1 ) )
8685 _ , ch , _ := emitter .Subscribe ()
8786 for i := range 5 {
88- emitter .UpdateMessagesAndEmitChanges ([]st.ConversationMessage {
87+ emitter .EmitMessages ([]st.ConversationMessage {
8988 {Id : i , Message : fmt .Sprintf ("Hello, world! %d" , i ), Role : st .ConversationRoleUser , Time : time .Now ()},
9089 })
9190 }
0 commit comments