@@ -409,15 +409,14 @@ func testClientReplay(t *testing.T, test clientReplayTest) {
409409}
410410
411411func TestServerTransportCleanup (t * testing.T ) {
412- server := NewServer (testImpl , & ServerOptions {KeepAlive : 10 * time .Millisecond })
413-
414412 nClient := 3
415413
416414 var mu sync.Mutex
417415 var id int = - 1 // session id starting from "0", "1", "2"...
418416 chans := make (map [string ]chan struct {}, nClient )
419417
420- handler := NewStreamableHTTPHandler (func (* http.Request ) * Server { return server }, & StreamableHTTPOptions {
418+ server := NewServer (testImpl , & ServerOptions {
419+ KeepAlive : 10 * time .Millisecond ,
421420 GetSessionID : func () string {
422421 mu .Lock ()
423422 defer mu .Unlock ()
@@ -430,6 +429,7 @@ func TestServerTransportCleanup(t *testing.T) {
430429 },
431430 })
432431
432+ handler := NewStreamableHTTPHandler (func (* http.Request ) * Server { return server }, nil )
433433 handler .onTransportDeletion = func (sessionID string ) {
434434 chans [sessionID ] <- struct {}{}
435435 }
@@ -1199,8 +1199,6 @@ func TestStreamableStateless(t *testing.T) {
11991199 }
12001200 return & CallToolResult {Content : []Content {& TextContent {Text : "hi " + args .Name }}}, nil , nil
12011201 }
1202- server := NewServer (testImpl , nil )
1203- AddTool (server , & Tool {Name : "greet" , Description : "say hi" }, sayHi )
12041202
12051203 requests := []streamableRequest {
12061204 {
@@ -1263,9 +1261,15 @@ func TestStreamableStateless(t *testing.T) {
12631261 }
12641262 }
12651263
1266- sessionlessHandler := NewStreamableHTTPHandler (func (* http.Request ) * Server { return server }, & StreamableHTTPOptions {
1267- GetSessionID : func () string { return "" },
1268- Stateless : true ,
1264+ sessionlessHandler := NewStreamableHTTPHandler (func (* http.Request ) * Server {
1265+ // Return a stateless server which never assigns a session ID.
1266+ server := NewServer (testImpl , & ServerOptions {
1267+ GetSessionID : func () string { return "" },
1268+ })
1269+ AddTool (server , & Tool {Name : "greet" , Description : "say hi" }, sayHi )
1270+ return server
1271+ }, & StreamableHTTPOptions {
1272+ Stateless : true ,
12691273 })
12701274
12711275 // First, test the "sessionless" stateless mode, where there is no session ID.
@@ -1279,7 +1283,12 @@ func TestStreamableStateless(t *testing.T) {
12791283 // This can be used by tools to look up application state preserved across
12801284 // subsequent requests.
12811285 requests [0 ].wantSessionID = true // now expect a session ID for initialize
1282- statelessHandler := NewStreamableHTTPHandler (func (* http.Request ) * Server { return server }, & StreamableHTTPOptions {
1286+ statelessHandler := NewStreamableHTTPHandler (func (* http.Request ) * Server {
1287+ // Return a server with default options which should assign a random session ID.
1288+ server := NewServer (testImpl , nil )
1289+ AddTool (server , & Tool {Name : "greet" , Description : "say hi" }, sayHi )
1290+ return server
1291+ }, & StreamableHTTPOptions {
12831292 Stateless : true ,
12841293 })
12851294 t .Run ("stateless" , func (t * testing.T ) {
0 commit comments