|
3 | 3 | const rest = require('../lib/rest');
|
4 | 4 | const Config = require('../lib/Config');
|
5 | 5 | const auth = require('../lib/Auth');
|
| 6 | +const request = require('../lib/request'); |
6 | 7 |
|
7 | 8 | describe('Parse.ACL', () => {
|
8 | 9 | it('acl must be valid', done => {
|
@@ -1217,4 +1218,53 @@ describe('Parse.ACL', () => {
|
1217 | 1218 | expect(acl['customId'].read).toBeUndefined();
|
1218 | 1219 | done();
|
1219 | 1220 | });
|
| 1221 | + it('works with Parse REST API', async () => { |
| 1222 | + await reconfigureServer({ |
| 1223 | + defaultACL: { |
| 1224 | + '*': { |
| 1225 | + read: true, |
| 1226 | + }, |
| 1227 | + currentUser: { |
| 1228 | + read: true, |
| 1229 | + }, |
| 1230 | + 'role:Administrator': { |
| 1231 | + read: true, |
| 1232 | + }, |
| 1233 | + customId: { |
| 1234 | + read: true, |
| 1235 | + }, |
| 1236 | + }, |
| 1237 | + }); |
| 1238 | + const user = await Parse.User.signUp('testuser', 'p@ssword'); |
| 1239 | + const headers = { |
| 1240 | + 'X-Parse-Application-Id': 'test', |
| 1241 | + 'X-Parse-REST-API-Key': 'rest', |
| 1242 | + 'X-Parse-Session-Token': user.getSessionToken(), |
| 1243 | + 'Content-Type': 'application/json', |
| 1244 | + }; |
| 1245 | + const { data } = await request({ |
| 1246 | + method: 'POST', |
| 1247 | + headers: headers, |
| 1248 | + url: 'http://localhost:8378/1/classes/TestObject', |
| 1249 | + body: { |
| 1250 | + foo: 'bar', |
| 1251 | + }, |
| 1252 | + json: true, |
| 1253 | + }); |
| 1254 | + const result = await request({ |
| 1255 | + method: 'GET', |
| 1256 | + headers: headers, |
| 1257 | + url: `http://localhost:8378/1/classes/TestObject/${data.objectId}`, |
| 1258 | + }); |
| 1259 | + const { ACL, objectId } = result.data; |
| 1260 | + expect(objectId).toBe(data.objectId); |
| 1261 | + expect(ACL['*'].read).toBe(true); |
| 1262 | + expect(ACL['*'].write).toBeUndefined(); |
| 1263 | + expect(ACL[user.id].read).toBe(true); |
| 1264 | + expect(ACL[user.id].write).toBeUndefined(); |
| 1265 | + expect(ACL['role:Administrator'].read).toBe(true); |
| 1266 | + expect(ACL['role:Administrator'].write).toBeUndefined(); |
| 1267 | + expect(ACL['customId'].read).toBe(true); |
| 1268 | + expect(ACL['customId'].write).toBeUndefined(); |
| 1269 | + }); |
1220 | 1270 | });
|
0 commit comments