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

Function TestBranchSessionClonesSubSession

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

Source from the content-addressed store, hash-verified

273}
274
275func TestBranchSessionClonesSubSession(t *testing.T) {
276 t.Parallel()
277
278 tempDB := filepath.Join(t.TempDir(), "test_branch_subsession.db")
279
280 store, err := NewSQLiteSessionStore(t.Context(), tempDB)
281 require.NoError(t, err)
282 defer store.(*SQLiteSessionStore).Close()
283
284 subSession := &Session{
285 ID: "sub-session",
286 CreatedAt: time.Now(),
287 Messages: []Item{
288 NewMessageItem(UserMessage("Sub message")),
289 },
290 }
291 parent := &Session{
292 ID: "parent-session",
293 CreatedAt: time.Now(),
294 Messages: []Item{
295 NewMessageItem(UserMessage("Start")),
296 NewSubSessionItem(subSession),
297 NewMessageItem(UserMessage("After")),
298 },
299 }
300
301 require.NoError(t, store.AddSession(t.Context(), parent))
302
303 parentLoaded, err := store.GetSession(t.Context(), parent.ID)
304 require.NoError(t, err)
305
306 branched, err := BranchSession(parentLoaded, 2)
307 require.NoError(t, err)
308
309 require.NoError(t, store.AddSession(t.Context(), branched))
310
311 loaded, err := store.GetSession(t.Context(), branched.ID)
312 require.NoError(t, err)
313 require.Len(t, loaded.Messages, 2)
314
315 subItem := loaded.Messages[1]
316 require.NotNil(t, subItem.SubSession)
317 assert.NotEqual(t, subSession.ID, subItem.SubSession.ID)
318 assert.Equal(t, loaded.ID, subItem.SubSession.ParentID)
319 require.Len(t, subItem.SubSession.Messages, 1)
320 assert.Equal(t, "Sub message", subItem.SubSession.Messages[0].Message.Message.Content)
321}
322
323func TestStoreAgentNameJSON(t *testing.T) {
324 t.Parallel()

Callers

nothing calls this directly

Calls 11

AddSessionMethod · 0.95
GetSessionMethod · 0.95
NewSQLiteSessionStoreFunction · 0.85
NewMessageItemFunction · 0.85
NewSubSessionItemFunction · 0.85
BranchSessionFunction · 0.85
ContextMethod · 0.80
NowMethod · 0.80
UserMessageFunction · 0.70
CloseMethod · 0.65
LenMethod · 0.65

Tested by

no test coverage detected