package mcpserver import ( "context" "testing" "github.com/google/uuid" "github.com/modelcontextprotocol/go-sdk/mcp" "git.warky.dev/wdevs/amcs/internal/session" ) func TestCleanupEventStoreSessionClosedClearsActiveProject(t *testing.T) { activeProjects := session.NewActiveProjects() activeProjects.Set("session-1", uuid.New()) store := newCleanupEventStore(mcp.NewMemoryEventStore(nil), activeProjects.Clear) if _, ok := activeProjects.Get("session-1"); !ok { t.Fatal("active project missing before SessionClosed") } if err := store.SessionClosed(context.Background(), "session-1"); err != nil { t.Fatalf("SessionClosed() error = %v", err) } if _, ok := activeProjects.Get("session-1"); ok { t.Fatal("active project still present after SessionClosed") } }