MCPcopy
hub / github.com/docker/docker-agent / TestSimple

Function TestSimple

pkg/runtime/runtime_test.go:310–348  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

308}
309
310func TestSimple(t *testing.T) {
311 t.Parallel()
312
313 stream := newStreamBuilder().
314 AddContent("Hello").
315 AddStopWithUsage(3, 2).
316 Build()
317
318 sess := session.New(session.WithUserMessage("Hi"))
319
320 events := runSession(t, sess, stream)
321
322 // Extract the actual message from MessageAddedEvent to use in comparison
323 // (it contains dynamic fields like CreatedAt that we can't predict)
324 require.Len(t, events, 10)
325 msgAdded := events[7].(*MessageAddedEvent)
326 require.NotNil(t, msgAdded.Message)
327 require.Equal(t, "Hello", msgAdded.Message.Message.Content)
328 require.Equal(t, chat.MessageRoleAssistant, msgAdded.Message.Message.Role)
329
330 expectedEvents := []Event{
331 TeamInfo([]AgentDetails{{Name: "root", Provider: "test", Model: "mock-model"}}, "root"),
332 ToolsetInfo(0, false, "root"),
333 UserMessage("Hi", sess.ID, nil, 0),
334 StreamStarted(sess.ID, "root"),
335 ToolsetInfo(0, false, "root"),
336 AgentInfo("root", "test/mock-model", "", ""),
337 AgentChoice("root", sess.ID, "Hello"),
338 MessageAdded(sess.ID, msgAdded.Message, "root"),
339 NewTokenUsageEvent(sess.ID, "root", &Usage{InputTokens: 3, OutputTokens: 2, ContextLength: 5, LastMessage: &MessageUsage{
340 Usage: chat.Usage{InputTokens: 3, OutputTokens: 2},
341 Model: "test/mock-model",
342 FinishReason: chat.FinishReasonStop,
343 }}),
344 StreamStopped(sess.ID, "root", "normal"),
345 }
346
347 assertEventsEqual(t, expectedEvents, events)
348}
349
350func TestMultipleContentChunks(t *testing.T) {
351 t.Parallel()

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
WithUserMessageFunction · 0.92
newStreamBuilderFunction · 0.85
runSessionFunction · 0.85
TeamInfoFunction · 0.85
ToolsetInfoFunction · 0.85
StreamStartedFunction · 0.85
AgentChoiceFunction · 0.85
MessageAddedFunction · 0.85
NewTokenUsageEventFunction · 0.85
StreamStoppedFunction · 0.85
assertEventsEqualFunction · 0.85

Tested by

no test coverage detected