mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
add 2 tests for user inject values
This commit is contained in:
parent
f570447000
commit
845567d1ba
@ -510,6 +510,36 @@ describe('inject node', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
it('should inject custom properties in message', function (done) {
|
||||||
|
//n1: inject node with { topic:"static", payload:"static", bool1:true, str1:"1" }
|
||||||
|
var flow = [{id: "n1", type: "inject", props: [{p:"payload", v:"static", vt:"str"}, {p:"topic", v:"static", vt:"str"}, {p:"bool1", v:"true", vt:"bool"}, {p:"str1", v:"1", vt:"str"}], wires: [["n2"]], z: "flow"},
|
||||||
|
{id: "n2", type: "helper"}];
|
||||||
|
helper.load(injectNode, flow, function () {
|
||||||
|
var n1 = helper.getNode("n1");
|
||||||
|
var n2 = helper.getNode("n2");
|
||||||
|
n2.on("input", function (msg) {
|
||||||
|
try {
|
||||||
|
msg.should.not.have.property("payload"); //payload removed
|
||||||
|
msg.should.have.property("topic", "t_override"); //changed value to t_override
|
||||||
|
msg.should.have.property("str1", 1);//changed type from str to num
|
||||||
|
msg.should.have.property("num1", 1);//new prop
|
||||||
|
msg.should.have.property("bool1", false);//changed value to false
|
||||||
|
done();
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
n1.receive({ __user_inject_props__: [
|
||||||
|
{p:"topic", v:"t_override", vt:"str"}, //change value to t_override
|
||||||
|
{p:"str1", v:"1", vt:"num"}, //change type
|
||||||
|
{p:"num1", v:"1", vt:"num"}, //new prop
|
||||||
|
{p:"bool1", v:"false", vt:"bool"}, //change value to false
|
||||||
|
]});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
it('should inject multiple properties using legacy props if needed', function (done) {
|
it('should inject multiple properties using legacy props if needed', function (done) {
|
||||||
var flow = [{id: "n1", type: "inject", payload:"123", payloadType:"num", topic:"foo", props: [{p:"topic", vt:"str"}, {p:"payload"}], wires: [["n2"]], z: "flow"},
|
var flow = [{id: "n1", type: "inject", payload:"123", payloadType:"num", topic:"foo", props: [{p:"topic", vt:"str"}, {p:"payload"}], wires: [["n2"]], z: "flow"},
|
||||||
{id: "n2", type: "helper"}];
|
{id: "n2", type: "helper"}];
|
||||||
@ -592,6 +622,46 @@ describe('inject node', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should inject custom properties in posted message', function(done) {
|
||||||
|
var flow = [{id:"n1", type:"inject", payloadType:"str", topic: "t4",payload:"hello", wires:[["n4"]] },
|
||||||
|
{ id:"n4", type:"helper"}];
|
||||||
|
helper.load(injectNode, flow, function() {
|
||||||
|
var n4 = helper.getNode("n4");
|
||||||
|
n4.on("input", function(msg) {
|
||||||
|
msg.should.not.have.property("payload"); //payload removed
|
||||||
|
msg.should.have.property("topic", "t_override"); //changed value to t_override
|
||||||
|
msg.should.have.property("str1", "1"); //injected prop
|
||||||
|
msg.should.have.property("num1", 1); //injected prop
|
||||||
|
msg.should.have.property("bool1", true); //injected prop
|
||||||
|
|
||||||
|
helper.clearFlows().then(function() {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
helper.request()
|
||||||
|
.post('/inject/n1')
|
||||||
|
.send({ __user_inject_props__: [
|
||||||
|
{p:"topic", v:"t_override", vt:"str"}, //change value to t_override
|
||||||
|
{p:"str1", v:"1", vt:"str"}, //new prop
|
||||||
|
{p:"num1", v:"1", vt:"num"}, //new prop
|
||||||
|
{p:"bool1", v:"true", vt:"bool"}, //new prop
|
||||||
|
]})
|
||||||
|
.expect(200).end(function(err) {
|
||||||
|
if (err) {
|
||||||
|
console.log(err);
|
||||||
|
return helper.clearFlows()
|
||||||
|
.then(function () {
|
||||||
|
done(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch(err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should fail for invalid node', function(done) {
|
it('should fail for invalid node', function(done) {
|
||||||
helper.request().post('/inject/invalid').expect(404).end(done);
|
helper.request().post('/inject/invalid').expect(404).end(done);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user