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

Function TestLineageManager_RevokeDataSource

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

Source from the content-addressed store, hash-verified

353}
354
355func TestLineageManager_RevokeDataSource(t *testing.T) {
356 lm := NewLineageManager()
357
358 // Create memories from different sources
359 p1 := NewProvenance(SourceUserInput, "session-1")
360 if err := lm.TrackMemoryCreation("mem-1", p1, nil); err != nil {
361 t.Fatalf("TrackMemoryCreation failed: %v", err)
362 }
363
364 p2 := NewProvenance(SourceUserInput, "session-2")
365 if err := lm.TrackMemoryCreation("mem-2", p2, nil); err != nil {
366 t.Fatalf("TrackMemoryCreation failed: %v", err)
367 }
368
369 p3 := NewProvenance(SourceUserInput, "session-1")
370 if err := lm.TrackMemoryCreation("mem-3", p3, []string{"mem-1"}); err != nil {
371 t.Fatalf("TrackMemoryCreation failed: %v", err)
372 }
373
374 ctx := context.Background()
375
376 // Revoke session-1
377 deleted, err := lm.RevokeDataSource(ctx, "session-1")
378 if err != nil {
379 t.Fatalf("RevokeDataSource() error = %v", err)
380 }
381
382 // Should delete mem-1 and mem-3 (derived from mem-1)
383 if len(deleted) < 2 {
384 t.Errorf("Deleted %d memories, want at least 2", len(deleted))
385 }
386
387 // mem-2 should still exist
388 if lm.graph.memoryMetadata["mem-2"] == nil {
389 t.Error("mem-2 should still exist (different source)")
390 }
391}
392
393func TestLineageManager_GetLineageDepth(t *testing.T) {
394 lm := NewLineageManager()

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected