|
2 | 2 | const Auth = require('../lib/Auth');
|
3 | 3 | const UserController = require('../lib/Controllers/UserController').UserController;
|
4 | 4 | const Config = require('../lib/Config');
|
| 5 | +const ParseServer = require('../lib/index').ParseServer; |
5 | 6 | const triggers = require('../lib/triggers');
|
6 | 7 | const validatorFail = () => {
|
7 | 8 | throw 'you are not authorized';
|
@@ -1214,6 +1215,40 @@ describe('ParseLiveQuery', function () {
|
1214 | 1215 | await object.save();
|
1215 | 1216 | });
|
1216 | 1217 |
|
| 1218 | + it('does shutdown liveQuery server', async () => { |
| 1219 | + await reconfigureServer({ appId: 'test_app_id' }); |
| 1220 | + const config = { |
| 1221 | + appId: 'hello_test', |
| 1222 | + masterKey: 'world', |
| 1223 | + port: 1345, |
| 1224 | + mountPath: '/1', |
| 1225 | + serverURL: 'http://localhost:1345/1', |
| 1226 | + liveQuery: { |
| 1227 | + classNames: ['Yolo'], |
| 1228 | + }, |
| 1229 | + startLiveQueryServer: true, |
| 1230 | + }; |
| 1231 | + if (process.env.PARSE_SERVER_TEST_DB === 'postgres') { |
| 1232 | + config.databaseAdapter = new databaseAdapter.constructor({ |
| 1233 | + uri: databaseURI, |
| 1234 | + collectionPrefix: 'test_', |
| 1235 | + }); |
| 1236 | + config.filesAdapter = defaultConfiguration.filesAdapter; |
| 1237 | + } |
| 1238 | + const server = await ParseServer.startApp(config); |
| 1239 | + const client = await Parse.CoreManager.getLiveQueryController().getDefaultLiveQueryClient(); |
| 1240 | + client.serverURL = 'ws://localhost:1345/1'; |
| 1241 | + const query = await new Parse.Query('Yolo').subscribe(); |
| 1242 | + await Promise.all([ |
| 1243 | + server.handleShutdown(), |
| 1244 | + new Promise(resolve => query.on('close', resolve)), |
| 1245 | + ]); |
| 1246 | + await new Promise(resolve => setTimeout(resolve, 100)); |
| 1247 | + expect(server.liveQueryServer.server.address()).toBeNull(); |
| 1248 | + expect(server.liveQueryServer.subscriber.isOpen).toBeFalse(); |
| 1249 | + await new Promise(resolve => server.server.close(resolve)); |
| 1250 | + }); |
| 1251 | + |
1217 | 1252 | it('prevent afterSave trigger if not exists', async () => {
|
1218 | 1253 | await reconfigureServer({
|
1219 | 1254 | liveQuery: {
|
|
0 commit comments