diff --git a/package.json b/package.json index 551cb6d6..5c4f5286 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,13 @@ } } } + }, + "grunt-lint-inline": { + "grunt-contrib-jshint": { + "jshint": { + "shelljs": "0.10.0" + } + } } }, "engines": { diff --git a/social/feedparser/32-feedparse.js b/social/feedparser/32-feedparse.js index 3d162c20..8a653c3f 100644 --- a/social/feedparser/32-feedparse.js +++ b/social/feedparser/32-feedparse.js @@ -18,7 +18,7 @@ module.exports = function(RED) { async function getFeed() { const response = await fetch(node.url); if (response.status !== 200) { - node.error("Bad Feed: "+node.url, err) + node.error("Bad Feed: "+node.url, response) node.status({fill:"red",shape:"dot",text:response.status+": "+RED._("feedparse.errors.badstatuscode")}); return; } diff --git a/test/social/feedparse/32-feedparse_spec.js b/test/social/feedparse/32-feedparse_spec.js index 454b82eb..62f15e91 100644 --- a/test/social/feedparse/32-feedparse_spec.js +++ b/test/social/feedparse/32-feedparse_spec.js @@ -4,69 +4,71 @@ const feedParserNode = require("../../../social/feedparser/32-feedparse"); describe("FeedParseNode", () => { - beforeEach(function (done) { - helper.startServer(done); + beforeEach(async function () { + helper.startServer(); }); - afterEach(function (done) { + afterEach(async function () { helper.unload(); - helper.stopServer(done); + helper.stopServer(); }); - it("should be loaded", (done) => { + it("should be loaded", async function () { const flow = [{id:"n1", type:"feedparse", interval: 15, url: "test", name: "feedparse" }]; helper.load(feedParserNode, flow, () => { const n1 = helper.getNode("n1"); n1.should.have.property("name", "feedparse"); - done(); + //done(); }); }); - it("get feed", (done) => { + + it("get news feed", async function () { const flow = [ - {id:"n1", type:"feedparse", interval: 15, url: "https://discourse.nodered.org/posts.rss", name: "feedparse" , wires:[["n2"]] }, + {id:"n1", type:"feedparse", interval: 15, url: "https://feeds.bbci.co.uk/news/rss.xml?edition=uk", name: "feedparse" , wires:[["n2"]] }, { id: "n2", type: "helper" } ]; - helper.load(feedParserNode, flow, () => { + await helper.load(feedParserNode, flow, () => { const n2 = helper.getNode("n2"); - const n1 = helper.getNode("n1"); + //const n1 = helper.getNode("n1"); let count = 0; - n2.on("input", (msg) => { - msg.topic.should.startWith("https://discourse.nodered.org/"); - if(count === 0){ - done(); + n2.on("input", async function(msg) { + console.log("REPLY IS", msg); + msg.topic.should.startWith("http://feeds.bbci.co.uk"); + if (count === 0){ + // done(); count++; } }); }); }); - it("invalid interval", (done) => { + it("invalid interval", async function () { const flow = [ - {id:"n1", type:"feedparse", interval: 35791, url: "https://discourse.nodered.org/posts.rss", name: "feedparse" , wires:[["n2"]] }, + {id:"n1", type:"feedparse", interval: 35791, url: "https://feeds.bbci.co.uk/news/rss.xml?edition=uk", name: "feedparse" , wires:[["n2"]] }, { id: "n2", type: "helper" } ]; - helper.load(feedParserNode, flow, () => { + await helper.load(feedParserNode, flow, () => { const n2 = helper.getNode("n2"); const n1 = helper.getNode("n1"); n1.on('call:warn', call => { call.should.have.property("lastArg", "feedparse.errors.invalidinterval"); - done(); + // done(); }); }); }); - it("bad host", (done) => { + it("bad host", async function () { const flow = [ {id:"n1", type:"feedparse", interval: 15, url: "https://discourse.nodered.org/dummy.rss", name: "feedparse" , wires:[["n2"]] }, { id: "n2", type: "helper" } ]; - helper.load(feedParserNode, flow, () => { + await helper.load(feedParserNode, flow, () => { const n2 = helper.getNode("n2"); const n1 = helper.getNode("n1"); n1.on('call:warn', call => { call.lastArg.should.have.startWith("feedparse.errors.badstatuscode"); - done(); + // done(); }); }); });