11package testkit
22
33import (
4- "bufio"
5- "bytes"
64 "encoding/json"
7- "strings"
85 "testing"
96
107 "github.com/stretchr/testify/assert"
@@ -28,29 +25,19 @@ func TestSSEServerEndpoints(t *testing.T) {
2825 require .NoError (t , err )
2926 defer server .Close ()
3027
31- sseBody , err := client .ToolsList ()
32- require .NoError (t , err )
33- scanner := bufio .NewScanner (bytes .NewReader ([]byte (sseBody )))
34-
35- for scanner .Scan () {
36- require .NoError (t , scanner .Err ())
37-
38- // Check that the SSE response contains the tools/list response
39- data , ok := strings .CutPrefix (scanner .Text (), "data:" )
40- if ok {
41- var result map [string ]any
42- err = json .Unmarshal ([]byte (data ), & result )
43- require .NoError (t , err )
44- assert .Equal (t , "2.0" , result ["jsonrpc" ])
45- assert .Equal (t , float64 (1 ), result ["id" ])
46-
47- // Check that it's a tools/list response
48- toolCall , ok := result ["result" ].(map [string ]any )
49- require .True (t , ok , "Result should contain result array" )
50- assert .Len (t , toolCall ["tools" ], 1 , "Should have one tool" )
51- return
52- }
53- }
28+ data , err := client .ToolsList ()
29+ require .NoError (t , err )
30+
31+ var result map [string ]any
32+ err = json .Unmarshal ([]byte (data ), & result )
33+ require .NoError (t , err )
34+ assert .Equal (t , "2.0" , result ["jsonrpc" ])
35+ assert .Equal (t , float64 (1 ), result ["id" ])
36+
37+ // Check that it's a tools/list response
38+ toolCall , ok := result ["result" ].(map [string ]any )
39+ require .True (t , ok , "Result should contain result array" )
40+ assert .Len (t , toolCall ["tools" ], 1 , "Should have one tool" )
5441 })
5542
5643 t .Run ("sse text/event-stream tools/call" , func (t * testing.T ) {
0 commit comments