diff --git a/test/client-connect.js b/test/client-connect.js new file mode 100644 index 00000000000..4131c6e0a13 --- /dev/null +++ b/test/client-connect.js @@ -0,0 +1,38 @@ +'use strict' + +const { test } = require('tap') +const { Client, errors } = require('..') +const http = require('http') +const EE = require('events') +const { kBusy } = require('../lib/core/symbols') + +// TODO: move to test/node-test/client-connect.js +test('connect aborted after connect', (t) => { + t.plan(3) + + const signal = new EE() + const server = http.createServer((req, res) => { + t.fail() + }) + server.on('connect', (req, c, firstBodyChunk) => { + signal.emit('abort') + }) + t.teardown(server.close.bind(server)) + + server.listen(0, () => { + const client = new Client(`http://localhost:${server.address().port}`, { + pipelining: 3 + }) + t.teardown(client.destroy.bind(client)) + + client.connect({ + path: '/', + signal, + opaque: 'asd' + }, (err, { opaque }) => { + t.equal(opaque, 'asd') + t.type(err, errors.RequestAbortedError) + }) + t.equal(client[kBusy], true) + }) +}) diff --git a/test/client-errors.js b/test/client-errors.js new file mode 100644 index 00000000000..27cc52ba562 --- /dev/null +++ b/test/client-errors.js @@ -0,0 +1,28 @@ +'use strict' + +const { test } = require('tap') +const { Client } = require('..') +const net = require('net') + +// TODO: move to test/node-test/client-connect.js +test('parser error', (t) => { + t.plan(2) + + const server = net.createServer() + server.once('connection', (socket) => { + socket.write('asd\n\r213123') + }) + t.teardown(server.close.bind(server)) + + server.listen(0, () => { + const client = new Client(`http://localhost:${server.address().port}`) + t.teardown(client.destroy.bind(client)) + + client.request({ path: '/', method: 'GET' }, (err) => { + t.ok(err) + client.close((err) => { + t.error(err) + }) + }) + }) +}) diff --git a/test/node-test/client-connect.js b/test/node-test/client-connect.js index a231a10e175..7de9d2e39e3 100644 --- a/test/node-test/client-connect.js +++ b/test/node-test/client-connect.js @@ -291,36 +291,3 @@ test('connect invalid signal', async (t) => { await p.completed }) - -test('connect aborted after connect', async (t) => { - const p = tspl(t, { plan: 3 }) - - const signal = new EE() - const server = http.createServer((req, res) => { - p.ok(0) - }) - server.on('connect', (req, c, firstBodyChunk) => { - signal.emit('abort') - }) - // FIXME: use closeServerAsPromise - t.after(server.close.bind(server)) - - server.listen(0, () => { - const client = new Client(`http://localhost:${server.address().port}`, { - pipelining: 3 - }) - t.after(client.destroy.bind(client)) - - client.connect({ - path: '/', - signal, - opaque: 'asd' - }, (err, { opaque }) => { - p.strictEqual(opaque, 'asd') - p.ok(err instanceof errors.RequestAbortedError) - }) - p.strictEqual(client[kBusy], true) - }) - - await p.completed -}) diff --git a/test/node-test/client-errors.js b/test/node-test/client-errors.js index daea3712cf0..72ae7c7a0fd 100644 --- a/test/node-test/client-errors.js +++ b/test/node-test/client-errors.js @@ -6,7 +6,6 @@ const { Client, Pool, errors } = require('../..') const { createServer } = require('http') const https = require('https') const pem = require('https-pem') -const net = require('net') const { Readable } = require('stream') const { tspl } = require('@matteo.collina/tspl') @@ -840,31 +839,6 @@ test('validate request body', async (t) => { await p.completed }) -test('parser error', async (t) => { - const p = tspl(t, { plan: 2 }) - - const server = net.createServer() - server.once('connection', (socket) => { - socket.write('asd\n\r213123') - }) - // FIXME: use closeServerAsPromise - t.after(server.close.bind(server)) - - server.listen(0, () => { - const client = new Client(`http://localhost:${server.address().port}`) - t.after(client.destroy.bind(client)) - - client.request({ path: '/', method: 'GET' }, (err) => { - p.ok(err) - client.close((err) => { - p.ifError(err) - }) - }) - }) - - await p.completed -}) - function socketFailWrite (type) { test(`socket fail while writing ${type} request body`, async (t) => { const p = tspl(t, { plan: 2 })