MCPcopy Create free account
hub / github.com/astercloud/aster / TestLineageManager_DeleteMemoryWithLineage

Function TestLineageManager_DeleteMemoryWithLineage

pkg/memory/lineage_test.go:266–320  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

264}
265
266func TestLineageManager_DeleteMemoryWithLineage(t *testing.T) {
267 lm := NewLineageManager()
268
269 // Create lineage
270 p1 := NewProvenance(SourceUserInput, "session-1")
271 if err := lm.TrackMemoryCreation("mem-1", p1, nil); err != nil {
272 t.Fatalf("TrackMemoryCreation failed: %v", err)
273 }
274
275 p2 := NewProvenance(SourceUserInput, "session-1")
276 if err := lm.TrackMemoryCreation("mem-2", p2, []string{"mem-1"}); err != nil {
277 t.Fatalf("TrackMemoryCreation failed: %v", err)
278 }
279
280 p3 := NewProvenance(SourceUserInput, "session-1")
281 if err := lm.TrackMemoryCreation("mem-3", p3, []string{"mem-2"}); err != nil {
282 t.Fatalf("TrackMemoryCreation failed: %v", err)
283 }
284
285 ctx := context.Background()
286
287 // Delete with cascade
288 deleted, err := lm.DeleteMemoryWithLineage(ctx, "mem-1", true)
289 if err != nil {
290 t.Fatalf("DeleteMemoryWithLineage() error = %v", err)
291 }
292
293 // Should delete mem-1, mem-2, mem-3
294 if len(deleted) != 3 {
295 t.Fatalf("Deleted %d memories, want 3", len(deleted))
296 }
297
298 expectedDeleted := map[string]bool{
299 "mem-1": false,
300 "mem-2": false,
301 "mem-3": false,
302 }
303
304 for _, id := range deleted {
305 if _, exists := expectedDeleted[id]; exists {
306 expectedDeleted[id] = true
307 }
308 }
309
310 for id, found := range expectedDeleted {
311 if !found {
312 t.Errorf("Expected memory %v to be deleted", id)
313 }
314 }
315
316 // Verify memories are removed from graph
317 if lm.graph.memoryMetadata["mem-1"] != nil {
318 t.Error("mem-1 should be removed from graph")
319 }
320}
321
322func TestLineageManager_DeleteMemoryWithoutCascade(t *testing.T) {
323 lm := NewLineageManager()

Callers

nothing calls this directly

Calls 5

TrackMemoryCreationMethod · 0.95
NewLineageManagerFunction · 0.85
NewProvenanceFunction · 0.85
ErrorMethod · 0.65

Tested by

no test coverage detected