mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-03 02:26:22 +00:00
fix: reject partial numeric CLI options
This commit is contained in:
@@ -186,4 +186,64 @@ describe("nodes-cli coverage", () => {
|
||||
});
|
||||
expect(invoke.params?.timeoutMs).toBe(6000);
|
||||
});
|
||||
|
||||
it.each([
|
||||
{
|
||||
args: ["nodes", "location", "get", "--node", "mac-1", "--max-age", "1000ms"],
|
||||
flag: "--max-age",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "location", "get", "--node", "mac-1", "--location-timeout", "5s"],
|
||||
flag: "--location-timeout",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "location", "get", "--node", "mac-1", "--invoke-timeout", "6s"],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "camera", "snap", "--node", "mac-1", "--max-width", "1024px"],
|
||||
flag: "--max-width",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "camera", "snap", "--node", "mac-1", "--delay-ms", "20ms"],
|
||||
flag: "--delay-ms",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "camera", "snap", "--node", "mac-1", "--invoke-timeout", "20s"],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "camera", "clip", "--node", "mac-1", "--invoke-timeout", "90s"],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "screen", "record", "--node", "mac-1", "--screen", "1x"],
|
||||
flag: "--screen",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "screen", "record", "--node", "mac-1", "--invoke-timeout", "120s"],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
{
|
||||
args: ["nodes", "notify", "--node", "mac-1", "--title", "Ping", "--invoke-timeout", "15s"],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
{
|
||||
args: [
|
||||
"nodes",
|
||||
"invoke",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--command",
|
||||
"canvas.eval",
|
||||
"--invoke-timeout",
|
||||
"15s",
|
||||
],
|
||||
flag: "--invoke-timeout",
|
||||
},
|
||||
])("rejects partial numeric option for $args", async ({ args, flag }) => {
|
||||
await expect(sharedProgram.parseAsync(args, { from: "user" })).rejects.toThrow("__exit__:1");
|
||||
expect(runtimeErrors.at(-1)).toContain(`${flag} must be`);
|
||||
expect(lastNodeInvokeCall).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user