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

Function TestStoreAgentName

pkg/session/store_test.go:18–70  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16)
17
18func TestStoreAgentName(t *testing.T) {
19 t.Parallel()
20
21 tempDB := filepath.Join(t.TempDir(), "test_store.db")
22
23 store, err := NewSQLiteSessionStore(t.Context(), tempDB)
24 require.NoError(t, err)
25 defer store.(*SQLiteSessionStore).Close()
26
27 testAgent1 := agent.New("test-agent-1", "test prompt 1")
28 testAgent2 := agent.New("test-agent-2", "test prompt 2")
29
30 session := &Session{
31 ID: "test-session",
32 Messages: []Item{
33 NewMessageItem(UserMessage("Hello")),
34 NewMessageItem(NewAgentMessage(testAgent1.Name(), &chat.Message{
35 Role: chat.MessageRoleAssistant,
36 Content: "Hello from test-agent-1",
37 })),
38 NewMessageItem(NewAgentMessage(testAgent2.Name(), &chat.Message{
39 Role: chat.MessageRoleUser,
40 Content: "Another message from test-agent-2",
41 })),
42 },
43 InputTokens: 100,
44 OutputTokens: 200,
45 CreatedAt: time.Now(),
46 }
47
48 // Store the session
49 err = store.AddSession(t.Context(), session)
50 require.NoError(t, err)
51
52 // Retrieve the session
53 retrievedSession, err := store.GetSession(t.Context(), "test-session")
54 require.NoError(t, err)
55 require.NotNil(t, retrievedSession)
56
57 assert.Len(t, retrievedSession.GetAllMessages(), 3)
58
59 // First message should be user message with empty agent name
60 assert.Empty(t, retrievedSession.Messages[0].Message.AgentName)
61 assert.Equal(t, "Hello", retrievedSession.Messages[0].Message.Message.Content)
62
63 // Second message should have the first agent's name
64 assert.Equal(t, "test-agent-1", retrievedSession.Messages[1].Message.AgentName)
65 assert.Equal(t, "Hello from test-agent-1", retrievedSession.Messages[1].Message.Message.Content)
66
67 // Third message should have the second agent's name
68 assert.Equal(t, "test-agent-2", retrievedSession.Messages[2].Message.AgentName)
69 assert.Equal(t, "Another message from test-agent-2", retrievedSession.Messages[2].Message.Message.Content)
70}
71
72func TestStoreMultipleAgents(t *testing.T) {
73 t.Parallel()

Callers

nothing calls this directly

Calls 13

AddSessionMethod · 0.95
GetSessionMethod · 0.95
NewFunction · 0.92
NewSQLiteSessionStoreFunction · 0.85
NewMessageItemFunction · 0.85
NewAgentMessageFunction · 0.85
ContextMethod · 0.80
NowMethod · 0.80
GetAllMessagesMethod · 0.80
UserMessageFunction · 0.70
CloseMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected