fix: allow LiveQuery on Parse.Session (#7554)

This commit is contained in:
dblythy
2021-10-09 02:24:33 +11:00
committed by GitHub
parent 484c2e81ca
commit caee281bc5
7 changed files with 120 additions and 22 deletions

View File

@@ -708,6 +708,58 @@ describe('ParseLiveQuery', function () {
}
});
it('liveQuery on Session class', async done => {
await reconfigureServer({
liveQuery: { classNames: [Parse.Session] },
startLiveQueryServer: true,
verbose: false,
silent: true,
});
const user = new Parse.User();
user.setUsername('username');
user.setPassword('password');
await user.signUp();
const query = new Parse.Query(Parse.Session);
const subscription = await query.subscribe();
subscription.on('create', async obj => {
await new Promise(resolve => setTimeout(resolve, 200));
expect(obj.get('user').id).toBe(user.id);
expect(obj.get('createdWith')).toEqual({ action: 'login', authProvider: 'password' });
expect(obj.get('expiresAt')).toBeInstanceOf(Date);
expect(obj.get('installationId')).toBeDefined();
expect(obj.get('createdAt')).toBeInstanceOf(Date);
expect(obj.get('updatedAt')).toBeInstanceOf(Date);
done();
});
await Parse.User.logIn('username', 'password');
});
it('prevent liveQuery on Session class when not logged in', async done => {
await reconfigureServer({
liveQuery: {
classNames: [Parse.Session],
},
startLiveQueryServer: true,
verbose: false,
silent: true,
});
Parse.LiveQuery.on('error', error => {
expect(error).toBe('Invalid session token');
});
const query = new Parse.Query(Parse.Session);
const subscription = await query.subscribe();
subscription.on('error', error => {
Parse.LiveQuery.removeAllListeners('error');
expect(error).toBe('Invalid session token');
done();
});
});
it('handle invalid websocket payload length', async done => {
await reconfigureServer({
liveQuery: {
@@ -754,7 +806,7 @@ describe('ParseLiveQuery', function () {
await reconfigureServer({
liveQuery: {
classNames: ['_User'],
classNames: [Parse.User],
},
startLiveQueryServer: true,
verbose: false,