(options: {
envOverrides?: Record<string, string>
spawns: SpawnFactory[]
redisEvalImpl?: RedisEval
secureFetchImpl?: SecureFetchImpl
})
| 211 | })) |
| 212 | |
| 213 | async function loadExecutionModule(options: { |
| 214 | envOverrides?: Record<string, string> |
| 215 | spawns: SpawnFactory[] |
| 216 | redisEvalImpl?: RedisEval |
| 217 | secureFetchImpl?: SecureFetchImpl |
| 218 | }) { |
| 219 | const spawnQueue = [...options.spawns] |
| 220 | mockSpawn.mockImplementation(() => { |
| 221 | const next = spawnQueue.shift() |
| 222 | if (!next) { |
| 223 | throw new Error('No mock spawn factory configured') |
| 224 | } |
| 225 | return next() as ReturnType<typeof mockSpawn> |
| 226 | }) |
| 227 | |
| 228 | if (options.secureFetchImpl) { |
| 229 | mockSecureFetch.mockImplementation(options.secureFetchImpl) |
| 230 | } else { |
| 231 | mockSecureFetch.mockImplementation(async () => ({ |
| 232 | ok: true, |
| 233 | status: 200, |
| 234 | statusText: 'OK', |
| 235 | headers: new Map<string, string>(), |
| 236 | text: async () => '', |
| 237 | json: async () => ({}), |
| 238 | arrayBuffer: async () => new ArrayBuffer(0), |
| 239 | })) |
| 240 | } |
| 241 | |
| 242 | Object.assign(mockEnv, { |
| 243 | IVM_POOL_SIZE: '1', |
| 244 | IVM_MAX_CONCURRENT: '100', |
| 245 | IVM_MAX_PER_WORKER: '100', |
| 246 | IVM_WORKER_IDLE_TIMEOUT_MS: '60000', |
| 247 | IVM_MAX_QUEUE_SIZE: '10', |
| 248 | IVM_MAX_ACTIVE_PER_OWNER: '100', |
| 249 | IVM_MAX_QUEUED_PER_OWNER: '10', |
| 250 | IVM_MAX_OWNER_WEIGHT: '5', |
| 251 | IVM_DISTRIBUTED_MAX_INFLIGHT_PER_OWNER: '100', |
| 252 | IVM_DISTRIBUTED_LEASE_MIN_TTL_MS: '1000', |
| 253 | IVM_QUEUE_TIMEOUT_MS: '1000', |
| 254 | IVM_MAX_FETCH_RESPONSE_BYTES: '', |
| 255 | IVM_MAX_FETCH_RESPONSE_CHARS: '', |
| 256 | IVM_MAX_FETCH_URL_LENGTH: '', |
| 257 | IVM_MAX_FETCH_OPTIONS_JSON_CHARS: '', |
| 258 | REDIS_URL: '', |
| 259 | ...(options.envOverrides ?? {}), |
| 260 | }) |
| 261 | |
| 262 | const redisEval = options.redisEvalImpl ? vi.fn(options.redisEvalImpl) : undefined |
| 263 | mockGetRedisClient.mockImplementation(() => |
| 264 | redisEval |
| 265 | ? ({ |
| 266 | eval: redisEval, |
| 267 | } as unknown) |
| 268 | : null |
| 269 | ) |
| 270 |
no test coverage detected