Mock sandbox whose spawn emits a scripted stdout and whose port resolves.
(stdout: Array<string>)
| 33 | |
| 34 | /** Mock sandbox whose spawn emits a scripted stdout and whose port resolves. */ |
| 35 | function mockSandbox(stdout: Array<string>): SandboxHandle { |
| 36 | const spawnHandle: SpawnHandle = { |
| 37 | pid: 1, |
| 38 | stdout: chunks(stdout), |
| 39 | stderr: chunks([]), |
| 40 | stdin: { write: () => Promise.resolve(), end: () => Promise.resolve() }, |
| 41 | wait: () => Promise.resolve(0), |
| 42 | kill: () => Promise.resolve(), |
| 43 | } |
| 44 | return { |
| 45 | id: 'sbx', |
| 46 | provider: 'mock', |
| 47 | capabilities: {} as SandboxHandle['capabilities'], |
| 48 | fs: {} as SandboxHandle['fs'], |
| 49 | git: {} as SandboxHandle['git'], |
| 50 | process: { |
| 51 | exec: () => Promise.reject(new Error('unused')), |
| 52 | spawn: () => Promise.resolve(spawnHandle), |
| 53 | }, |
| 54 | ports: { |
| 55 | connect: (port) => Promise.resolve({ url: `http://127.0.0.1:${port}` }), |
| 56 | }, |
| 57 | env: { set: () => Promise.resolve() }, |
| 58 | destroy: () => Promise.resolve(), |
| 59 | } |
| 60 | } |
| 61 | |
| 62 | async function collect( |
| 63 | stream: AsyncIterable<StreamChunk>, |
no test coverage detected