@@ -21,76 +21,20 @@ import (
2121 "github.com/stretchr/testify/require"
2222)
2323
24- func TestNewHooks (t * testing.T ) {
24+ func TestNewToolHandlerMiddleware (t * testing.T ) {
2525 mt := mocktracer .Start ()
2626 defer mt .Stop ()
2727
28- hooks := NewHooks ()
29- assert .NotNil (t , hooks )
30- assert .NotNil (t , hooks .toolCache )
31-
32- hooks .Stop ()
33- }
34-
35- func TestAddHooks (t * testing.T ) {
36- mt := mocktracer .Start ()
37- defer mt .Stop ()
38-
39- ddHooks := NewHooks ()
40- defer ddHooks .Stop ()
41-
42- serverHooks := & server.Hooks {}
43- ddHooks .AddHooks (serverHooks )
44-
45- assert .Len (t , serverHooks .OnBeforeCallTool , 1 )
46- assert .Len (t , serverHooks .OnAfterCallTool , 1 )
47- assert .Len (t , serverHooks .OnError , 1 )
48- }
49-
50- // Integration Tests
51-
52- func TestIntegrationSessionInitialize (t * testing.T ) {
53- tt := testTracer (t )
54- defer tt .Stop ()
55-
56- ddHooks := NewHooks ()
57- defer ddHooks .Stop ()
58-
59- hooks := & server.Hooks {}
60- ddHooks .AddHooks (hooks )
61-
62- srv := server .NewMCPServer ("test-server" , "1.0.0" ,
63- server .WithHooks (hooks ))
64-
65- ctx := context .Background ()
66- initRequest := `{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}`
67-
68- response := srv .HandleMessage (ctx , []byte (initRequest ))
69- assert .NotNil (t , response )
70-
71- responseBytes , err := json .Marshal (response )
72- require .NoError (t , err )
73-
74- var resp map [string ]interface {}
75- err = json .Unmarshal (responseBytes , & resp )
76- require .NoError (t , err )
77- assert .Equal (t , "2.0" , resp ["jsonrpc" ])
78- assert .Equal (t , float64 (1 ), resp ["id" ])
79- assert .NotNil (t , resp ["result" ])
28+ middleware := NewToolHandlerMiddleware ()
29+ assert .NotNil (t , middleware )
8030}
8131
8232func TestIntegrationToolCallSuccess (t * testing.T ) {
8333 tt := testTracer (t )
8434 defer tt .Stop ()
8535
86- ddHooks := NewHooks ()
87- defer ddHooks .Stop ()
88-
89- hooks := & server.Hooks {}
90- ddHooks .AddHooks (hooks )
91-
9236 srv := server .NewMCPServer ("test-server" , "1.0.0" ,
93- server .WithHooks ( hooks ))
37+ server .WithToolHandlerMiddleware ( NewToolHandlerMiddleware () ))
9438
9539 calcTool := mcp .NewTool ("calculator" ,
9640 mcp .WithDescription ("A simple calculator" ))
@@ -167,14 +111,8 @@ func TestIntegrationToolCallError(t *testing.T) {
167111 tt := testTracer (t )
168112 defer tt .Stop ()
169113
170- ddHooks := NewHooks ()
171- defer ddHooks .Stop ()
172-
173- hooks := & server.Hooks {}
174- ddHooks .AddHooks (hooks )
175-
176114 srv := server .NewMCPServer ("test-server" , "1.0.0" ,
177- server .WithHooks ( hooks ))
115+ server .WithToolHandlerMiddleware ( NewToolHandlerMiddleware () ))
178116
179117 errorTool := mcp .NewTool ("error_tool" ,
180118 mcp .WithDescription ("A tool that always errors" ))
0 commit comments