1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Merge branch 'dev' into rfdc

This commit is contained in:
anshumanr 2023-09-25 20:24:23 -04:00 committed by GitHub
commit c48a15c915
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1718,9 +1718,13 @@ describe('function node', function() {
describe("init function", function() { describe("init function", function() {
it('should delay handling messages until init completes', function(done) { it('should delay handling messages until init completes', function(done) {
const timeoutMS = 200;
// Since helper.load uses process.nextTick timers might occasionally finish
// a couple of milliseconds too early, so give some leeway to the check.
const timeoutCheckMargin = 5;
var flow = [{id:"n1",type:"function",wires:[["n2"]],initialize: ` var flow = [{id:"n1",type:"function",wires:[["n2"]],initialize: `
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
setTimeout(resolve,200) setTimeout(resolve, ${timeoutMS});
})`, })`,
func:"return msg;" func:"return msg;"
}, },
@ -1733,9 +1737,10 @@ describe('function node', function() {
msg.delta = Date.now() - msg.payload; msg.delta = Date.now() - msg.payload;
receivedMsgs.push(msg) receivedMsgs.push(msg)
if (receivedMsgs.length === 5) { if (receivedMsgs.length === 5) {
var errors = receivedMsgs.filter(msg => msg.delta < 200) let deltas = receivedMsgs.map(msg => msg.delta);
var errors = deltas.filter(delta => delta < (timeoutMS - timeoutCheckMargin))
if (errors.length > 0) { if (errors.length > 0) {
done(new Error(`Message received before init completed - was ${msg.delta} expected >300`)) done(new Error(`Message received before init completed - delta values ${JSON.stringify(deltas)} expected to be > ${timeoutMS - timeoutCheckMargin}`))
} else { } else {
done(); done();
} }