Skip to content

Commit a6e0a1d

Browse files
authored
test: Remove unnecessary setTimeout and reconfigureServer calls (#9183)
1 parent 28c4330 commit a6e0a1d

6 files changed

+35
-85
lines changed

Diff for: spec/CLI.spec.js

-1
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,6 @@ describe('execution', () => {
313313
);
314314
childProcess.stdout.on('data', data => {
315315
data = data.toString();
316-
console.log(data);
317316
if (data.includes('parse-server running on')) {
318317
done();
319318
}

Diff for: spec/ParseGraphQLServer.spec.js

-1
Original file line numberDiff line numberDiff line change
@@ -9709,7 +9709,6 @@ describe('ParseGraphQLServer', () => {
97099709
});
97109710
expect(res.status).toEqual(200);
97119711
const result = await res.json();
9712-
console.log(result);
97139712
expect(result.data.createSomeClass.someClass.someFileField.name).toEqual(
97149713
jasmine.stringMatching(/_someFileField.txt$/)
97159714
);

Diff for: spec/ParseLiveQuery.spec.js

+14-81
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const UserController = require('../lib/Controllers/UserController').UserControll
44
const Config = require('../lib/Config');
55
const ParseServer = require('../lib/index').ParseServer;
66
const triggers = require('../lib/triggers');
7+
const { resolvingPromise, sleep } = require('./support/testUtils');
78
const validatorFail = () => {
89
throw 'you are not authorized';
910
};
@@ -14,19 +15,9 @@ describe('ParseLiveQuery', function () {
1415
});
1516
afterEach(async () => {
1617
const client = await Parse.CoreManager.getLiveQueryController().getDefaultLiveQueryClient();
17-
client.close();
18-
// Wait for live query client to disconnect
19-
await new Promise(resolve => setTimeout(resolve, 1000));
18+
await client.close();
2019
});
2120
it('access user on onLiveQueryEvent disconnect', async done => {
22-
await reconfigureServer({
23-
liveQuery: {
24-
classNames: ['TestObject'],
25-
},
26-
startLiveQueryServer: true,
27-
verbose: false,
28-
silent: true,
29-
});
3021
const requestedUser = new Parse.User();
3122
requestedUser.setUsername('username');
3223
requestedUser.setPassword('password');
@@ -43,18 +34,10 @@ describe('ParseLiveQuery', function () {
4334
const query = new Parse.Query(TestObject);
4435
await query.subscribe();
4536
const client = await Parse.CoreManager.getLiveQueryController().getDefaultLiveQueryClient();
46-
client.close();
37+
await client.close();
4738
});
4839

4940
it('can subscribe to query', async done => {
50-
await reconfigureServer({
51-
liveQuery: {
52-
classNames: ['TestObject'],
53-
},
54-
startLiveQueryServer: true,
55-
verbose: false,
56-
silent: true,
57-
});
5841
const object = new TestObject();
5942
await object.save();
6043

@@ -120,14 +103,6 @@ describe('ParseLiveQuery', function () {
120103
});
121104

122105
it('expect afterEvent payload', async done => {
123-
await reconfigureServer({
124-
liveQuery: {
125-
classNames: ['TestObject'],
126-
},
127-
startLiveQueryServer: true,
128-
verbose: false,
129-
silent: true,
130-
});
131106
const object = new TestObject();
132107
await object.save();
133108

@@ -147,14 +122,6 @@ describe('ParseLiveQuery', function () {
147122
});
148123

149124
it('expect afterEvent enter', async done => {
150-
await reconfigureServer({
151-
liveQuery: {
152-
classNames: ['TestObject'],
153-
},
154-
startLiveQueryServer: true,
155-
verbose: false,
156-
silent: true,
157-
});
158125
Parse.Cloud.afterLiveQueryEvent('TestObject', req => {
159126
expect(req.event).toBe('enter');
160127
expect(req.user).toBeUndefined();
@@ -178,14 +145,6 @@ describe('ParseLiveQuery', function () {
178145
});
179146

180147
it('expect afterEvent leave', async done => {
181-
await reconfigureServer({
182-
liveQuery: {
183-
classNames: ['TestObject'],
184-
},
185-
startLiveQueryServer: true,
186-
verbose: false,
187-
silent: true,
188-
});
189148
Parse.Cloud.afterLiveQueryEvent('TestObject', req => {
190149
expect(req.event).toBe('leave');
191150
expect(req.user).toBeUndefined();
@@ -210,14 +169,6 @@ describe('ParseLiveQuery', function () {
210169
});
211170

212171
it('expect afterEvent delete', async done => {
213-
await reconfigureServer({
214-
liveQuery: {
215-
classNames: ['TestObject'],
216-
},
217-
startLiveQueryServer: true,
218-
verbose: false,
219-
silent: true,
220-
});
221172
Parse.Cloud.afterLiveQueryEvent('TestObject', req => {
222173
expect(req.event).toBe('delete');
223174
expect(req.user).toBeUndefined();
@@ -365,30 +316,18 @@ describe('ParseLiveQuery', function () {
365316
);
366317
});
367318

368-
it('can handle afterEvent sendEvent to false', async done => {
369-
await reconfigureServer({
370-
liveQuery: {
371-
classNames: ['TestObject'],
372-
},
373-
startLiveQueryServer: true,
374-
verbose: false,
375-
silent: true,
376-
});
377-
319+
it('can handle afterEvent sendEvent to false', async () => {
378320
const object = new TestObject();
379321
await object.save();
380-
322+
const promise = resolvingPromise();
381323
Parse.Cloud.afterLiveQueryEvent('TestObject', req => {
382324
const current = req.object;
383325
const original = req.original;
384326

385-
setTimeout(() => {
386-
done();
387-
}, 2000);
388-
389327
if (current.get('foo') != original.get('foo')) {
390328
req.sendEvent = false;
391329
}
330+
promise.resolve();
392331
});
393332

394333
const query = new Parse.Query(TestObject);
@@ -402,9 +341,10 @@ describe('ParseLiveQuery', function () {
402341
});
403342
object.set({ foo: 'bar' });
404343
await object.save();
344+
await promise;
405345
});
406346

407-
xit('can handle live query with fields - enable upon JS SDK support', async () => {
347+
it('can handle live query with fields', async () => {
408348
await reconfigureServer({
409349
liveQuery: {
410350
classNames: ['Test'],
@@ -442,7 +382,7 @@ describe('ParseLiveQuery', function () {
442382
await obj2.save();
443383
obj2.set('foo', 'bart');
444384
await obj2.save();
445-
await new Promise(resolve => setTimeout(resolve, 2000));
385+
await sleep(2000);
446386
expect(createSpy).toHaveBeenCalledTimes(1);
447387
expect(updateSpy).toHaveBeenCalledTimes(1);
448388
});
@@ -771,14 +711,6 @@ describe('ParseLiveQuery', function () {
771711
});
772712

773713
it('can handle select beforeSubscribe query', async done => {
774-
await reconfigureServer({
775-
liveQuery: {
776-
classNames: ['TestObject'],
777-
},
778-
startLiveQueryServer: true,
779-
verbose: false,
780-
silent: true,
781-
});
782714
Parse.Cloud.beforeSubscribe(TestObject, request => {
783715
const query = request.query;
784716
query.select('yolo');
@@ -857,7 +789,7 @@ describe('ParseLiveQuery', function () {
857789
object.set({ foo: 'bar' });
858790
await object.save();
859791
await object.destroy();
860-
await new Promise(resolve => setTimeout(resolve, 200));
792+
await sleep(200);
861793
for (const key in calls) {
862794
expect(calls[key]).toHaveBeenCalled();
863795
}
@@ -891,9 +823,9 @@ describe('ParseLiveQuery', function () {
891823
object.set({ foo: 'bar' });
892824
await object.save(null, { useMasterKey: true });
893825
role.getUsers().add(user);
894-
await new Promise(resolve => setTimeout(resolve, 1000));
826+
await sleep(1000);
895827
await role.save();
896-
await new Promise(resolve => setTimeout(resolve, 1000));
828+
await sleep(1000);
897829
object.set('foo', 'yolo');
898830
await Promise.all([
899831
new Promise(resolve => {
@@ -924,7 +856,6 @@ describe('ParseLiveQuery', function () {
924856
const subscription = await query.subscribe();
925857

926858
subscription.on('create', async obj => {
927-
await new Promise(resolve => setTimeout(resolve, 200));
928859
expect(obj.get('user').id).toBe(user.id);
929860
expect(obj.get('createdWith')).toEqual({ action: 'login', authProvider: 'password' });
930861
expect(obj.get('expiresAt')).toBeInstanceOf(Date);
@@ -1227,6 +1158,8 @@ describe('ParseLiveQuery', function () {
12271158
classNames: ['Yolo'],
12281159
},
12291160
startLiveQueryServer: true,
1161+
verbose: false,
1162+
silent: true,
12301163
};
12311164
if (process.env.PARSE_SERVER_TEST_DB === 'postgres') {
12321165
config.databaseAdapter = new databaseAdapter.constructor({

Diff for: spec/ParseQuery.Comment.spec.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ describe_only_db('mongo')('Parse.Query with comment testing', () => {
3030
database = client.db('parseServerMongoAdapterTestDatabase');
3131
let profiler = await database.command({ profile: 0 });
3232
expect(profiler.was).toEqual(0);
33-
console.log(`Disabling profiler : ${profiler.was}`);
33+
// console.log(`Disabling profiler : ${profiler.was}`);
3434
profiler = await database.command({ profile: profileLevel });
3535
profiler = await database.command({ profile: -1 });
36-
console.log(`Enabling profiler : ${profiler.was}`);
36+
// console.log(`Enabling profiler : ${profiler.was}`);
3737
profiler = await database.command({ profile: -1 });
3838
expect(profiler.was).toEqual(profileLevel);
3939
});

Diff for: spec/helper.js

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ const defaultConfiguration = {
112112
fileKey: 'test',
113113
directAccess: true,
114114
silent,
115+
verbose: !silent,
115116
logLevel,
116117
liveQuery: {
117118
classNames: ['TestObject'],

Diff for: spec/support/testUtils.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Create Deferred Promise
2+
function resolvingPromise() {
3+
let res;
4+
let rej;
5+
const promise = new Promise((resolve, reject) => {
6+
res = resolve;
7+
rej = reject;
8+
});
9+
promise.resolve = res;
10+
promise.reject = rej;
11+
return promise;
12+
}
13+
14+
function sleep(ms) {
15+
return new Promise((resolve) => setTimeout(resolve, ms));
16+
}
17+
18+
module.exports = { resolvingPromise, sleep };

0 commit comments

Comments
 (0)