11'use strict'
22
33const { createHash } = require ( 'crypto' )
4- const EventEmitter = require ( 'events' )
4+ const { EventEmitter, once } = require ( 'events' )
55const http = require ( 'http' )
66const express = require ( 'express' )
77const bodyParser = require ( 'body-parser' )
@@ -17,11 +17,11 @@ module.exports = class FakeAgent extends EventEmitter {
1717 this . _sockets = new Set ( )
1818 }
1919
20- async start ( ) {
20+ start ( ) {
2121 return new Promise ( ( resolve , reject ) => {
2222 const timeoutObj = setTimeout ( ( ) => {
2323 reject ( new Error ( 'agent timed out starting up' ) )
24- } , 10000 )
24+ } , 10_000 )
2525 this . server = http . createServer ( buildExpressServer ( this ) )
2626 this . server . on ( 'error' , reject )
2727
@@ -42,17 +42,15 @@ module.exports = class FakeAgent extends EventEmitter {
4242 }
4343
4444 stop ( ) {
45- if ( ! this . server ) return Promise . resolve ( )
45+ if ( ! this . server ?. listening ) return
4646
47- return new Promise ( ( resolve ) => {
48- if ( ! this . server ?. listening ) return resolve ( )
49- for ( const socket of this . _sockets ) {
50- socket . destroy ( )
51- }
52- this . _sockets . clear ( )
53- this . server . on ( 'close' , resolve )
54- this . server . close ( )
55- } )
47+ for ( const socket of this . _sockets ) {
48+ socket . destroy ( )
49+ }
50+ this . _sockets . clear ( )
51+ this . server . close ( )
52+
53+ return once ( this . server , 'close' )
5654 }
5755
5856 /**
0 commit comments