fix and test

This commit is contained in:
Dave Conway-Jones 2021-12-26 16:12:47 +00:00
parent e5f1029d0c
commit 02bd292b8c
No known key found for this signature in database
GPG Key ID: 88BA2B8A411BE9FF
2 changed files with 26 additions and 4 deletions

View File

@ -517,6 +517,7 @@ module.exports = function(RED) {
this.port = Number(n.port);
this.out = n.out;
this.ret = n.ret || "buffer";
this.newline = n.newline;
this.splitc = n.splitc;
if (n.tls) {
var tlsNode = RED.nodes.getNode(n.tls);
@ -802,7 +803,7 @@ module.exports = function(RED) {
if (clients[connection_id].client) {
clients[connection_id].connecting = true;
var connOpts = {host: host, port: port};
var connOpts = {host:host, port:port};
if (n.tls) {
connOpts = tlsNode.addTLSOptions(connOpts);
}

View File

@ -84,9 +84,17 @@ describe('TCP Request Node', function() {
n2.on("input", msg => {
try {
if (typeof result === 'object') {
msg.should.have.properties(Object.assign({}, result, {payload: Buffer.from(result.payload)}));
if (flow[0].ret === "string") {
msg.should.have.properties(Object.assign({}, result, {payload: result.payload}));
} else {
msg.should.have.properties(Object.assign({}, result, {payload: Buffer.from(result.payload)}));
}
} else {
msg.should.have.property('payload', Buffer.from(result));
if (flow[0].ret === "string") {
msg.should.have.property('payload', result);
} else {
msg.should.have.property('payload', Buffer.from(result));
}
}
done();
} catch(err) {
@ -245,10 +253,23 @@ describe('TCP Request Node', function() {
}, done);
});
it('should send & receive, then keep connection, and split return strings', function(done) {
var flow = [{id:"n1", type:"tcp request", server:"localhost", port:port, out:"sit", ret:"string", newline:"<A>", wires:[["n2"]] },
{id:"n2", type:"helper"}];
testTCPMany(flow, [{
payload: "foo<A>bar",
topic: 'boo'
}], {
payload: "ACK:foo<A>",
topic: 'boo'
}, done);
});
it('should send & recv data to/from server:port from msg', function(done) {
var flow = [{id:"n1", type:"tcp request", server:"", port:"", out:"time", splitc: "0", wires:[["n2"]] },
{id:"n2", type:"helper"}];
testTCPMany(flow, [{
testTCPMany(flow, [
{
payload: "f",
host: "localhost",
port: port