diff --git a/test/nodes/core/analysis/72-sentiment_spec.js b/test/nodes/core/analysis/72-sentiment_spec.js deleted file mode 100644 index 1cab6bf16..000000000 --- a/test/nodes/core/analysis/72-sentiment_spec.js +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Copyright JS Foundation and other contributors, http://js.foundation - * - * 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 sentimentNode = require("nr-test-utils").require("@node-red/nodes/core/analysis/72-sentiment.js"); -var helper = require("node-red-node-test-helper"); - -describe('sentiment Node', function() { - - before(function(done) { - helper.startServer(done); - }); - - after(function(done) { - helper.stopServer(done); - }); - - afterEach(function() { - helper.unload(); - }); - - it('should be loaded', function(done) { - var flow = [{id:"sentimentNode1", type:"sentiment", name: "sentimentNode" }]; - helper.load(sentimentNode, flow, function() { - var sentimentNode1 = helper.getNode("sentimentNode1"); - sentimentNode1.should.have.property('name', 'sentimentNode'); - done(); - }); - }); - - it('should pass on msg if no payload', function(done) { - var flow = [{id:"jn1",type:"sentiment",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - msg.should.not.have.property('sentiment'); - msg.topic.should.equal("pass on"); - done(); - }); - var testString = 'good, great, best, brilliant'; - jn1.receive({topic:"pass on"}); - }); - }); - - it('should add a positive score for good words', function(done) { - var flow = [{id:"jn1",type:"sentiment",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - try { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.be.above(10); - done(); - } catch(err) { - done(err); - } - }); - var testString = 'good, great, best, brilliant'; - jn1.receive({payload:testString}); - }); - }); - - it('should add a positive score for good words - alternative property', function(done) { - var flow = [{id:"jn1",type:"sentiment",property:"foo",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - try { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.be.above(10); - done(); - } catch(err) { - done(err); - } - }); - var testString = 'good, great, best, brilliant'; - jn1.receive({foo:testString}); - }); - }); - - it('should add a negative score for bad words', function(done) { - var flow = [{id:"jn1",type:"sentiment",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.be.below(-10); - done(); - }); - var testString = 'bad, horrible, negative, awful'; - jn1.receive({payload:testString}); - }); - }); - - it('should add a negative score for bad words - alternative property', function(done) { - var flow = [{id:"jn1",type:"sentiment",property:"foo",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.be.below(-10); - done(); - }); - var testString = 'bad, horrible, negative, awful'; - jn1.receive({foo:testString}); - }); - }); - - it('should allow you to override word scoring', function(done) { - var flow = [{id:"jn1",type:"sentiment",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.equal(20); - done(); - }); - var testString = 'sick, wicked'; - var overrides = {'sick': 10, 'wicked': 10 }; - jn1.receive({payload:testString,overrides:overrides}); - }); - }); - - it('should allow you to override word scoring - alternative property', function(done) { - var flow = [{id:"jn1",type:"sentiment",property:"foo",wires:[["jn2"]]}, - {id:"jn2", type:"helper"}]; - helper.load(sentimentNode, flow, function() { - var jn1 = helper.getNode("jn1"); - var jn2 = helper.getNode("jn2"); - jn2.on("input", function(msg) { - msg.should.have.property('sentiment'); - msg.sentiment.should.have.property('score'); - msg.sentiment.score.should.be.a.Number(); - msg.sentiment.score.should.equal(20); - done(); - }); - var testString = 'sick, wicked'; - var overrides = {'sick': 10, 'wicked': 10 }; - jn1.receive({foo:testString,overrides:overrides}); - }); - }); - -}); diff --git a/test/nodes/core/storage/28-tail_spec.js b/test/nodes/core/storage/28-tail_spec.js deleted file mode 100644 index 8c15efda5..000000000 --- a/test/nodes/core/storage/28-tail_spec.js +++ /dev/null @@ -1,206 +0,0 @@ -/** - * Copyright JS Foundation and other contributors, http://js.foundation - * - * 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 os = require('os'); -var fs = require('fs-extra'); -var sinon = require('sinon'); -var tailNode = require("nr-test-utils").require("@node-red/nodes/core/storage/28-tail.js"); -var helper = require("node-red-node-test-helper"); - -describe('tail Node', function() { - - var wait = 150; - 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); - }); - }); - - if (os.type() !== "Windows_NT") { - 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('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"); - },wait); - }); - }); - - it('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"); - },wait); - }); - }); - - it('should work in binary mode', function(done) { - var flow = [{id:"tailNode1", type:"tail", name: "tailNode", "filetype":"binary", "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.toString().should.equal("Tail message line 7\nTail message line 8\n"); - done(); - }); - setTimeout( function() { - fs.appendFileSync(fileToTail, "Tail message line 7\nTail message line 8\n"); - },wait); - }); - }); - - it('should handle a non-existent file', function(done) { - fs.writeFileSync(fileToTail, "Tail message line.\n"); - 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.unlinkSync(fileToTail); - },500); - setTimeout( function() { - fs.writeFile(fileToTail, "Tail message line\n"); - },1000); - }); - }); - } - - it('should throw an error if run on Windows', function() { - // Stub os platform so we can make it look like windows - var os = require('os'); - var spy = sinon.stub(os, 'platform', function(arg) { return("windows"); }); - - /*jshint immed: false */ - try { - (function() { tailNode("1234"); }).should.throw(); - } catch (err) { - throw err; - } - finally { - os.platform.restore(); - } - }); - - /* - 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(); - },wait); - }); - }); - */ - -});