From f5bd4de8855998180a748cd1ec3d139843d0429e Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Mon, 15 May 2023 22:04:58 -0400 Subject: [PATCH] use supertest and assert port --- test/app.listen.js | 60 +++++++++++++++------------------------------- 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/test/app.listen.js b/test/app.listen.js index d6f6fb2fba..07cc68d081 100644 --- a/test/app.listen.js +++ b/test/app.listen.js @@ -2,27 +2,10 @@ var net = require('net') var express = require('../') -var http = require('http'); var assert = require('assert'); +var request = require('supertest') describe('app.listen()', function(){ - function makeGetRequest(port, cb){ - http - .get('http://localhost:' + port, function(res){ - var data = '' - res.on('data', function(chunk){ - data += chunk; - }); - - res.on('end', function(){ - cb(null, data); - }); - }) - .on('error', function(error) { - cb(error, null); - }); - } - it('should wrap with an HTTP server', function(done){ var app = express(); @@ -33,32 +16,27 @@ describe('app.listen()', function(){ }) it('should listen on the requested port', function (done) { - var expectedResponseBody = 'hello world'; - var server; var app = express() - .get('/', function(req, res){ - res.send(expectedResponseBody); - }); - getPort(function (openPortError, port) { - if(openPortError !== null) { - return done(openPortError); - } + app.get('/', function (req, res) { + res.json({ port: req.socket.address().port }) + }) + + getPort(function (error, port) { + if (error) return done(error) - server = app.listen(port, function(){ - makeGetRequest(port, function(getError, responseBody) { - try { - assert.strictEqual(getError, null); - assert.strictEqual(responseBody, expectedResponseBody) - done() - } catch (error) { - done(error); - } finally { - server.close(); - } - }); - }); - }); + assert.strictEqual(typeof port, 'number') + + var server = app.listen(port, function () { + request(server) + .get('/') + .expect(200, { port: port }, function (error) { + server.close(function () { + done(error) + }) + }) + }) + }) }) })