@@ -3232,6 +3232,53 @@ output="$(cat "$sampler_log")"
|
3232 | 3232 | expect(result.stderr).not.toContain("Docker image not found"); |
3233 | 3233 | }); |
3234 | 3234 | |
| 3235 | +it.each([ |
| 3236 | +[MCP_CODE_MODE_GATEWAY_DOCKER_E2E_PATH, "OPENCLAW_MCP_CODE_MODE_CLIENT_TIMEOUT_MS", "1e3"], |
| 3237 | +[ |
| 3238 | +MCP_CODE_MODE_GATEWAY_DOCKER_E2E_PATH, |
| 3239 | +"OPENCLAW_MCP_CODE_MODE_CLIENT_BODY_MAX_BYTES", |
| 3240 | +"64bytes", |
| 3241 | +], |
| 3242 | +[MCP_CODE_MODE_GATEWAY_LIVE_DOCKER_E2E_PATH, "OPENCLAW_MCP_CODE_MODE_CLIENT_TIMEOUT_MS", "1e3"], |
| 3243 | +[ |
| 3244 | +MCP_CODE_MODE_GATEWAY_LIVE_DOCKER_E2E_PATH, |
| 3245 | +"OPENCLAW_MCP_CODE_MODE_CLIENT_BODY_MAX_BYTES", |
| 3246 | +"64bytes", |
| 3247 | +], |
| 3248 | +])("rejects invalid MCP code-mode client env before setup", (scriptPath, envName, value) => { |
| 3249 | +const result = spawnSync("bash", [scriptPath], { |
| 3250 | +encoding: "utf8", |
| 3251 | +env: { |
| 3252 | + ...process.env, |
| 3253 | +[envName]: value, |
| 3254 | +OPENCLAW_SKIP_DOCKER_BUILD: "1", |
| 3255 | +}, |
| 3256 | +}); |
| 3257 | + |
| 3258 | +expect(result.status).toBe(2); |
| 3259 | +expect(result.stderr).toContain(`invalid ${envName}: ${value}`); |
| 3260 | +expect(result.stderr).not.toContain("Docker image not found"); |
| 3261 | +expect(result.stderr).not.toContain("OPENAI_API_KEY was not available"); |
| 3262 | +}); |
| 3263 | + |
| 3264 | +it.each([MCP_CODE_MODE_GATEWAY_DOCKER_E2E_PATH, MCP_CODE_MODE_GATEWAY_LIVE_DOCKER_E2E_PATH])( |
| 3265 | +"forwards MCP code-mode client fetch limits into Docker", |
| 3266 | +(scriptPath) => { |
| 3267 | +const runner = readFileSync(scriptPath, "utf8"); |
| 3268 | + |
| 3269 | +expect(runner).toContain( |
| 3270 | +'CLIENT_TIMEOUT_MS="$(docker_e2e_read_positive_int_env OPENCLAW_MCP_CODE_MODE_CLIENT_TIMEOUT_MS 300000)"', |
| 3271 | +); |
| 3272 | +expect(runner).toContain( |
| 3273 | +'CLIENT_BODY_MAX_BYTES="$(docker_e2e_read_positive_int_env OPENCLAW_MCP_CODE_MODE_CLIENT_BODY_MAX_BYTES 1048576)"', |
| 3274 | +); |
| 3275 | +expect(runner).toContain('-e "OPENCLAW_MCP_CODE_MODE_CLIENT_TIMEOUT_MS=$CLIENT_TIMEOUT_MS"'); |
| 3276 | +expect(runner).toContain( |
| 3277 | +'-e "OPENCLAW_MCP_CODE_MODE_CLIENT_BODY_MAX_BYTES=$CLIENT_BODY_MAX_BYTES"', |
| 3278 | +); |
| 3279 | +}, |
| 3280 | +); |
| 3281 | + |
3235 | 3282 | it.each([ |
3236 | 3283 | ["timeout", "OPENCLAW_OPENAI_CHAT_TOOLS_TIMEOUT_SECONDS", "180s"], |
3237 | 3284 | ["body cap", "OPENCLAW_OPENAI_CHAT_TOOLS_MAX_BODY_BYTES", "64kb"], |
|