From ae5e1570ae4b4da52e7c2dcd238d85fbef5d6e27 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 21 Mar 2024 11:14:34 +0000 Subject: [PATCH 1/4] Reset workspace index when clearing nodes Fixes #4600 --- .../@node-red/editor-client/src/js/ui/workspaces.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js index 2fa78f679..d338ee651 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js @@ -491,6 +491,11 @@ RED.workspaces = (function() { createWorkspaceTabs(); RED.events.on("sidebar:resize",workspace_tabs.resize); + RED.events.on("workspace:clear", () => { + // Reset the index used to generate new flow names + workspaceIndex = 0 + }) + RED.actions.add("core:show-next-tab",function() { var oldActive = activeWorkspace; workspace_tabs.nextTab(); From d7dcceef60c3fb5bf2756b36a9dc13e9e83a27be Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 21 Mar 2024 11:32:29 +0000 Subject: [PATCH 2/4] Add debug for http tests --- test/nodes/core/network/21-httprequest_spec.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/test/nodes/core/network/21-httprequest_spec.js b/test/nodes/core/network/21-httprequest_spec.js index 4d159e402..8ddf8542f 100644 --- a/test/nodes/core/network/21-httprequest_spec.js +++ b/test/nodes/core/network/21-httprequest_spec.js @@ -81,6 +81,7 @@ describe('HTTP Request Node', function() { */ }; testSslServer = stoppable(https.createServer(sslOptions,testApp)); + console.log('> start testSslServer') testSslServer.listen(testSslPort, function(err){ if (err) { console.log(err); @@ -97,6 +98,7 @@ describe('HTTP Request Node', function() { requestCert: true }; testSslClientServer = stoppable(https.createServer(sslClientOptions, testApp)); + console.log('> start testSslClientServer.listen') testSslClientServer.listen(testSslClientPort, function(err){ console.log("ssl-client", err) }); @@ -109,7 +111,10 @@ describe('HTTP Request Node', function() { res.setHeader("x-testproxy-header", "foobar") } }) - testProxyServer.listen(testProxyPort) + console.log('> testProxyServer') + testProxyServer.listen(testProxyPort, function(err) { + console.log('testProxyServer start', err) + }) testProxyAuthPort += 1 testProxyServerAuth = stoppable(httpProxy(http.createServer())) @@ -131,7 +136,10 @@ describe('HTTP Request Node', function() { res.setHeader("x-testproxy-header", "foobar") } }) - testProxyServerAuth.listen(testProxyAuthPort) + console.log('> testProxyServerAuth') + testProxyServerAuth.listen(testProxyAuthPort, function(err) { + console.log('testProxyServerAuth start', err) + }) done(err); }); @@ -429,7 +437,11 @@ describe('HTTP Request Node', function() { if (err) { done(err); } - helper.startServer(done); + console.log('> helper.startServer') + helper.startServer(function(err) { + console.log('> helper started') + done(err) + }); }); }); From 02f7cdd5aa5f5e50025b7da955a84286d5fda7b7 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 21 Mar 2024 15:03:37 +0000 Subject: [PATCH 3/4] Ensure all httpRequest test servers are ready before tests run --- .../nodes/core/network/21-httprequest_spec.js | 62 +++++++++++++------ 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/test/nodes/core/network/21-httprequest_spec.js b/test/nodes/core/network/21-httprequest_spec.js index 8ddf8542f..6459a2122 100644 --- a/test/nodes/core/network/21-httprequest_spec.js +++ b/test/nodes/core/network/21-httprequest_spec.js @@ -60,6 +60,7 @@ describe('HTTP Request Node', function() { function startServer(done) { testPort += 1; testServer = stoppable(http.createServer(testApp)); + const promises = [] testServer.listen(testPort,function(err) { testSslPort += 1; console.log("ssl port", testSslPort); @@ -82,13 +83,16 @@ describe('HTTP Request Node', function() { }; testSslServer = stoppable(https.createServer(sslOptions,testApp)); console.log('> start testSslServer') - testSslServer.listen(testSslPort, function(err){ - if (err) { - console.log(err); - } else { - console.log("started testSslServer"); - } - }); + promises.push(new Promise((resolve, reject) => { + testSslServer.listen(testSslPort, function(err){ + console.log(' done testSslServer') + if (err) { + reject(err) + } else { + resolve() + } + }); + })) testSslClientPort += 1; var sslClientOptions = { @@ -98,11 +102,17 @@ describe('HTTP Request Node', function() { requestCert: true }; testSslClientServer = stoppable(https.createServer(sslClientOptions, testApp)); - console.log('> start testSslClientServer.listen') - testSslClientServer.listen(testSslClientPort, function(err){ - console.log("ssl-client", err) - }); - + console.log('> start testSslClientServer') + promises.push(new Promise((resolve, reject) => { + testSslClientServer.listen(testSslClientPort, function(err){ + console.log(' done testSslClientServer') + if (err) { + reject(err) + } else { + resolve() + } + }); + })) testProxyPort += 1; testProxyServer = stoppable(httpProxy(http.createServer())) @@ -112,9 +122,16 @@ describe('HTTP Request Node', function() { } }) console.log('> testProxyServer') - testProxyServer.listen(testProxyPort, function(err) { - console.log('testProxyServer start', err) - }) + promises.push(new Promise((resolve, reject) => { + testProxyServer.listen(testProxyPort, function(err) { + console.log(' done testProxyServer') + if (err) { + reject(err) + } else { + resolve() + } + }) + })) testProxyAuthPort += 1 testProxyServerAuth = stoppable(httpProxy(http.createServer())) @@ -137,11 +154,18 @@ describe('HTTP Request Node', function() { } }) console.log('> testProxyServerAuth') - testProxyServerAuth.listen(testProxyAuthPort, function(err) { - console.log('testProxyServerAuth start', err) - }) + promises.push(new Promise((resolve, reject) => { + testProxyServerAuth.listen(testProxyAuthPort, function(err) { + console.log(' done testProxyServerAuth') + if (err) { + reject(err) + } else { + resolve() + } + }) + })) - done(err); + Promise.all(promises).then(() => { done() }).catch(done) }); } From 7fc64a84e8aa09ae9b5a256b57424562705415be Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 21 Mar 2024 15:16:49 +0000 Subject: [PATCH 4/4] Bump test helper --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aa61af324..4462adb1c 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "mermaid": "^10.4.0", "minami": "1.2.3", "mocha": "9.2.2", - "node-red-node-test-helper": "^0.3.2", + "node-red-node-test-helper": "^0.3.3", "nodemon": "2.0.20", "proxy": "^1.0.2", "sass": "1.62.1",