@@ -2,125 +2,137 @@
|
||||
// Tests behavior of Parse Sessions
|
||||
//
|
||||
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
function setupTestUsers() {
|
||||
const user1 = new Parse.User();
|
||||
const user2 = new Parse.User();
|
||||
const user3 = new Parse.User();
|
||||
|
||||
user1.set("username", "testuser_1");
|
||||
user2.set("username", "testuser_2");
|
||||
user3.set("username", "testuser_3");
|
||||
user1.set('username', 'testuser_1');
|
||||
user2.set('username', 'testuser_2');
|
||||
user3.set('username', 'testuser_3');
|
||||
|
||||
user1.set("password", "password");
|
||||
user2.set("password", "password");
|
||||
user3.set("password", "password");
|
||||
user1.set('password', 'password');
|
||||
user2.set('password', 'password');
|
||||
user3.set('password', 'password');
|
||||
|
||||
return user1.signUp().then(() => {
|
||||
return user2.signUp();
|
||||
}).then(() => {
|
||||
return user3.signUp();
|
||||
})
|
||||
return user1
|
||||
.signUp()
|
||||
.then(() => {
|
||||
return user2.signUp();
|
||||
})
|
||||
.then(() => {
|
||||
return user3.signUp();
|
||||
});
|
||||
}
|
||||
|
||||
describe('Parse.Session', () => {
|
||||
|
||||
// multiple sessions with masterKey + sessionToken
|
||||
it('should retain original sessionTokens with masterKey & sessionToken set', (done) => {
|
||||
setupTestUsers().then((user) => {
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
return query.find({
|
||||
useMasterKey: true,
|
||||
sessionToken: user.get('sessionToken')
|
||||
});
|
||||
}).then((results) => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for(const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if(foundKeys[sessionToken]) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
it('should retain original sessionTokens with masterKey & sessionToken set', done => {
|
||||
setupTestUsers()
|
||||
.then(user => {
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
return query.find({
|
||||
useMasterKey: true,
|
||||
sessionToken: user.get('sessionToken'),
|
||||
});
|
||||
})
|
||||
.then(results => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for (const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if (foundKeys[sessionToken]) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
done();
|
||||
}).catch((err) => {
|
||||
fail(err);
|
||||
});
|
||||
done();
|
||||
})
|
||||
.catch(err => {
|
||||
fail(err);
|
||||
});
|
||||
});
|
||||
|
||||
// single session returned, with just one sessionToken
|
||||
it('should retain original sessionTokens with just sessionToken set', (done) => {
|
||||
it('should retain original sessionTokens with just sessionToken set', done => {
|
||||
let knownSessionToken;
|
||||
setupTestUsers().then((user) => {
|
||||
knownSessionToken = user.get('sessionToken');
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
return query.find({
|
||||
sessionToken: knownSessionToken
|
||||
setupTestUsers()
|
||||
.then(user => {
|
||||
knownSessionToken = user.get('sessionToken');
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
return query.find({
|
||||
sessionToken: knownSessionToken,
|
||||
});
|
||||
})
|
||||
.then(results => {
|
||||
expect(results.length).toBe(1);
|
||||
const sessionToken = results[0].get('sessionToken');
|
||||
expect(sessionToken).toBe(knownSessionToken);
|
||||
done();
|
||||
})
|
||||
.catch(err => {
|
||||
fail(err);
|
||||
});
|
||||
}).then((results) => {
|
||||
expect(results.length).toBe(1);
|
||||
const sessionToken = results[0].get('sessionToken');
|
||||
expect(sessionToken).toBe(knownSessionToken);
|
||||
done();
|
||||
}).catch((err) => {
|
||||
fail(err);
|
||||
});
|
||||
});
|
||||
|
||||
// multiple users with masterKey + sessionToken
|
||||
it('token on users should retain original sessionTokens with masterKey & sessionToken set', (done) => {
|
||||
setupTestUsers().then((user) => {
|
||||
const query = new Parse.Query(Parse.User);
|
||||
return query.find({
|
||||
useMasterKey: true,
|
||||
sessionToken: user.get('sessionToken')
|
||||
});
|
||||
}).then((results) => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for(const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if(foundKeys[sessionToken] && sessionToken !== undefined) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
it('token on users should retain original sessionTokens with masterKey & sessionToken set', done => {
|
||||
setupTestUsers()
|
||||
.then(user => {
|
||||
const query = new Parse.Query(Parse.User);
|
||||
return query.find({
|
||||
useMasterKey: true,
|
||||
sessionToken: user.get('sessionToken'),
|
||||
});
|
||||
})
|
||||
.then(results => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for (const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if (foundKeys[sessionToken] && sessionToken !== undefined) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
done();
|
||||
}).catch((err) => {
|
||||
fail(err);
|
||||
});
|
||||
done();
|
||||
})
|
||||
.catch(err => {
|
||||
fail(err);
|
||||
});
|
||||
});
|
||||
|
||||
// multiple users with just sessionToken
|
||||
it('token on users should retain original sessionTokens with just sessionToken set', (done) => {
|
||||
it('token on users should retain original sessionTokens with just sessionToken set', done => {
|
||||
let knownSessionToken;
|
||||
setupTestUsers().then((user) => {
|
||||
knownSessionToken = user.get('sessionToken');
|
||||
const query = new Parse.Query(Parse.User);
|
||||
return query.find({
|
||||
sessionToken: knownSessionToken
|
||||
});
|
||||
}).then((results) => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for(const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if(foundKeys[sessionToken] && sessionToken !== undefined) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
setupTestUsers()
|
||||
.then(user => {
|
||||
knownSessionToken = user.get('sessionToken');
|
||||
const query = new Parse.Query(Parse.User);
|
||||
return query.find({
|
||||
sessionToken: knownSessionToken,
|
||||
});
|
||||
})
|
||||
.then(results => {
|
||||
const foundKeys = [];
|
||||
expect(results.length).toBe(3);
|
||||
for (const key in results) {
|
||||
const sessionToken = results[key].get('sessionToken');
|
||||
if (foundKeys[sessionToken] && sessionToken !== undefined) {
|
||||
fail('Duplicate session token present in response');
|
||||
break;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
foundKeys[sessionToken] = 1;
|
||||
}
|
||||
|
||||
|
||||
done();
|
||||
}).catch((err) => {
|
||||
fail(err);
|
||||
});
|
||||
done();
|
||||
})
|
||||
.catch(err => {
|
||||
fail(err);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user