@@ -256,15 +256,18 @@ func TestWrapToolHandler_SavePayloadFailure(t *testing.T) {
256256
257257 // Assert the observable failure-specific behavior: the wrapper still returns
258258 // metadata (schema + preview), but no payload path/file is produced.
259- resultJSON , marshalErr := json .Marshal (result )
260- require .NoError (t , marshalErr )
261- assert .Contains (t , string (resultJSON ), `"schema"` , "expected metadata response to include schema when payload saving fails" )
262- assert .Contains (t , string (resultJSON ), `"preview"` , "expected metadata response to include preview when payload saving fails" )
263- assert .NotContains (t , string (resultJSON ), `"payload_path"` , "metadata response should not include a saved payload path when savePayload fails" )
259+ require .Len (t , result .Content , 1 )
260+ textContent , ok := result .Content [0 ].(* sdk.TextContent )
261+ require .True (t , ok , "expected TextContent in result" )
262+
263+ var meta map [string ]interface {}
264+ require .NoError (t , json .Unmarshal ([]byte (textContent .Text ), & meta ))
265+ assert .Contains (t , meta , "payloadSchema" , "expected metadata response to include payloadSchema when payload saving fails" )
266+ assert .Contains (t , meta , "payloadPreview" , "expected metadata response to include payloadPreview when payload saving fails" )
267+ // payloadPath should be empty (no file was saved).
268+ assert .Equal (t , "" , meta ["payloadPath" ], "payloadPath should be empty when savePayload fails" )
264269
265270 entries , readErr := os .ReadDir (baseDir )
266271 require .NoError (t , readErr )
267272 assert .Len (t , entries , 0 , "savePayload failure path should not leave any saved payload files or directories behind" )
268273}
269-
270-
0 commit comments