Improve test code (#7121)

This commit is contained in:
Diamond Lewis
2021-01-13 12:40:18 -05:00
committed by GitHub
parent e08618e377
commit c8cdcbe10e
4 changed files with 13 additions and 102 deletions

View File

@@ -168,9 +168,9 @@ describe('Auth', () => {
const acl = new Parse.ACL();
const role = new Parse.Role('roleloadtest' + i, acl);
role.getUsers().add([user]);
roles.push(role.save());
roles.push(role);
}
const savedRoles = await Promise.all(roles);
const savedRoles = await Parse.Object.saveAll(roles);
expect(savedRoles.length).toBe(rolesNumber);
const cloudRoles = await userAuth.getRolesForUser();
expect(cloudRoles.length).toBe(rolesNumber);
@@ -192,9 +192,9 @@ describe('Auth', () => {
const acl = new Parse.ACL();
const role = new Parse.Role('roleloadtest' + i, acl);
role.getUsers().add([user]);
roles.push(role.save());
roles.push(role);
}
const savedRoles = await Promise.all(roles);
const savedRoles = await Parse.Object.saveAll(roles);
expect(savedRoles.length).toBe(rolesNumber);
const cloudRoles = await userAuth.getRolesForUser();
expect(cloudRoles.length).toBe(rolesNumber);

View File

@@ -24,31 +24,14 @@ const headers = {
};
describe_only_db('mongo')('miscellaneous', () => {
it('test rest_create_app', function (done) {
let appId;
Parse._request('POST', 'rest_create_app')
.then(res => {
expect(typeof res.application_id).toEqual('string');
expect(res.master_key).toEqual('master');
appId = res.application_id;
Parse.initialize(appId, 'unused');
const obj = new Parse.Object('TestObject');
obj.set('foo', 'bar');
return obj.save();
})
.then(() => {
const config = Config.get(appId);
return config.database.adapter.find('TestObject', { fields: {} }, {}, {});
})
.then(results => {
expect(results.length).toEqual(1);
expect(results[0]['foo']).toEqual('bar');
done();
})
.catch(error => {
fail(JSON.stringify(error));
done();
});
it('db contains document after successful save', async () => {
const obj = new Parse.Object('TestObject');
obj.set('foo', 'bar');
await obj.save();
const config = Config.get(defaultConfiguration.appId);
const results = await config.database.adapter.find('TestObject', { fields: {} }, {}, {});
expect(results.length).toEqual(1);
expect(results[0]['foo']).toEqual('bar');
});
});

View File

@@ -134,6 +134,7 @@ const reconfigureServer = changedConfiguration => {
if (error) {
reject(error);
} else {
Parse.CoreManager.set('REQUEST_ATTEMPT_LIMIT', 1);
resolve(parseServer);
}
},
@@ -142,7 +143,6 @@ const reconfigureServer = changedConfiguration => {
});
cache.clear();
parseServer = ParseServer.start(newConfiguration);
parseServer.app.use(require('./testing-routes').router);
parseServer.expressApp.use('/1', err => {
console.error(err);
fail('should not call next');

View File

@@ -1,72 +0,0 @@
// testing-routes.js
const AppCache = require('../lib/cache').default;
const middlewares = require('../lib/middlewares');
const { ParseServer } = require('../lib/index');
const { Parse } = require('parse/node');
const express = require('express'),
cryptoUtils = require('../lib/cryptoUtils');
const router = express.Router();
// creates a unique app in the cache, with a collection prefix
function createApp(req, res) {
const appId = cryptoUtils.randomHexString(32);
ParseServer({
databaseURI: 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase',
appId: appId,
masterKey: 'master',
serverURL: Parse.serverURL,
collectionPrefix: appId,
});
const keys = {
application_id: appId,
client_key: 'unused',
windows_key: 'unused',
javascript_key: 'unused',
webhook_key: 'unused',
rest_api_key: 'unused',
master_key: 'master',
};
res.status(200).send(keys);
}
// deletes all collections that belong to the app
function clearApp(req, res) {
if (!req.auth.isMaster) {
return res.status(401).send({ error: 'unauthorized' });
}
return req.config.database.deleteEverything().then(() => {
res.status(200).send({});
});
}
// deletes all collections and drops the app from cache
function dropApp(req, res) {
if (!req.auth.isMaster) {
return res.status(401).send({ error: 'unauthorized' });
}
return req.config.database.deleteEverything().then(() => {
AppCache.del(req.config.applicationId);
res.status(200).send({});
});
}
// Lets just return a success response and see what happens.
function notImplementedYet(req, res) {
res.status(200).send({});
}
router.post('/rest_clear_app', middlewares.handleParseHeaders, clearApp);
router.post('/rest_block', middlewares.handleParseHeaders, notImplementedYet);
router.post('/rest_mock_v8_client', middlewares.handleParseHeaders, notImplementedYet);
router.post('/rest_unmock_v8_client', middlewares.handleParseHeaders, notImplementedYet);
router.post('/rest_verify_analytics', middlewares.handleParseHeaders, notImplementedYet);
router.post('/rest_create_app', createApp);
router.post('/rest_drop_app', middlewares.handleParseHeaders, dropApp);
router.post('/rest_configure_app', middlewares.handleParseHeaders, notImplementedYet);
module.exports = {
router: router,
};