| 49 | }; |
| 50 | |
| 51 | async function expectStreamToEnd(stream: NodeJS.ReadableStream & NodeJS.EventEmitter): Promise<void> { |
| 52 | await Promise.race([ |
| 53 | new Promise<void>((resolve, reject) => { |
| 54 | stream.on('error', reject); |
| 55 | stream.on('end', resolve); |
| 56 | stream.resume(); |
| 57 | }), |
| 58 | (async () => { |
| 59 | await delay(1000); |
| 60 | throw new Error('Timed out waiting for stream end'); |
| 61 | })(), |
| 62 | ]); |
| 63 | } |
| 64 | |
| 65 | test('stream reads a cookie and completes', withServer, async (t, server, got) => { |
| 66 | server.get('/', (_request, response) => { |