





















11// Docker Build Helper tests cover docker build helper script behavior.
2-import { execFileSync, spawn } from "node:child_process";
2+import { execFileSync, spawn, spawnSync } from "node:child_process";
33import {
44chmodSync,
55existsSync,
@@ -2687,6 +2687,8 @@ output="$(cat "$sampler_log")"
26872687it("keeps Open WebUI Docker E2E resource-guarded", () => {
26882688const runner = readFileSync(OPENWEBUI_DOCKER_E2E_PATH, "utf8");
268926892690+expect(runner).toContain('validate_tcp_port OPENCLAW_OPENWEBUI_GATEWAY_PORT "$PORT"');
2691+expect(runner).toContain('validate_tcp_port OPENCLAW_OPENWEBUI_PORT "$WEBUI_PORT"');
26902692expect(runner).toContain("OPENCLAW_OPENWEBUI_MAX_MEMORY_MIB");
26912693expect(runner).toContain("OPENCLAW_OPENWEBUI_MAX_CPU_PERCENT");
26922694expect(runner).toContain('STATS_LOG="$(mktemp');
@@ -2713,6 +2715,23 @@ output="$(cat "$sampler_log")"
27132715);
27142716});
271527172718+it.each([
2719+["gateway", "OPENCLAW_OPENWEBUI_GATEWAY_PORT", "1e3"],
2720+["webui", "OPENCLAW_OPENWEBUI_PORT", "65536"],
2721+])("rejects invalid Open WebUI Docker %s ports before Docker setup", (_label, envName, value) => {
2722+const result = spawnSync("bash", [OPENWEBUI_DOCKER_E2E_PATH], {
2723+encoding: "utf8",
2724+env: {
2725+ ...process.env,
2726+[envName]: value,
2727+},
2728+});
2729+2730+expect(result.status).toBe(2);
2731+expect(result.stderr).toContain(`invalid ${envName}: ${value}`);
2732+expect(result.stderr).not.toContain("OPENAI_API_KEY is required");
2733+});
2734+27162735it("forwards every kitchen-sink RPC runtime env knob into Docker", () => {
27172736const runner = readFileSync(KITCHEN_SINK_RPC_DOCKER_E2E_PATH, "utf8");
27182737const walk = readFileSync("scripts/e2e/kitchen-sink-rpc-walk.mjs", "utf8");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。