Ensure disableResponseStorage flag is respected

This commit is contained in:
Kevin Alwell
2025-04-29 11:25:07 -04:00
parent 3818df7ba4
commit 6686f28338
4 changed files with 124 additions and 2 deletions

View File

@@ -0,0 +1,42 @@
/**
* codex/codex-cli/tests/disableResponseStorage.test.ts
*/
import { describe, it, expect, beforeAll, afterAll } from "vitest";
import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
import { join } from "node:path";
import { tmpdir } from "node:os";
import { loadConfig, saveConfig } from "../src/utils/config";
const sandboxHome = mkdtempSync(join(tmpdir(), "codex-home-"));
const codexDir = join(sandboxHome, ".codex");
const yamlPath = join(codexDir, "config.yaml");
describe("disableResponseStorage persistence", () => {
beforeAll(() => {
// mkdir -p ~/.codex inside the sandbox
rmSync(codexDir, { recursive: true, force: true });
require("fs").mkdirSync(codexDir, { recursive: true });
// seed YAML with ZDR enabled
writeFileSync(yamlPath, "model: o4-mini\ndisableResponseStorage: true\n");
});
afterAll(() => {
rmSync(sandboxHome, { recursive: true, force: true });
});
it("keeps disableResponseStorage=true across load/save cycle", async () => {
// 1⃣ explicitly load the sandbox file
const cfg1 = loadConfig(yamlPath);
expect(cfg1.disableResponseStorage).toBe(true);
// 2⃣ save right back to the same file
await saveConfig(cfg1, yamlPath);
// 3⃣ reload and re-assert
const cfg2 = loadConfig(yamlPath);
expect(cfg2.disableResponseStorage).toBe(true);
});
});