(type)
| 1113 | }) |
| 1114 | |
| 1115 | function socketFailWrite (type) { |
| 1116 | test(`socket fail while writing ${type} request body`, async (t) => { |
| 1117 | const p = tspl(t, { plan: 2 }) |
| 1118 | |
| 1119 | const server = createServer({ joinDuplicateHeaders: true }) |
| 1120 | server.once('request', (req, res) => { |
| 1121 | }) |
| 1122 | t.after(closeServerAsPromise(server)) |
| 1123 | |
| 1124 | server.listen(0, () => { |
| 1125 | const client = new Client(`http://localhost:${server.address().port}`) |
| 1126 | t.after(client.destroy.bind(client)) |
| 1127 | |
| 1128 | const preBody = new Readable({ read () {} }) |
| 1129 | preBody.push('asd') |
| 1130 | const body = maybeWrapStream(preBody, type) |
| 1131 | client.on('connect', () => { |
| 1132 | process.nextTick(() => { |
| 1133 | client[kSocket].destroy('kaboom') |
| 1134 | }) |
| 1135 | }) |
| 1136 | |
| 1137 | client.request({ |
| 1138 | path: '/', |
| 1139 | method: 'POST', |
| 1140 | body |
| 1141 | }, (err) => { |
| 1142 | p.ok(err) |
| 1143 | }) |
| 1144 | client.close((err) => { |
| 1145 | p.ifError(err) |
| 1146 | }) |
| 1147 | }) |
| 1148 | |
| 1149 | await p.completed |
| 1150 | }) |
| 1151 | } |
| 1152 | socketFailWrite(consts.STREAM) |
| 1153 | socketFailWrite(consts.ASYNC_ITERATOR) |
| 1154 |
no test coverage detected