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", 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(); diff --git a/test/nodes/core/network/21-httprequest_spec.js b/test/nodes/core/network/21-httprequest_spec.js index 4d159e402..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); @@ -81,13 +82,17 @@ describe('HTTP Request Node', function() { */ }; testSslServer = stoppable(https.createServer(sslOptions,testApp)); - testSslServer.listen(testSslPort, function(err){ - if (err) { - console.log(err); - } else { - console.log("started testSslServer"); - } - }); + console.log('> start 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 = { @@ -97,10 +102,17 @@ describe('HTTP Request Node', function() { requestCert: true }; testSslClientServer = stoppable(https.createServer(sslClientOptions, testApp)); - 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())) @@ -109,7 +121,17 @@ describe('HTTP Request Node', function() { res.setHeader("x-testproxy-header", "foobar") } }) - testProxyServer.listen(testProxyPort) + console.log('> testProxyServer') + 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())) @@ -131,9 +153,19 @@ describe('HTTP Request Node', function() { res.setHeader("x-testproxy-header", "foobar") } }) - testProxyServerAuth.listen(testProxyAuthPort) + console.log('> testProxyServerAuth') + 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) }); } @@ -429,7 +461,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) + }); }); });