Files
reverse-engineering-anything/tests/boundary/cli/javascriptApplicationPathAdmission.test.ts
T
Beqa b2f3dc81fa fix(cli): reject invalid JavaScript application paths (#9789)
Validate analyze-javascript-application paths with the shared localPathStringSchema before anchoring or provider execution. Empty paths now return CLI field errors; NUL bytes are rejected at the same boundary. Preserve selected-path Evidence for valid inputs and update the CLI regressions. Closes #9747.
2026-11-10 13:50:42 +00:00

36 lines
1.1 KiB
TypeScript

import { Cli } from "incur";
import { expect, it } from "vitest";
import { registerElectronCommands } from "../../../src/cli/electronCommands.js";
import { silentLogger } from "../../../src/logger.js";
const serve = async (argv: readonly string[]): Promise<unknown> => {
const cli = Cli.create("javascript-application-path-admission", {
sync: false,
});
registerElectronCommands(cli, silentLogger, {});
let stdout = "";
await cli.serve([...argv, "--json"], {
env: {},
stdout: (text) => {
stdout += text;
},
exit: () => undefined,
});
return JSON.parse(stdout);
};
it("rejects an empty or NUL analyze-javascript-application path before analysis", async () => {
expect(await serve(["analyze-javascript-application", ""])).toMatchObject({
code: "VALIDATION_ERROR",
fieldErrors: [expect.objectContaining({ path: "path", code: "too_small" })],
});
expect(
await serve(["analyze-javascript-application", "target\x00name"]),
).toMatchObject({
code: "VALIDATION_ERROR",
fieldErrors: [
expect.objectContaining({ path: "path", code: "invalid_format" }),
],
});
});