diff --git a/integration/test/ParseEventuallyQueueTest.js b/integration/test/ParseEventuallyQueueTest.js index 1e200c1e3..e05ffe182 100644 --- a/integration/test/ParseEventuallyQueueTest.js +++ b/integration/test/ParseEventuallyQueueTest.js @@ -193,6 +193,7 @@ describe('Parse EventuallyQueue', () => { it('can saveEventually', async () => { const parseServer = await reconfigureServer(); const object = new TestObject({ hash: 'saveSecret' }); + await parseServer.handleShutdown(); await new Promise(resolve => parseServer.server.close(resolve)); await object.saveEventually(); @@ -224,7 +225,7 @@ describe('Parse EventuallyQueue', () => { const acl = new Parse.ACL(user); const object = new TestObject({ hash: 'saveSecret' }); object.setACL(acl); - + await parseServer.handleShutdown(); await new Promise(resolve => parseServer.server.close(resolve)); await object.saveEventually(); @@ -232,7 +233,7 @@ describe('Parse EventuallyQueue', () => { assert(Parse.EventuallyQueue.isPolling()); assert.strictEqual(length, 1); - await reconfigureServer({}); + await reconfigureServer(); while (Parse.EventuallyQueue.isPolling()) { await sleep(100); @@ -250,6 +251,7 @@ describe('Parse EventuallyQueue', () => { const parseServer = await reconfigureServer(); const object = new TestObject({ hash: 'deleteSecret' }); await object.save(); + await parseServer.handleShutdown(); await new Promise(resolve => parseServer.server.close(resolve)); await object.destroyEventually(); const length = await Parse.EventuallyQueue.length(); @@ -257,7 +259,7 @@ describe('Parse EventuallyQueue', () => { assert(Parse.EventuallyQueue.isPolling()); assert.strictEqual(length, 1); - await reconfigureServer({}); + await reconfigureServer(); while (Parse.EventuallyQueue.isPolling()) { await sleep(100); } diff --git a/integration/test/ParseServerTest.js b/integration/test/ParseServerTest.js index 01aa285d7..1ae23a7b4 100644 --- a/integration/test/ParseServerTest.js +++ b/integration/test/ParseServerTest.js @@ -6,6 +6,7 @@ describe('ParseServer', () => { it('can reconfigure server', async () => { const parseServer = await reconfigureServer({ serverURL: 'www.google.com' }); assert.strictEqual(parseServer.config.serverURL, 'www.google.com'); + await parseServer.handleShutdown(); await new Promise(resolve => parseServer.server.close(resolve)); await reconfigureServer(); }); diff --git a/integration/test/helper.js b/integration/test/helper.js index acd11093a..e0af222ac 100644 --- a/integration/test/helper.js +++ b/integration/test/helper.js @@ -93,14 +93,12 @@ const defaultConfiguration = { const openConnections = {}; let parseServer; -let server; const reconfigureServer = async (changedConfiguration = {}) => { - if (server) { + if (parseServer) { await parseServer.handleShutdown(); - await new Promise(resolve => server.close(resolve)); + await new Promise(resolve => parseServer.server.close(resolve)); parseServer = undefined; - server = undefined; return reconfigureServer(changedConfiguration); } @@ -110,6 +108,10 @@ const reconfigureServer = async (changedConfiguration = {}) => { port, }); parseServer = await ParseServer.startApp(newConfiguration); + if (parseServer.config.state === 'initialized') { + console.error('Failed to initialize Parse Server'); + return reconfigureServer(newConfiguration); + } const app = parseServer.expressApp; for (const fileName of ['parse.js', 'parse.min.js']) { const file = fs.readFileSync(path.resolve(__dirname, `./../../dist/${fileName}`)).toString(); @@ -136,8 +138,7 @@ const reconfigureServer = async (changedConfiguration = {}) => { res.send('{}'); }); }); - server = parseServer.server; - server.on('connection', connection => { + parseServer.server.on('connection', connection => { const key = `${connection.remoteAddress}:${connection.remotePort}`; openConnections[key] = connection; connection.on('close', () => {