feat: Add option to change the log level of the logs emitted by triggers (#8328)

This commit is contained in:
alljinx
2022-12-07 22:55:45 +01:00
committed by GitHub
parent 0a8670dc22
commit 8f3b694e39
10 changed files with 286 additions and 137 deletions

View File

@@ -182,6 +182,41 @@ describe('Cloud Code Logger', () => {
});
});
it('should log cloud function triggers using the custom log level', async () => {
Parse.Cloud.beforeSave('TestClass', () => {});
Parse.Cloud.afterSave('TestClass', () => {});
const execTest = async (logLevel, triggerBeforeSuccess, triggerAfter) => {
await reconfigureServer({
silent: true,
logLevel,
logLevels: {
triggerAfter,
triggerBeforeSuccess,
},
});
spy = spyOn(Config.get('test').loggerController.adapter, 'log').and.callThrough();
const obj = new Parse.Object('TestClass');
await obj.save();
return {
beforeSave: spy.calls
.allArgs()
.find(log => log[1].startsWith('beforeSave triggered for TestClass for user '))?.[0],
afterSave: spy.calls
.allArgs()
.find(log => log[1].startsWith('afterSave triggered for TestClass for user '))?.[0],
};
};
let calls = await execTest('silly', 'silly', 'debug');
expect(calls).toEqual({ beforeSave: 'silly', afterSave: 'debug' });
calls = await execTest('info', 'warn', 'debug');
expect(calls).toEqual({ beforeSave: 'warn', afterSave: undefined });
});
it('should log cloud function failure', done => {
Parse.Cloud.define('aFunction', () => {
throw 'it failed!';