test: dedupe and optimize test suites
This commit is contained in:
@@ -83,6 +83,19 @@ describe("nodes-cli coverage", () => {
|
||||
const getNodeInvokeCall = () =>
|
||||
callGateway.mock.calls.find((call) => call[0]?.method === "node.invoke")?.[0] as NodeInvokeCall;
|
||||
|
||||
const createNodesProgram = () => {
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerNodesCli(program);
|
||||
return program;
|
||||
};
|
||||
|
||||
const runNodesCommand = async (args: string[]) => {
|
||||
const program = createNodesProgram();
|
||||
await program.parseAsync(args, { from: "user" });
|
||||
return getNodeInvokeCall();
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
({ registerNodesCli } = await import("./nodes-cli.js"));
|
||||
});
|
||||
@@ -94,32 +107,23 @@ describe("nodes-cli coverage", () => {
|
||||
});
|
||||
|
||||
it("invokes system.run with parsed params", async () => {
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerNodesCli(program);
|
||||
|
||||
await program.parseAsync(
|
||||
[
|
||||
"nodes",
|
||||
"run",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--cwd",
|
||||
"/tmp",
|
||||
"--env",
|
||||
"FOO=bar",
|
||||
"--command-timeout",
|
||||
"1200",
|
||||
"--needs-screen-recording",
|
||||
"--invoke-timeout",
|
||||
"5000",
|
||||
"echo",
|
||||
"hi",
|
||||
],
|
||||
{ from: "user" },
|
||||
);
|
||||
|
||||
const invoke = getNodeInvokeCall();
|
||||
const invoke = await runNodesCommand([
|
||||
"nodes",
|
||||
"run",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--cwd",
|
||||
"/tmp",
|
||||
"--env",
|
||||
"FOO=bar",
|
||||
"--command-timeout",
|
||||
"1200",
|
||||
"--needs-screen-recording",
|
||||
"--invoke-timeout",
|
||||
"5000",
|
||||
"echo",
|
||||
"hi",
|
||||
]);
|
||||
|
||||
expect(invoke).toBeTruthy();
|
||||
expect(invoke?.params?.idempotencyKey).toBe("rk_test");
|
||||
@@ -139,16 +143,16 @@ describe("nodes-cli coverage", () => {
|
||||
});
|
||||
|
||||
it("invokes system.run with raw command", async () => {
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerNodesCli(program);
|
||||
|
||||
await program.parseAsync(
|
||||
["nodes", "run", "--agent", "main", "--node", "mac-1", "--raw", "echo hi"],
|
||||
{ from: "user" },
|
||||
);
|
||||
|
||||
const invoke = getNodeInvokeCall();
|
||||
const invoke = await runNodesCommand([
|
||||
"nodes",
|
||||
"run",
|
||||
"--agent",
|
||||
"main",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--raw",
|
||||
"echo hi",
|
||||
]);
|
||||
|
||||
expect(invoke).toBeTruthy();
|
||||
expect(invoke?.params?.idempotencyKey).toBe("rk_test");
|
||||
@@ -164,27 +168,18 @@ describe("nodes-cli coverage", () => {
|
||||
});
|
||||
|
||||
it("invokes system.notify with provided fields", async () => {
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerNodesCli(program);
|
||||
|
||||
await program.parseAsync(
|
||||
[
|
||||
"nodes",
|
||||
"notify",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--title",
|
||||
"Ping",
|
||||
"--body",
|
||||
"Gateway ready",
|
||||
"--delivery",
|
||||
"overlay",
|
||||
],
|
||||
{ from: "user" },
|
||||
);
|
||||
|
||||
const invoke = getNodeInvokeCall();
|
||||
const invoke = await runNodesCommand([
|
||||
"nodes",
|
||||
"notify",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--title",
|
||||
"Ping",
|
||||
"--body",
|
||||
"Gateway ready",
|
||||
"--delivery",
|
||||
"overlay",
|
||||
]);
|
||||
|
||||
expect(invoke).toBeTruthy();
|
||||
expect(invoke?.params?.command).toBe("system.notify");
|
||||
@@ -198,30 +193,21 @@ describe("nodes-cli coverage", () => {
|
||||
});
|
||||
|
||||
it("invokes location.get with params", async () => {
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerNodesCli(program);
|
||||
|
||||
await program.parseAsync(
|
||||
[
|
||||
"nodes",
|
||||
"location",
|
||||
"get",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--accuracy",
|
||||
"precise",
|
||||
"--max-age",
|
||||
"1000",
|
||||
"--location-timeout",
|
||||
"5000",
|
||||
"--invoke-timeout",
|
||||
"6000",
|
||||
],
|
||||
{ from: "user" },
|
||||
);
|
||||
|
||||
const invoke = getNodeInvokeCall();
|
||||
const invoke = await runNodesCommand([
|
||||
"nodes",
|
||||
"location",
|
||||
"get",
|
||||
"--node",
|
||||
"mac-1",
|
||||
"--accuracy",
|
||||
"precise",
|
||||
"--max-age",
|
||||
"1000",
|
||||
"--location-timeout",
|
||||
"5000",
|
||||
"--invoke-timeout",
|
||||
"6000",
|
||||
]);
|
||||
|
||||
expect(invoke).toBeTruthy();
|
||||
expect(invoke?.params?.command).toBe("location.get");
|
||||
|
||||
Reference in New Issue
Block a user