MCPcopy Create free account
hub / github.com/modelcontextprotocol/go-sdk / TestCreateMessage_MultipleContentError

Function TestCreateMessage_MultipleContentError

mcp/sampling_test.go:396–438  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

394}
395
396func TestCreateMessage_MultipleContentError(t *testing.T) {
397 ctx := context.Background()
398 ct, st := NewInMemoryTransports()
399
400 // Client returns multiple content blocks via CreateMessageWithToolsHandler
401 client := NewClient(testImpl, &ClientOptions{
402 CreateMessageWithToolsHandler: func(_ context.Context, _ *CreateMessageWithToolsRequest) (*CreateMessageWithToolsResult, error) {
403 return &CreateMessageWithToolsResult{
404 Model: "test",
405 Role: "assistant",
406 Content: []Content{
407 &TextContent{Text: "a"},
408 &TextContent{Text: "b"},
409 },
410 }, nil
411 },
412 })
413
414 server := NewServer(testImpl, nil)
415 ss, err := server.Connect(ctx, st, nil)
416 if err != nil {
417 t.Fatal(err)
418 }
419 defer ss.Close()
420
421 cs, err := client.Connect(ctx, ct, nil)
422 if err != nil {
423 t.Fatal(err)
424 }
425 defer cs.Close()
426
427 // Server calls CreateMessage (singular), should get error
428 _, err = ss.CreateMessage(ctx, &CreateMessageParams{
429 MaxTokens: 100,
430 Messages: []*SamplingMessage{{Role: "user", Content: &TextContent{Text: "hi"}}},
431 })
432 if err == nil {
433 t.Fatal("expected error for multiple content blocks")
434 }
435 if !strings.Contains(err.Error(), "CreateMessageWithTools") {
436 t.Errorf("error should mention CreateMessageWithTools, got: %v", err)
437 }
438}
439
440func TestClientCapabilities_CloneSampling(t *testing.T) {
441 caps := &ClientCapabilities{

Callers

nothing calls this directly

Calls 8

ConnectMethod · 0.95
ConnectMethod · 0.95
NewInMemoryTransportsFunction · 0.85
NewClientFunction · 0.85
NewServerFunction · 0.85
CreateMessageMethod · 0.80
CloseMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…