Skip to content

Commit 951394d

Browse files
committed
Remove comments
1 parent b00ba8a commit 951394d

File tree

1 file changed

+1
-37
lines changed

1 file changed

+1
-37
lines changed

contrib/mark3labs/mcp-go/hooks_test.go

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ func TestAddHooks(t *testing.T) {
4242
serverHooks := &server.Hooks{}
4343
ddHooks.AddHooks(serverHooks)
4444

45-
// Verify hooks were added
4645
assert.Len(t, serverHooks.OnBeforeCallTool, 1)
4746
assert.Len(t, serverHooks.OnAfterCallTool, 1)
4847
assert.Len(t, serverHooks.OnError, 1)
@@ -54,31 +53,24 @@ func TestIntegrationSessionInitialize(t *testing.T) {
5453
tt := testTracer(t)
5554
defer tt.Stop()
5655

57-
// Create Datadog hooks
5856
ddHooks := NewHooks()
5957
defer ddHooks.Stop()
6058

61-
// Create server hooks and add Datadog tracing
6259
hooks := &server.Hooks{}
6360
ddHooks.AddHooks(hooks)
6461

65-
// Create MCP server with hooks
6662
srv := server.NewMCPServer("test-server", "1.0.0",
6763
server.WithHooks(hooks))
6864

69-
// Create initialize request
7065
ctx := context.Background()
7166
initRequest := `{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}`
7267

73-
// Send initialize request
7468
response := srv.HandleMessage(ctx, []byte(initRequest))
7569
assert.NotNil(t, response)
7670

77-
// Marshal response to check it
7871
responseBytes, err := json.Marshal(response)
7972
require.NoError(t, err)
8073

81-
// Verify response is valid JSON-RPC
8274
var resp map[string]interface{}
8375
err = json.Unmarshal(responseBytes, &resp)
8476
require.NoError(t, err)
@@ -91,19 +83,15 @@ func TestIntegrationToolCallSuccess(t *testing.T) {
9183
tt := testTracer(t)
9284
defer tt.Stop()
9385

94-
// Create Datadog hooks
9586
ddHooks := NewHooks()
9687
defer ddHooks.Stop()
9788

98-
// Create server hooks and add Datadog tracing
9989
hooks := &server.Hooks{}
10090
ddHooks.AddHooks(hooks)
10191

102-
// Create MCP server with hooks
10392
srv := server.NewMCPServer("test-server", "1.0.0",
10493
server.WithHooks(hooks))
10594

106-
// Add a simple calculator tool
10795
calcTool := mcp.NewTool("calculator",
10896
mcp.WithDescription("A simple calculator"))
10997

@@ -126,132 +114,108 @@ func TestIntegrationToolCallSuccess(t *testing.T) {
126114
return mcp.NewToolResultText(string(resultJSON)), nil
127115
})
128116

129-
// Initialize session using default session manager
130117
ctx := context.Background()
131118
sessionID := "test-session-123"
132119

133-
// Create a mock session and add it to context
134120
session := &mockSession{id: sessionID}
135121
session.Initialize()
136122
ctx = srv.WithContext(ctx, session)
137123

138-
// Create the actual MCP tools/call request as JSON
139124
toolCallRequest := `{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"calculator","arguments":{"operation":"add","x":5,"y":3}}}`
140125

141-
// Call the actual MCP server's HandleMessage method
142126
response := srv.HandleMessage(ctx, []byte(toolCallRequest))
143127
assert.NotNil(t, response)
144128

145-
// Marshal response to check it
146129
responseBytes, err := json.Marshal(response)
147130
require.NoError(t, err)
148131

149-
// Verify response contains result
150132
var resp map[string]interface{}
151133
err = json.Unmarshal(responseBytes, &resp)
152134
require.NoError(t, err)
153135
assert.Equal(t, "2.0", resp["jsonrpc"])
154136
assert.NotNil(t, resp["result"])
155137

156-
// Verify LLMObs tool span was created
157138
spans := tt.WaitForLLMObsSpans(t, 1)
158139
require.Len(t, spans, 1)
159140

160141
toolSpan := spans[0]
161142
assert.Equal(t, "calculator", toolSpan.Name)
162143
assert.Equal(t, "tool", toolSpan.Meta["span.kind"])
163144

164-
// Verify input/output annotations exist
165145
assert.Contains(t, toolSpan.Meta, "input")
166146
assert.Contains(t, toolSpan.Meta, "output")
167147

168-
// The Meta field contains map[string]any, so we need to handle it as such
169148
inputMeta := toolSpan.Meta["input"]
170149
assert.NotNil(t, inputMeta)
171150

172-
// Input could be a map or string, marshal to JSON to check content
173151
inputJSON, err := json.Marshal(inputMeta)
174152
require.NoError(t, err)
175153
inputStr := string(inputJSON)
176154
assert.Contains(t, inputStr, "calculator")
177155
assert.Contains(t, inputStr, "add")
178156

179-
// Same for output
180157
outputMeta := toolSpan.Meta["output"]
181158
assert.NotNil(t, outputMeta)
182159

183160
outputJSON, err := json.Marshal(outputMeta)
184161
require.NoError(t, err)
185162
outputStr := string(outputJSON)
186-
assert.Contains(t, outputStr, "8") // result of 5 + 3
163+
assert.Contains(t, outputStr, "8")
187164
}
188165

189166
func TestIntegrationToolCallError(t *testing.T) {
190167
tt := testTracer(t)
191168
defer tt.Stop()
192169

193-
// Create Datadog hooks
194170
ddHooks := NewHooks()
195171
defer ddHooks.Stop()
196172

197-
// Create server hooks and add Datadog tracing
198173
hooks := &server.Hooks{}
199174
ddHooks.AddHooks(hooks)
200175

201-
// Create MCP server with hooks
202176
srv := server.NewMCPServer("test-server", "1.0.0",
203177
server.WithHooks(hooks))
204178

205-
// Add a tool that always errors
206179
errorTool := mcp.NewTool("error_tool",
207180
mcp.WithDescription("A tool that always errors"))
208181

209182
srv.AddTool(errorTool, func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
210183
return nil, errors.New("intentional test error")
211184
})
212185

213-
// Initialize session
214186
ctx := context.Background()
215187
sessionID := "test-session-456"
216188

217-
// Create a mock session and add it to context
218189
session := &mockSession{id: sessionID}
219190
session.Initialize()
220191
ctx = srv.WithContext(ctx, session)
221192

222-
// Create the actual MCP tools/call request as JSON
223193
toolCallRequest := `{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"error_tool","arguments":{}}}`
224194

225-
// Call the actual MCP server's HandleMessage method
226195
response := srv.HandleMessage(ctx, []byte(toolCallRequest))
227196
assert.NotNil(t, response)
228197

229-
// Marshal response to check it
230198
responseBytes, err := json.Marshal(response)
231199
require.NoError(t, err)
232200

233-
// Verify response contains error
234201
var resp map[string]interface{}
235202
err = json.Unmarshal(responseBytes, &resp)
236203
require.NoError(t, err)
237204
assert.Equal(t, "2.0", resp["jsonrpc"])
238205
assert.NotNil(t, resp["error"])
239206

240-
// Verify LLMObs tool span was created with error
241207
spans := tt.WaitForLLMObsSpans(t, 1)
242208
require.Len(t, spans, 1)
243209

244210
toolSpan := spans[0]
245211
assert.Equal(t, "error_tool", toolSpan.Name)
246212
assert.Equal(t, "tool", toolSpan.Meta["span.kind"])
247213

248-
// Verify error was recorded
249214
assert.Contains(t, toolSpan.Meta, "error.message")
250215
assert.Contains(t, toolSpan.Meta["error.message"], "intentional test error")
251216
assert.Contains(t, toolSpan.Meta, "error.type")
252217
assert.Contains(t, toolSpan.Meta, "error.stack")
253218

254-
// Verify input annotation was still added
255219
assert.Contains(t, toolSpan.Meta, "input")
256220
}
257221

0 commit comments

Comments
 (0)