From 10277aa956e5574310aec65c37c200a05c3303db Mon Sep 17 00:00:00 2001 From: dceejay Date: Sun, 8 Mar 2015 15:26:24 +0000 Subject: [PATCH] revert/redo tests for api/index, log and Node_spec --- test/red/api/index_spec.js | 30 ++++++++++++++++++++++++- test/red/log_spec.js | 6 ++++- test/red/nodes/Node_spec.js | 45 ++++++++++++++++++++++++++++--------- 3 files changed, 69 insertions(+), 12 deletions(-) diff --git a/test/red/api/index_spec.js b/test/red/api/index_spec.js index 64bf0405e..1fc184383 100644 --- a/test/red/api/index_spec.js +++ b/test/red/api/index_spec.js @@ -27,7 +27,7 @@ describe("api index", function() { describe("disables editor", function() { before(function() { - settings.init({disableEditor:true,adminAuth:{type: "credentials",users:[],default:{permissions:"read"}}}); + settings.init({disableEditor:true}); app = express(); api.init(app); }); @@ -50,6 +50,34 @@ describe("api index", function() { .get("/settings") .expect(200,done) }); + it('does not serve auth', function(done) { + request(app) + .get("/auth/login") + .expect(404,done) + }); + }); + + describe("can serve auth", function() { + before(function() { + //settings.init({disableEditor:true}); + settings.init({adminAuth:{type: "credentials",users:[],default:{permissions:"read"}}}); + app = express(); + api.init(app); + }); + after(function() { + settings.reset(); + }); + + it('it now serves auth', function(done) { + request(app) + .get("/auth/login") + .expect(200) + .end(function(err,res) { + if (err) { return done(err); } + res.body.type.should.equal("credentials"); + done(); + }); + }); }); describe("enables editor", function() { diff --git a/test/red/log_spec.js b/test/red/log_spec.js index 92d87f4ca..15bf867d3 100644 --- a/test/red/log_spec.js +++ b/test/red/log_spec.js @@ -49,10 +49,14 @@ describe("red/log", function() { sinon.assert.calledWithMatch(util.log,""); }); - it('it checks level of metrics', function() { + it('it checks metrics are enabled', function() { log.metric().should.equal(true); var sett = {logging: { console: { level: 'info', metrics: false } } }; log.init(sett); }); + it('it checks metrics are disabled', function() { + log.metric().should.equal(false); + }); + }); diff --git a/test/red/nodes/Node_spec.js b/test/red/nodes/Node_spec.js index 78896a77f..dbf658178 100644 --- a/test/red/nodes/Node_spec.js +++ b/test/red/nodes/Node_spec.js @@ -72,7 +72,7 @@ describe('Node', function() { testdone(); }); }); - + it('allows multiple close handlers to be registered',function(testdone) { var n = new RedNode({id:'123',type:'abc'}); var callbacksClosed = 0; @@ -113,7 +113,7 @@ describe('Node', function() { }); n.receive(message); }); - + it('writes metric info with undefined msg', function(done){ var n = new RedNode({id:'123',type:'abc'}); n.on('input',function(msg) { @@ -123,7 +123,7 @@ describe('Node', function() { }); n.receive(); }); - + it('writes metric info with null msg', function(done){ var n = new RedNode({id:'123',type:'abc'}); n.on('input',function(msg) { @@ -170,7 +170,7 @@ describe('Node', function() { var rcvdCount = 0; - n2.on('input',function(msg) { + n2.on('input',function(msg) { if (rcvdCount === 0) { // first msg sent, don't clone should.deepEqual(msg,messages[rcvdCount]); @@ -205,7 +205,7 @@ describe('Node', function() { var rcvdCount = 0; - // first message sent, don't clone + // first message sent, don't clone // message uuids should match n2.on('input',function(msg) { should.deepEqual(msg,messages[0]); @@ -273,7 +273,7 @@ describe('Node', function() { var flowGet = sinon.stub(flows,"get",function(id) { return {'n1':n1,'n2':n2}[id]; }); - + var messages = [ {payload:"hello world"}, {payload:"hello world again"} @@ -304,7 +304,7 @@ describe('Node', function() { var message = {payload: "foo", cloned: cloned, req: req, res: res}; var rcvdCount = 0; - + // first message to be sent, so should not be cloned n2.on('input',function(msg) { should.deepEqual(msg, message); @@ -404,7 +404,7 @@ describe('Node', function() { }); describe('#error', function() { - it('produces an error message', function(done) { + it('handles a null error message', function(done) { var n = new RedNode({id:'123',type:'abc'}); var loginfo = {}; sinon.stub(Log, 'log', function(msg) { @@ -412,7 +412,7 @@ describe('Node', function() { }); sinon.stub(flows,"handleError", function(node,message,msg) { }); - + var message = {a:1}; n.error(null,message); @@ -422,11 +422,36 @@ describe('Node', function() { flows.handleError.args[0][0].should.eql(n); flows.handleError.args[0][1].should.eql(""); flows.handleError.args[0][2].should.eql(message); - + Log.log.restore(); flows.handleError.restore(); done(); }); + + it('produces an error message', function(done) { + var n = new RedNode({id:'123',type:'abc'}); + var loginfo = {}; + sinon.stub(Log, 'log', function(msg) { + loginfo = msg; + }); + sinon.stub(flows,"handleError", function(node,message,msg) { + }); + + var message = {a:2}; + + n.error("This is an error",message); + should.deepEqual({level:Log.ERROR, id:n.id, type:n.type, msg:"This is an error"}, loginfo); + + flows.handleError.called.should.be.true; + flows.handleError.args[0][0].should.eql(n); + flows.handleError.args[0][1].should.eql("This is an error"); + flows.handleError.args[0][2].should.eql(message); + + Log.log.restore(); + flows.handleError.restore(); + done(); + }); + }); describe('#metric', function() {