AkurAI Build
Menu

popagent

public

Latest change 7cecf6a89b6f39dae8c5678f5b369014199aeb3c - Add self-hosted Mastra observability by AkurAI Build

import { describe, expect, test } from "bun:test";
import { runMaintenanceOnce } from "./maintenance";

describe("runMaintenanceOnce", () => {
  test("prunes episodes and cleans hook audit", async () => {
    const calls: string[] = [];
    await runMaintenanceOnce({
      memory: { pruneEpisodes: async () => { calls.push("pruneEpisodes"); } },
      audit: { cleanupAll: async () => { calls.push("cleanupAll"); } },
      observability: { prune: async () => { calls.push("pruneObservability"); } },
    });
    expect(calls.sort()).toEqual(["cleanupAll", "pruneEpisodes", "pruneObservability"]);
  });

  test("propagates store failures to the caller", async () => {
    await expect(runMaintenanceOnce({
      memory: { pruneEpisodes: async () => { throw new Error("prune failed"); } },
      audit: { cleanupAll: async () => undefined },
    })).rejects.toThrow("prune failed");
  });
});