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

Function TestGetSessions

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

Source from the content-addressed store, hash-verified

121}
122
123func TestGetSessions(t *testing.T) {
124 t.Parallel()
125
126 tempDB := filepath.Join(t.TempDir(), "test_get_sessions.db")
127
128 store, err := NewSQLiteSessionStore(t.Context(), tempDB)
129 require.NoError(t, err)
130 defer store.(*SQLiteSessionStore).Close()
131
132 testAgent := agent.New("test-agent", "test prompt")
133
134 session1 := &Session{
135 ID: "session-1",
136 Messages: []Item{
137 NewMessageItem(NewAgentMessage(testAgent.Name(), &chat.Message{
138 Role: chat.MessageRoleAssistant,
139 Content: "Message from session 1",
140 })),
141 },
142 CreatedAt: time.Now().Add(-1 * time.Hour),
143 }
144
145 session2 := &Session{
146 ID: "session-2",
147 Messages: []Item{
148 NewMessageItem(NewAgentMessage(testAgent.Name(), &chat.Message{
149 Role: chat.MessageRoleAssistant,
150 Content: "Message from session 2",
151 })),
152 },
153 CreatedAt: time.Now(),
154 }
155
156 // Store the sessions
157 err = store.AddSession(t.Context(), session1)
158 require.NoError(t, err)
159 err = store.AddSession(t.Context(), session2)
160 require.NoError(t, err)
161
162 // Retrieve all sessions
163 sessions, err := store.GetSessions(t.Context())
164 require.NoError(t, err)
165 assert.Len(t, sessions, 2)
166
167 for _, session := range sessions {
168 assert.Len(t, session.Messages, 1)
169 assert.Equal(t, "test-agent", session.Messages[0].Message.AgentName)
170 }
171}
172
173func TestGetSessionSummaries(t *testing.T) {
174 t.Parallel()

Callers

nothing calls this directly

Calls 12

AddSessionMethod · 0.95
GetSessionsMethod · 0.95
NewFunction · 0.92
NewSQLiteSessionStoreFunction · 0.85
NewMessageItemFunction · 0.85
NewAgentMessageFunction · 0.85
ContextMethod · 0.80
NowMethod · 0.80
CloseMethod · 0.65
NameMethod · 0.65
AddMethod · 0.65
LenMethod · 0.65

Tested by

no test coverage detected