MCPcopy Index your code
hub / github.com/docker/docker-agent / TestSamplingMessagesToChat

Function TestSamplingMessagesToChat

pkg/runtime/sampling_test.go:14–184  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestSamplingMessagesToChat(t *testing.T) {
15 t.Parallel()
16
17 tests := []struct {
18 name string
19 req *mcp.CreateMessageParams
20 want []chat.Message
21 wantErr bool
22 }{
23 {
24 name: "single user text message",
25 req: &mcp.CreateMessageParams{
26 Messages: []*mcp.SamplingMessage{
27 {Role: "user", Content: &mcp.TextContent{Text: "hello"}},
28 },
29 },
30 want: []chat.Message{
31 {Role: chat.MessageRoleUser, Content: "hello"},
32 },
33 },
34 {
35 name: "system prompt is prepended",
36 req: &mcp.CreateMessageParams{
37 SystemPrompt: "be terse",
38 Messages: []*mcp.SamplingMessage{
39 {Role: "user", Content: &mcp.TextContent{Text: "hi"}},
40 },
41 },
42 want: []chat.Message{
43 {Role: chat.MessageRoleSystem, Content: "be terse"},
44 {Role: chat.MessageRoleUser, Content: "hi"},
45 },
46 },
47 {
48 name: "user and assistant turns are preserved",
49 req: &mcp.CreateMessageParams{
50 Messages: []*mcp.SamplingMessage{
51 {Role: "user", Content: &mcp.TextContent{Text: "ping"}},
52 {Role: "assistant", Content: &mcp.TextContent{Text: "pong"}},
53 {Role: "user", Content: &mcp.TextContent{Text: "again"}},
54 },
55 },
56 want: []chat.Message{
57 {Role: chat.MessageRoleUser, Content: "ping"},
58 {Role: chat.MessageRoleAssistant, Content: "pong"},
59 {Role: chat.MessageRoleUser, Content: "again"},
60 },
61 },
62 {
63 name: "image content becomes a data URL multi-part",
64 req: &mcp.CreateMessageParams{
65 Messages: []*mcp.SamplingMessage{
66 {
67 Role: "user",
68 Content: &mcp.ImageContent{Data: []byte("PNGBYTES"), MIMEType: "image/png"},
69 },
70 },
71 },

Callers

nothing calls this directly

Calls 4

tooManyMessagesFunction · 0.85
samplingMessagesToChatFunction · 0.85
RunMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected