mirror of https://github.com/openclaw/openclaw.git
28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import fs from "node:fs/promises";
|
|
import path from "node:path";
|
|
import { describe, expect, it } from "vitest";
|
|
import { createTempHomeEnv } from "./temp-home.js";
|
|
|
|
describe("createTempHomeEnv", () => {
|
|
it("sets home env vars and restores them on cleanup", async () => {
|
|
const previousHome = process.env.HOME;
|
|
const previousUserProfile = process.env.USERPROFILE;
|
|
const previousStateDir = process.env.OPENCLAW_STATE_DIR;
|
|
|
|
const tempHome = await createTempHomeEnv("openclaw-temp-home-");
|
|
expect(process.env.HOME).toBe(tempHome.home);
|
|
expect(process.env.USERPROFILE).toBe(tempHome.home);
|
|
expect(process.env.OPENCLAW_STATE_DIR).toBe(path.join(tempHome.home, ".openclaw"));
|
|
await expect(fs.stat(tempHome.home)).resolves.toMatchObject({
|
|
isDirectory: expect.any(Function),
|
|
});
|
|
|
|
await tempHome.restore();
|
|
|
|
expect(process.env.HOME).toBe(previousHome);
|
|
expect(process.env.USERPROFILE).toBe(previousUserProfile);
|
|
expect(process.env.OPENCLAW_STATE_DIR).toBe(previousStateDir);
|
|
await expect(fs.stat(tempHome.home)).rejects.toThrow();
|
|
});
|
|
});
|