* reload the right data More passing postgres tests Handle schema updates, and $in for non array columns remove authdata from user and implement ensureUniqueness Make some tests work, detect existing classes Throw proper error for unique index violation fix findOneAndUpdate Support more types support more type Support boolean, fix _rperm/_wperm, add TODO Support string types and also simplify tests Move operator flattening into Parse Server and out of mongo adapters Move authdata transform for create into Parse Server Move authdata transforms completely in to Parse Server Fix test setup inline addSchema Inject default schema to response from DB adapter * Mark tests that don't work in Postgres * Exclude one more test * Exclude some more failing tests * Exclude more tests
59 lines
2.5 KiB
JavaScript
59 lines
2.5 KiB
JavaScript
'use strict';
|
|
var LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
|
var FileLoggerAdapter = require('../src/Adapters/Logger/FileLoggerAdapter').FileLoggerAdapter;
|
|
|
|
describe("Cloud Code Logger", () => {
|
|
it("should expose log to functions", (done) => {
|
|
var logController = new LoggerController(new FileLoggerAdapter());
|
|
|
|
Parse.Cloud.define("loggerTest", (req, res) => {
|
|
req.log.info('logTest', 'info log', {info: 'some log' });
|
|
req.log.error('logTest','error log', {error: 'there was an error'});
|
|
res.success({});
|
|
});
|
|
|
|
Parse.Cloud.run('loggerTest').then(() => {
|
|
return logController.getLogs({from: Date.now() - 500, size: 1000});
|
|
}).then((res) => {
|
|
expect(res.length).not.toBe(0);
|
|
let lastLogs = res.slice(0, 2);
|
|
let errorMessage = lastLogs[0];
|
|
let infoMessage = lastLogs[1];
|
|
expect(errorMessage.level).toBe('error');
|
|
expect(errorMessage.error).toBe('there was an error');
|
|
expect(errorMessage.message).toBe('logTest error log');
|
|
expect(infoMessage.level).toBe('info');
|
|
expect(infoMessage.info).toBe('some log');
|
|
expect(infoMessage.message).toBe('logTest info log');
|
|
done();
|
|
});
|
|
});
|
|
|
|
it("should expose log to trigger", (done) => {
|
|
var logController = new LoggerController(new FileLoggerAdapter());
|
|
|
|
Parse.Cloud.beforeSave("MyObject", (req, res) => {
|
|
req.log.info('beforeSave MyObject', 'info log', {info: 'some log' });
|
|
req.log.error('beforeSave MyObject','error log', {error: 'there was an error'});
|
|
res.success({});
|
|
});
|
|
|
|
let obj = new Parse.Object('MyObject');
|
|
obj.save().then(() => {
|
|
return logController.getLogs({from: Date.now() - 500, size: 1000})
|
|
}).then((res) => {
|
|
expect(res.length).not.toBe(0);
|
|
let lastLogs = res.slice(0, 2);
|
|
let errorMessage = lastLogs[0];
|
|
let infoMessage = lastLogs[1];
|
|
expect(errorMessage.level).toBe('error');
|
|
expect(errorMessage.error).toBe('there was an error');
|
|
expect(errorMessage.message).toBe('beforeSave MyObject error log');
|
|
expect(infoMessage.level).toBe('info');
|
|
expect(infoMessage.info).toBe('some log');
|
|
expect(infoMessage.message).toBe('beforeSave MyObject info log');
|
|
done();
|
|
});
|
|
});
|
|
});
|