Gathering detailed insights and metrics for node-red-test-helper-tool
Gathering detailed insights and metrics for node-red-test-helper-tool
Gathering detailed insights and metrics for node-red-test-helper-tool
Gathering detailed insights and metrics for node-red-test-helper-tool
npm install node-red-test-helper-tool
Typescript
Module System
Node Version
NPM Version
JavaScript (100%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
59 Commits
1 Watchers
2 Branches
1 Contributors
Updated on Aug 01, 2022
Latest Version
1.4.7
Package Id
node-red-test-helper-tool@1.4.7
Unpacked Size
216.44 kB
Size
47.89 kB
File Count
7
NPM Version
8.13.2
Node Version
18.6.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
Make node-red-node-test-helper easier to use
node-red >= 3.0.1
node-red-node-test-helper >= 0.3.0
1const testServer = new NodeRedTestServer(NodeRedServer)
nodeArray: all the nodes in flow(you can get from node-red-node-loader)
flow: flow from node-red
NodeId: the node you want to test
return value: boolean
1const testOuput = await testServer.testFlow(nodeArray,flow,inputNode,outputNode,mockInput)
1import {NodeLoader} from 'node-red-node-loader' 2import helper from 'node-red-node-test-helper' 3import {NodeRedTestServer} from 'node-red-test-helper-tool' 4import fs from 'fs/promises' 5helper.init(require.resolve('node-red')) 6 7describe("healthCheck",()=>{ 8 const FILENAME = __dirname+"/flows/flow.json" 9 // const nodeLoader = new NodeLoader() 10 beforeAll((done)=>{ 11 helper.startServer(done) 12 }) 13 afterAll((done)=>{ 14 helper.stopServer(done) 15 }) 16 afterEach(()=>{ 17 18 }) 19 it("test node loader with node-red-node-loader, node-red-test-helper-tool and using async. healthCheck",async()=>{ 20 const testServer = new NodeRedTestServer(helper) 21 await fs.readFile(FILENAME,'utf-8').then(async(res)=>{ 22 const flow = JSON.parse(res) 23 const nodeArr = new NodeLoader().getNodeArray(res) 24 25 const health = await testServer.healthCheck(nodeArr,flow,'n0') 26 27 }) 28 }) 29} )
nodeArray: all the nodes in flow(you can get from node-red-node-loader)
flow: flow from node-red
inputNode: the node you want to mock input from
outputNode: the node you want to get mock output
mockInput: provide with the input data for input node
testOutput: get the mock output to test
1const testOuput = await testServer.testFlow(nodeArray,flow,inputNode,outputNode,mockInput)
1async testFlow(nodeArray,flow,inputNodeId,outputNodeId,testInput){ 2 let testOutput = undefined 3 await this.server.load(nodeArray,flow) 4 const inputNode = this.server.getNode(inputNodeId) 5 const outputNode = this.server.getNode(outputNodeId) 6 7 await new Promise((resolve,reject) => { 8 outputNode.on('input',(msg)=>{ 9 try{ 10 testOutput = msg 11 resolve(msg) 12 } 13 catch(err) 14 { 15 reject(err) 16 } 17 18 }) 19 inputNode.send(testInput) 20 }) 21 this.server.unload() 22 return testOutput 23}
1import {NodeLoader} from 'node-red-node-loader' 2import helper from 'node-red-node-test-helper' 3import {NodeRedTestServer} from 'node-red-test-helper-tool' 4import fs from 'fs/promises' 5helper.init(require.resolve('node-red')) 6 7describe("testFlow",()=>{ 8 const FILENAME = __dirname+"/flows/flow.json" 9 // const nodeLoader = new NodeLoader() 10 beforeAll((done)=>{ 11 helper.startServer(done) 12 }) 13 afterAll((done)=>{ 14 helper.stopServer(done) 15 }) 16 afterEach(()=>{ 17 18 }) 19 it("test node loader",async()=>{ 20 const testServer = new NodeRedTestServer(helper) //Setup nodered server 21 await fs.readFile(FILENAME,'utf-8').then(async(res)=>{ 22 console.log(res) 23 const flow = JSON.parse(res) 24 const nodeArr = new NodeLoader().getNodeArray(res) 25 const testOuput = await testServer.testFlow(nodeArr,flow,'n0','n1',{payload:"UpperCase"})//given input data 26 }) 27 }) 28} )
nodeArray: all the nodes in flow(you can get from node-red-node-loader)
flow: flow from node-red
inputNode: the node you want to mock input from
outputNode: the node you want to get mock output
mockInput: provide with the input data for input node
testOutput: get the mock output to test
1const testOuput = await testServer.testFlowReceive(nodeArray,flow,inputNode,outputNode,mockInput)
1async testFlowReceive(nodeArray,flow,inputNodeId,outputNodeId,testInput) 2{ 3 let testOutput = undefined 4 await this.server.load(nodeArray,flow) 5 const inputNode = this.server.getNode(inputNodeId) 6 const outputNode = this.server.getNode(outputNodeId) 7 await new Promise((resolve,reject) => { 8 outputNode.on('input',(msg)=>{ 9 try{ 10 testOutput = msg 11 resolve(msg) 12 } 13 catch(err) 14 { 15 reject(err) 16 } 17 18 }) 19 inputNode.receive(testInput) 20 }) 21 this.server.unload() 22 return testOutput 23}
1import {NodeLoader} from 'node-red-node-loader' 2import helper from 'node-red-node-test-helper' 3import {NodeRedTestServer} from 'node-red-test-helper-tool' 4import fs from 'fs/promises' 5helper.init(require.resolve('node-red')) 6 7describe("testFlowReceive",()=>{ 8 const FILENAME = __dirname+"/flows/flow.json" 9 // const nodeLoader = new NodeLoader() 10 beforeAll((done)=>{ 11 helper.startServer(done) 12 }) 13 afterAll((done)=>{ 14 helper.stopServer(done) 15 }) 16 afterEach(()=>{ 17 18 }) 19 it("test node loader with node-red-node-loader, node-red-test-helper-tool and using async",async()=>{ 20 const flow = [{id:'n0',type:'lower-case',wire:[['n1']]},{id:'n1',type:'debug',wire:[[]]}] 21 const testServer = new NodeRedTestServer(helper) 22 const nodeArr = new NodeLoader().getNodeArrayFromFlow(flow) 23 24 const testOuput = await testServer.testFlowReceive([...nodeArr,lowerNode],flow,'n0','n0',{payload:"UpperCase"}) 25 }) 26} )
No vulnerabilities found.
No security vulnerabilities found.