mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Add some test cases
This commit is contained in:
		| @@ -114,6 +114,174 @@ describe("api/auth/index",function() { | |||||||
|             }}); |             }}); | ||||||
|         }); |         }); | ||||||
|  |  | ||||||
|  |         it("returns login details - strategy - merged a adminAuth.module object to a adminAuth object", function(done) { | ||||||
|  |             auth.init({ | ||||||
|  |                 settings: { | ||||||
|  |                     adminAuth: { | ||||||
|  |                         type: "strategy", | ||||||
|  |                         strategy:{ | ||||||
|  |                             label:"test-strategy", | ||||||
|  |                             icon:"test-icon" | ||||||
|  |                         }, | ||||||
|  |                         tokens: [{ | ||||||
|  |                             token: "test-token", | ||||||
|  |                             user: "test-user", | ||||||
|  |                             scope: ["*"] | ||||||
|  |                         }] | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 log:{audit:function(){}} | ||||||
|  |             }); | ||||||
|  |             auth.login(null,{json: function(resp) { | ||||||
|  |                 resp.should.have.a.property("type","strategy"); | ||||||
|  |                 resp.should.have.a.property("prompts"); | ||||||
|  |                 resp.prompts.should.have.a.lengthOf(1); | ||||||
|  |                 resp.prompts[0].should.have.a.property("type","button"); | ||||||
|  |                 resp.prompts[0].should.have.a.property("label","test-strategy"); | ||||||
|  |                 resp.prompts[0].should.have.a.property("icon","test-icon"); | ||||||
|  |  | ||||||
|  |                 done(); | ||||||
|  |             }}); | ||||||
|  |         }); | ||||||
|  |  | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     describe("init", function() { | ||||||
|  |         var spyTokensInit; | ||||||
|  |         var spyUsersInit; | ||||||
|  |         beforeEach(function() { | ||||||
|  |             spyTokensInit = sinon.spy(Tokens,"init"); | ||||||
|  |             spyUsersInit = sinon.spy(Users,"init"); | ||||||
|  |         }); | ||||||
|  |         this.afterEach(function() { | ||||||
|  |             spyTokensInit.restore(); | ||||||
|  |             spyUsersInit.restore(); | ||||||
|  |         }); | ||||||
|  |         it("merges an adminAuth object and an adminAuth.module object - module object is null", function(done) { | ||||||
|  |             auth.init({ | ||||||
|  |                 settings: { | ||||||
|  |                     adminAuth: { | ||||||
|  |                         type: "strategy", | ||||||
|  |                         strategy:{ | ||||||
|  |                             label:"test-strategy", | ||||||
|  |                             icon:"test-icon" | ||||||
|  |                         }, | ||||||
|  |                         tokens: [{ | ||||||
|  |                             token: "test-token", | ||||||
|  |                             user: "test-user", | ||||||
|  |                             scope: ["*"] | ||||||
|  |                         }] | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 log:{audit:function(){}} | ||||||
|  |             }); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyTokensInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyUsersInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             done(); | ||||||
|  |         }); | ||||||
|  |         it("merges an adminAuth object and an adminAuth.module object - not conflict", function(done) { | ||||||
|  |             auth.init({ | ||||||
|  |                 settings: { | ||||||
|  |                     adminAuth: { | ||||||
|  |                         module: { | ||||||
|  |                             type: "strategy", | ||||||
|  |                             strategy:{ | ||||||
|  |                                 label:"test-strategy", | ||||||
|  |                                 icon:"test-icon" | ||||||
|  |                             } | ||||||
|  |                         }, | ||||||
|  |                         tokens: [{ | ||||||
|  |                             token: "test-token", | ||||||
|  |                             user: "test-user", | ||||||
|  |                             scope: ["*"] | ||||||
|  |                         }] | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 log:{audit:function(){}} | ||||||
|  |             }); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyTokensInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyUsersInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             done(); | ||||||
|  |         }); | ||||||
|  |         it("merges an adminAuth object and an adminAuth.module object - conflict", function(done) { | ||||||
|  |             auth.init({ | ||||||
|  |                 settings: { | ||||||
|  |                     adminAuth: { | ||||||
|  |                         module: { | ||||||
|  |                             type: "strategy", | ||||||
|  |                             strategy:{ | ||||||
|  |                                 label:"test-strategy", | ||||||
|  |                                 icon:"test-icon" | ||||||
|  |                             } | ||||||
|  |                         }, | ||||||
|  |                         type: "credentials", | ||||||
|  |                         tokens: [{ | ||||||
|  |                             token: "test-token", | ||||||
|  |                             user: "test-user", | ||||||
|  |                             scope: ["*"] | ||||||
|  |                         }] | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 log:{audit:function(){}} | ||||||
|  |             }); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyTokensInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyTokensInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyTokensInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyTokensInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("type","strategy"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("label","test-strategy"); | ||||||
|  |             spyUsersInit.args[0][0].strategy.should.have.a.property("icon","test-icon"); | ||||||
|  |             spyUsersInit.args[0][0].should.have.a.property("tokens"); | ||||||
|  |             spyUsersInit.args[0][0].tokens.should.have.a.lengthOf(1); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("token","test-token"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("user","test-user"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].should.have.a.property("scope"); | ||||||
|  |             spyUsersInit.args[0][0].tokens[0].scope.should.have.a.lengthOf(1); | ||||||
|  |             done(); | ||||||
|  |         }); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| }); | }); | ||||||
|   | |||||||
| @@ -92,6 +92,29 @@ describe("api/auth/tokens", function() { | |||||||
|                 }); |                 }); | ||||||
|             }); |             }); | ||||||
|         }); |         }); | ||||||
|  |  | ||||||
|  |         it('returns a valid api token', function(done) { | ||||||
|  |             Tokens.init({ | ||||||
|  |                 tokens: [{ | ||||||
|  |                     token: "1234", | ||||||
|  |                     user: "fred", | ||||||
|  |                 }]     | ||||||
|  |             },{ | ||||||
|  |                 getSessions:function() { | ||||||
|  |                     return when.resolve({}); | ||||||
|  |                 } | ||||||
|  |             }).then(function() { | ||||||
|  |                 Tokens.get("1234").then(function(token) { | ||||||
|  |                     try { | ||||||
|  |                         token.should.have.a.property("user","fred"); | ||||||
|  |                         done(); | ||||||
|  |                     } catch(err) { | ||||||
|  |                         done(err); | ||||||
|  |                     } | ||||||
|  |                 }); | ||||||
|  |             }); | ||||||
|  |  | ||||||
|  |         }); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     describe("#create",function() { |     describe("#create",function() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user