File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ const ParseServer = require('parse-server').default;
7
7
const CustomAuth = require ( './CustomAuth' ) ;
8
8
const { TestUtils } = require ( 'parse-server' ) ;
9
9
const Parse = require ( '../../node' ) ;
10
+ const { resolvingPromise } = require ( '../../lib/node/promiseUtils' ) ;
10
11
const fs = require ( 'fs' ) . promises ;
11
12
const path = require ( 'path' ) ;
12
13
const dns = require ( 'dns' ) ;
@@ -96,8 +97,20 @@ const defaultConfiguration = {
96
97
const openConnections = new Set ( ) ;
97
98
let parseServer ;
98
99
100
+ const destroyConnections = ( ) => {
101
+ for ( const socket of openConnections . values ( ) ) {
102
+ socket . destroy ( ) ;
103
+ }
104
+ } ;
105
+
99
106
const shutdownServer = async _parseServer => {
100
- await _parseServer . handleShutdown ( ) ;
107
+ const closePromise = resolvingPromise ( ) ;
108
+ _parseServer . server . on ( 'close' , ( ) => {
109
+ closePromise . resolve ( ) ;
110
+ } ) ;
111
+ _parseServer . handleShutdown ( ) ;
112
+ destroyConnections ( ) ;
113
+ await closePromise ;
101
114
// Connection close events are not immediate on node 10+, so wait a bit
102
115
await sleep ( 0 ) ;
103
116
expect ( openConnections . size ) . toBe ( 0 ) ;
You can’t perform that action at this time.
0 commit comments