@@ -7,7 +7,7 @@ const ParseServer = require('parse-server').default;
77const CustomAuth = require ( './CustomAuth' ) ;
88const { TestUtils } = require ( 'parse-server' ) ;
99const Parse = require ( '../../node' ) ;
10- const fs = require ( 'fs' ) ;
10+ const fs = require ( 'fs' ) . promises ;
1111const path = require ( 'path' ) ;
1212const dns = require ( 'dns' ) ;
1313const MockEmailAdapterWithOptions = require ( './support/MockEmailAdapterWithOptions' ) ;
@@ -21,6 +21,7 @@ const port = 1337;
2121const mountPath = '/parse' ;
2222const serverURL = 'http://localhost:1337/parse' ;
2323let didChangeConfiguration = false ;
24+ const distFiles = { } ;
2425
2526/*
2627 To generate the auth data below, the Twitter app "GitHub CI Test App" has
@@ -97,7 +98,7 @@ let parseServer;
9798const reconfigureServer = async ( changedConfiguration = { } ) => {
9899 if ( parseServer ) {
99100 await parseServer . handleShutdown ( ) ;
100- await new Promise ( resolve => parseServer . server . close ( resolve ) ) ;
101+ // await new Promise(resolve => parseServer.server.close(resolve));
101102 parseServer = undefined ;
102103 return reconfigureServer ( changedConfiguration ) ;
103104 }
@@ -113,8 +114,7 @@ const reconfigureServer = async (changedConfiguration = {}) => {
113114 return reconfigureServer ( newConfiguration ) ;
114115 }
115116 const app = parseServer . expressApp ;
116- for ( const fileName of [ 'parse.js' , 'parse.min.js' ] ) {
117- const file = fs . readFileSync ( path . resolve ( __dirname , `./../../dist/${ fileName } ` ) ) . toString ( ) ;
117+ for ( const [ fileName , file ] of Object . entries ( distFiles ) ) {
118118 app . get ( `/${ fileName } ` , ( _req , res ) => {
119119 res . send ( `<html><head>
120120 <meta charset="utf-8">
@@ -132,12 +132,6 @@ const reconfigureServer = async (changedConfiguration = {}) => {
132132 </body></html>` ) ;
133133 } ) ;
134134 }
135- app . get ( '/clear/:fast' , ( req , res ) => {
136- const { fast } = req . params ;
137- TestUtils . destroyAllDataPermanently ( fast ) . then ( ( ) => {
138- res . send ( '{}' ) ;
139- } ) ;
140- } ) ;
141135 parseServer . server . on ( 'connection' , connection => {
142136 const key = `${ connection . remoteAddress } :${ connection . remotePort } ` ;
143137 openConnections [ key ] = connection ;
@@ -157,18 +151,28 @@ global.TestObject = Parse.Object.extend('TestObject');
157151global . reconfigureServer = reconfigureServer ;
158152
159153beforeAll ( async ( ) => {
154+ const promise = [ 'parse.js' , 'parse.min.js' ] . map ( fileName => {
155+ return fs . readFile ( path . resolve ( __dirname , `./../../dist/${ fileName } ` ) , 'utf8' ) . then ( file => {
156+ distFiles [ fileName ] = file ;
157+ } ) ;
158+ } ) ;
159+ await Promise . all ( promise ) ;
160160 await reconfigureServer ( ) ;
161161 Parse . initialize ( 'integration' ) ;
162162 Parse . CoreManager . set ( 'SERVER_URL' , serverURL ) ;
163163 Parse . CoreManager . set ( 'MASTER_KEY' , 'notsosecret' ) ;
164164} ) ;
165165
166166afterEach ( async ( ) => {
167- await Parse . User . logOut ( ) ;
168- Parse . Storage . _clear ( ) ;
169- await TestUtils . destroyAllDataPermanently ( true ) ;
170- if ( didChangeConfiguration ) {
171- await reconfigureServer ( ) ;
167+ try {
168+ await Parse . User . logOut ( ) ;
169+ Parse . Storage . _clear ( ) ;
170+ await TestUtils . destroyAllDataPermanently ( true ) ;
171+ if ( didChangeConfiguration ) {
172+ await reconfigureServer ( ) ;
173+ }
174+ } catch ( error ) {
175+ console . error ( 'Error in afterEach' , error ) ;
172176 }
173177} ) ;
174178
0 commit comments