mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-28 13:23:38 +00:00
fix(qa): reject invalid qa lab ports
This commit is contained in:
@@ -73,6 +73,9 @@ async function runQaLabUp(argv: readonly string[], deps: QaLabUpDeps = {}): Prom
|
||||
if (parsed === undefined) {
|
||||
throw new Error(`${flag} must be a positive integer.`);
|
||||
}
|
||||
if (parsed > 65535) {
|
||||
throw new Error(`${flag} must be a TCP port from 1 to 65535.`);
|
||||
}
|
||||
return parsed;
|
||||
};
|
||||
|
||||
|
||||
@@ -34,12 +34,29 @@ describe("scripts/qa-lab-up", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("accepts the maximum TCP port before loading the Docker runtime", async () => {
|
||||
const runQaDockerUpCommand = vi.fn(async () => {});
|
||||
const loadRuntime = vi.fn(async () => ({ runQaDockerUpCommand }));
|
||||
|
||||
await expect(
|
||||
qaLabUpTesting.runQaLabUp(["--gateway-port", "65535", "--qa-lab-port", "65535"], {
|
||||
loadRuntime,
|
||||
}),
|
||||
).resolves.toBe(0);
|
||||
|
||||
expect(runQaDockerUpCommand).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ gatewayPort: 65535, qaLabPort: 65535 }),
|
||||
);
|
||||
});
|
||||
|
||||
it.each([
|
||||
[["--gateway-port", "1.5"], "--gateway-port must be a positive integer."],
|
||||
[["--gateway-port", "0x1000"], "--gateway-port must be a positive integer."],
|
||||
[["--gateway-port", "0"], "--gateway-port must be a positive integer."],
|
||||
[["--gateway-port", "65536"], "--gateway-port must be a TCP port from 1 to 65535."],
|
||||
[["--qa-lab-port", "1e4"], "--qa-lab-port must be a positive integer."],
|
||||
])("rejects non-decimal positive integer ports: %j", async (args, errorMessage) => {
|
||||
[["--qa-lab-port", "65536"], "--qa-lab-port must be a TCP port from 1 to 65535."],
|
||||
])("rejects invalid TCP ports: %j", async (args, errorMessage) => {
|
||||
const loadRuntime = vi.fn(async () => ({ runQaDockerUpCommand: vi.fn(async () => {}) }));
|
||||
|
||||
await expect(qaLabUpTesting.runQaLabUp(args, { loadRuntime })).rejects.toThrow(errorMessage);
|
||||
|
||||
Reference in New Issue
Block a user