@@ -139,12 +139,28 @@ describe("package Telegram live Docker E2E", () => {
|
139 | 139 | expect(script).toContain( |
140 | 140 | 'OUTPUT_DIR="${OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR:-.artifacts/qa-e2e/npm-telegram-live/$RUN_ID}"', |
141 | 141 | ); |
142 | | -expect(script).toContain('-e OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR="$OUTPUT_DIR"'); |
| 142 | +expect(script).toContain( |
| 143 | +'OUTPUT_DIR_CONTAINER="/app/.artifacts/qa-e2e/npm-telegram-live-output"', |
| 144 | +); |
| 145 | +expect(script).toContain('-e OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR="$OUTPUT_DIR_CONTAINER"'); |
143 | 146 | expect(script).not.toContain( |
144 | 147 | 'OUTPUT_DIR="${OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR:-.artifacts/qa-e2e/npm-telegram-live}"', |
145 | 148 | ); |
146 | 149 | }); |
147 | 150 | |
| 151 | +it("mounts configured output paths before entering the container", () => { |
| 152 | +const script = readFileSync(DOCKER_SCRIPT_PATH, "utf8"); |
| 153 | +const dockerEnvStart = script.indexOf("docker_env=("); |
| 154 | +const dockerEnvEnd = script.indexOf(")\n\nforward_env_if_set", dockerEnvStart); |
| 155 | +const dockerEnv = script.slice(dockerEnvStart, dockerEnvEnd); |
| 156 | + |
| 157 | +expect(script).toContain('*) OUTPUT_DIR_HOST="$ROOT_DIR/$OUTPUT_DIR" ;;'); |
| 158 | +expect(script).toContain('mkdir -p "$OUTPUT_DIR_HOST"'); |
| 159 | +expect(dockerEnv).toContain('-e OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR="$OUTPUT_DIR_CONTAINER"'); |
| 160 | +expect(dockerEnv).not.toContain('-e OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR="$OUTPUT_DIR"'); |
| 161 | +expect(script).toContain('-v "$OUTPUT_DIR_HOST:$OUTPUT_DIR_CONTAINER"'); |
| 162 | +}); |
| 163 | + |
148 | 164 | it("uses the container temp root for OpenClaw runtime scratch files", () => { |
149 | 165 | const script = readFileSync(DOCKER_SCRIPT_PATH, "utf8"); |
150 | 166 | const dockerEnvStart = script.indexOf("docker_env=("); |
|