diff options
Diffstat (limited to 'dgbuilder/test/nodes/core/storage/28-tail_spec.js')
-rw-r--r-- | dgbuilder/test/nodes/core/storage/28-tail_spec.js | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/dgbuilder/test/nodes/core/storage/28-tail_spec.js b/dgbuilder/test/nodes/core/storage/28-tail_spec.js deleted file mode 100644 index 06124576..00000000 --- a/dgbuilder/test/nodes/core/storage/28-tail_spec.js +++ /dev/null @@ -1,165 +0,0 @@ -/** - * Copyright 2014 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var should = require("should"); -var path = require('path'); -var fs = require('fs-extra'); -var mkdirp = require('mkdirp'); - -var tailNode = require("../../../../nodes/core/storage/28-tail.js"); -var helper = require("../../helper.js"); - -describe('TailNode', function() { - - var resourcesDir = path.join(__dirname,"..","..","..","resources"); - var fileToTail = path.join(resourcesDir,"28-tail-test-file.txt"); - - beforeEach(function(done) { - fs.writeFileSync(fileToTail, "Tail message line 1\nTail message line 2\n"); - helper.startServer(done); - }); - - afterEach(function(done) { - helper.unload().then(function() { - fs.unlinkSync(fileToTail); - helper.stopServer(done); - }); - }); - - it('should be loaded', function(done) { - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "split":true, "filename":fileToTail}]; - helper.load(tailNode, flow, function() { - var tailNode1 = helper.getNode("tailNode1"); - tailNode1.should.have.property('name', 'tailNode'); - done(); - }); - }); - - it('tail should tail a file', function(done) { - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "split":true, "filename":fileToTail, "wires":[["helperNode1"]]}, - {id:"helperNode1", type:"helper", wires:[]}]; - helper.load(tailNode, flow, function() { - var tailNode1 = helper.getNode("tailNode1"); - 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 + 2)); - if (inputCounter === 2) { - done(); - } - }); - setTimeout( function() { - fs.appendFileSync(fileToTail, "Tail message line 3\n"); - fs.appendFileSync(fileToTail, "Tail message line 4\n"); - },100); - }); - }); - - it('tail should work in non-split mode', function(done) { - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "split":false, "filename":fileToTail, "wires":[["helperNode1"]]}, - {id:"helperNode1", type:"helper", wires:[]}]; - helper.load(tailNode, flow, function() { - var tailNode1 = helper.getNode("tailNode1"); - var helperNode1 = helper.getNode("helperNode1"); - helperNode1.on("input", function(msg) { - //console.log(msg); - msg.should.have.property('topic', fileToTail); - msg.payload.should.equal("Tail message line 5\nTail message line 6\n"); - done(); - }); - setTimeout( function() { - fs.appendFileSync(fileToTail, "Tail message line 5\nTail message line 6\n"); - },150); - }); - }); - - it('tail should handle a non-existent file', function(done) { - fs.unlinkSync(fileToTail); - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "split":true, "filename":fileToTail, "wires":[["helperNode1"]]}, - {id:"helperNode1", type:"helper", wires:[]}]; - helper.load(tailNode, flow, function() { - var tailNode1 = helper.getNode("tailNode1"); - var helperNode1 = helper.getNode("helperNode1"); - helperNode1.on("input", function(msg) { - msg.should.have.property('topic', fileToTail); - msg.payload.should.equal("Tail message line"); - done(); - }); - setTimeout( function() { - fs.writeFileSync(fileToTail, "Tail message line\n"); - },150); - }); - }); - /* - it('tail should handle file truncation', function(done) { - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "split":true, "filename":fileToTail, "wires":[["helperNode1"]]}, - {id:"helperNode1", type:"helper", wires:[]}]; - helper.load(tailNode, flow, function() { - var tailNode1 = helper.getNode("tailNode1"); - var helperNode1 = helper.getNode("helperNode1"); - var inputCounter = 0; - var warned = false; - tailNode1.on("log", function(msg) { - if (msg.level == "warn") { warned = true; } - }); - helperNode1.on("input", function(msg) { - console.log("inputCounter =",inputCounter); - console.log(msg); - msg.should.have.property('topic', fileToTail); - inputCounter++; - if (inputCounter === 1) { - warned.should.be.false; - msg.payload.should.equal("Tail message line append"); - } else if (inputCounter === 2) { - msg.payload.should.equal("Tail message line truncate"); - } else { - msg.payload.should.equal("Tail message line append "+inputCounter); - } - - if (inputCounter === 5) { - setTimeout(function() { - warned.should.be.true; - done(); - },100); - } - }); - var actions = [ - function() { fs.appendFileSync(fileToTail, "Tail message line append\n");}, - function() { fs.writeFileSync(fileToTail, "Tail message line truncate\n");}, - function() { fs.appendFileSync(fileToTail, "Tail message line append 3\n");}, - function() { fs.appendFileSync(fileToTail, "Tail message line append 4\n");}, - function() { fs.appendFileSync(fileToTail, "Tail message line append 5\n");} - ]; - - function processAction() { - var action = actions.shift(); - action(); - if (actions.length > 0) { - setTimeout(function() { - processAction(); - },250); - } - } - setTimeout( function() { - processAction(); - },150); - }); - }); - */ - -}); |