mirror of
https://github.com/node-red/node-red
synced 2024-11-22 16:33:24 +00:00
Update tail node tests to use resource file
This commit is contained in:
parent
fde77cec5d
commit
43ad8706aa
@ -27,20 +27,27 @@ module.exports = function(RED) {
|
||||
var node = this;
|
||||
|
||||
var err = "";
|
||||
// TODO: rewrite to use node-tail
|
||||
var tail = spawn("tail", ["-F", this.filename]);
|
||||
tail.stdout.on("data", function (data) {
|
||||
var msg = {topic:node.filename};
|
||||
if (node.split) {
|
||||
// TODO: allow customisation of the line break - as we do elsewhere
|
||||
var strings = data.toString().split("\n");
|
||||
for (var s in strings) {
|
||||
//TODO: should we really filter blanks? Is that expected?
|
||||
if (strings[s] !== "") {
|
||||
msg.payload = strings[s];
|
||||
node.send(msg);
|
||||
node.send({
|
||||
topic: node.filename,
|
||||
payload: strings[s]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
msg.payload = data.toString();
|
||||
var msg = {
|
||||
topic:node.filename,
|
||||
payload: data.toString()
|
||||
};
|
||||
node.send(msg);
|
||||
}
|
||||
});
|
||||
|
@ -24,41 +24,16 @@ var helper = require("../../helper.js");
|
||||
|
||||
describe('TailNode', function() {
|
||||
|
||||
var tempDir = path.join(__dirname, ".tmp");
|
||||
var fileToTail = path.join(tempDir, "tailMe.txt");
|
||||
|
||||
// function which writes to the file creating all missing directories
|
||||
function writeFile(path, contents) {
|
||||
mkdirp(tempDir, function(err) {
|
||||
if(err) {
|
||||
return err;
|
||||
}
|
||||
try {
|
||||
fs.writeFileSync(path, contents, 'utf8');
|
||||
} catch (error) {
|
||||
console.log("Unexpected error writing file: " +error.message);
|
||||
return error;
|
||||
}
|
||||
});
|
||||
}
|
||||
var resourcesDir = path.join(__dirname,"..","..","..","resources");
|
||||
var fileToTail = path.join(resourcesDir,"28-tail-test-file.txt");
|
||||
|
||||
beforeEach(function(done) {
|
||||
writeFile(fileToTail, "Tail message line1\nTail message line2\n");
|
||||
helper.startServer(done);
|
||||
});
|
||||
|
||||
afterEach(function(done) {
|
||||
helper.unload();
|
||||
fs.remove(tempDir, function(err) {
|
||||
if (err) {
|
||||
console.log("error occurred removing " + tempDir + ": " +err);
|
||||
return err;
|
||||
}
|
||||
fs.exists(tempDir, function(exists) {
|
||||
exists.should.be.false;
|
||||
helper.stopServer(done);
|
||||
});
|
||||
});
|
||||
helper.stopServer(done);
|
||||
});
|
||||
|
||||
it('should be loaded', function(done) {
|
||||
@ -78,6 +53,7 @@ describe('TailNode', function() {
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
var inputCounter = 0;
|
||||
helperNode1.on("input", function(msg) {
|
||||
console.log(msg);
|
||||
msg.should.have.property('topic', fileToTail);
|
||||
msg.payload.should.equal("Tail message line" + (++inputCounter));
|
||||
if(inputCounter === 2) {
|
||||
|
2
test/resources/28-tail-test-file.txt
Normal file
2
test/resources/28-tail-test-file.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Tail message line1
|
||||
Tail message line2
|
Loading…
Reference in New Issue
Block a user