mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-21 14:11:26 +00:00
test(memory-core): reuse workspace helper in dreaming tests
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
import fs from "node:fs/promises";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import type { OpenClawConfig } from "openclaw/plugin-sdk/memory-core";
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import {
|
||||
__testing,
|
||||
reconcileShortTermDreamingCronJob,
|
||||
@@ -10,8 +9,10 @@ import {
|
||||
runShortTermDreamingPromotionIfTriggered,
|
||||
} from "./dreaming.js";
|
||||
import { recordShortTermRecalls } from "./short-term-promotion.js";
|
||||
import { createMemoryCoreTestHarness } from "./test-helpers.js";
|
||||
|
||||
const constants = __testing.constants;
|
||||
const { createTempWorkspace } = createMemoryCoreTestHarness();
|
||||
|
||||
type CronParam = NonNullable<Parameters<typeof reconcileShortTermDreamingCronJob>[0]["cron"]>;
|
||||
type CronJobLike = Awaited<ReturnType<CronParam["list"]>>[number];
|
||||
@@ -621,17 +622,9 @@ describe("short-term dreaming cron reconciliation", () => {
|
||||
});
|
||||
|
||||
describe("short-term dreaming trigger", () => {
|
||||
const tempDirs: string[] = [];
|
||||
|
||||
afterEach(async () => {
|
||||
await Promise.all(tempDirs.map((dir) => fs.rm(dir, { recursive: true, force: true })));
|
||||
tempDirs.length = 0;
|
||||
});
|
||||
|
||||
it("applies promotions when the managed dreaming heartbeat event fires", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-"));
|
||||
tempDirs.push(workspaceDir);
|
||||
const workspaceDir = await createTempWorkspace("memory-dreaming-");
|
||||
await writeDailyMemoryNote(workspaceDir, "2026-04-02", ["Move backups to S3 Glacier."]);
|
||||
|
||||
await recordShortTermRecalls({
|
||||
@@ -673,8 +666,7 @@ describe("short-term dreaming trigger", () => {
|
||||
|
||||
it("keeps one-off recalls out of long-term memory under default thresholds", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-strict-"));
|
||||
tempDirs.push(workspaceDir);
|
||||
const workspaceDir = await createTempWorkspace("memory-dreaming-strict-");
|
||||
await writeDailyMemoryNote(workspaceDir, "2026-04-03", [
|
||||
"Move backups to S3 Glacier.",
|
||||
"Retain quarterly snapshots.",
|
||||
@@ -747,8 +739,7 @@ describe("short-term dreaming trigger", () => {
|
||||
|
||||
it("skips dreaming promotion cleanly when limit is zero", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-limit-zero-"));
|
||||
tempDirs.push(workspaceDir);
|
||||
const workspaceDir = await createTempWorkspace("memory-dreaming-limit-zero-");
|
||||
|
||||
const result = await runShortTermDreamingPromotionIfTriggered({
|
||||
cleanedBody: constants.DREAMING_SYSTEM_EVENT_TEXT,
|
||||
@@ -781,8 +772,7 @@ describe("short-term dreaming trigger", () => {
|
||||
|
||||
it("repairs recall artifacts before dreaming promotion runs", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-repair-"));
|
||||
tempDirs.push(workspaceDir);
|
||||
const workspaceDir = await createTempWorkspace("memory-dreaming-repair-");
|
||||
await writeDailyMemoryNote(workspaceDir, "2026-04-03", [
|
||||
"Move backups to S3 Glacier and sync router failover notes.",
|
||||
"Keep router recovery docs current.",
|
||||
@@ -862,8 +852,7 @@ describe("short-term dreaming trigger", () => {
|
||||
|
||||
it("emits detailed run logs when verboseLogging is enabled", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-verbose-"));
|
||||
tempDirs.push(workspaceDir);
|
||||
const workspaceDir = await createTempWorkspace("memory-dreaming-verbose-");
|
||||
await writeDailyMemoryNote(workspaceDir, "2026-04-02", ["Move backups to S3 Glacier."]);
|
||||
|
||||
await recordShortTermRecalls({
|
||||
@@ -912,8 +901,7 @@ describe("short-term dreaming trigger", () => {
|
||||
|
||||
it("fans out one dreaming run across configured agent workspaces", async () => {
|
||||
const logger = createLogger();
|
||||
const workspaceRoot = await fs.mkdtemp(path.join(os.tmpdir(), "memory-dreaming-multi-"));
|
||||
tempDirs.push(workspaceRoot);
|
||||
const workspaceRoot = await createTempWorkspace("memory-dreaming-multi-");
|
||||
const alphaWorkspace = path.join(workspaceRoot, "alpha");
|
||||
const betaWorkspace = path.join(workspaceRoot, "beta");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user