update to latest standards
This commit is contained in:
		
							
								
								
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| import "typings-test"; | ||||
							
								
								
									
										108
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								test/test.js
									
									
									
									
									
								
							| @@ -1,108 +0,0 @@ | ||||
| "use strict"; | ||||
| require("typings-test"); | ||||
| const should = require("should"); | ||||
| const smartsocket = require("../dist/index"); | ||||
| const q = require("q"); | ||||
| const nodehash = require("nodehash"); | ||||
| let testSmartsocket; | ||||
| let testSmartsocketClient; | ||||
| let testSocketRole1; | ||||
| let testSocketFunction1; | ||||
| let testConfig = { | ||||
|     port: 3000 | ||||
| }; | ||||
| describe("smartsocket", function () { | ||||
|     describe("class Smartsocket", function () { | ||||
|         it("should create a new smartsocket", function () { | ||||
|             testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|             should(testSmartsocket).be.instanceOf(smartsocket.Smartsocket); | ||||
|         }); | ||||
|         it("should start listening when .started is called", function () { | ||||
|             testSmartsocket.startServer(); | ||||
|         }); | ||||
|     }); | ||||
|     describe("class SocketRole", function () { | ||||
|         it("should add a socketrole", function () { | ||||
|             testSocketRole1 = new smartsocket.SocketRole({ | ||||
|                 name: "testRole1", | ||||
|                 passwordHash: nodehash.sha256FromStringSync("testPassword") | ||||
|             }); | ||||
|             testSmartsocket.addSocketRoles([testSocketRole1]); | ||||
|         }); | ||||
|     }); | ||||
|     describe("class SocketFunction", function () { | ||||
|         it("should register a new Function", function () { | ||||
|             testSocketFunction1 = new smartsocket.SocketFunction({ | ||||
|                 funcName: "testFunction1", | ||||
|                 funcDef: (dataArg) => { | ||||
|                     let done = q.defer(); | ||||
|                     done.resolve(dataArg); | ||||
|                     return done.promise; | ||||
|                 }, | ||||
|                 allowedRoles: [testSocketRole1] | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
|     describe("class SmartsocketClient", function () { | ||||
|         it("should react to a new websocket connection from client", function (done) { | ||||
|             this.timeout(10000); | ||||
|             testSmartsocketClient = new smartsocket.SmartsocketClient({ | ||||
|                 port: testConfig.port, | ||||
|                 url: "http://localhost", | ||||
|                 password: "testPassword", | ||||
|                 alias: "testClient1", | ||||
|                 role: "testRole1" | ||||
|             }); | ||||
|             testSmartsocketClient.connect() | ||||
|                 .then(() => { | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
|         it("client should disconnect and reconnect", function (done) { | ||||
|             this.timeout(10000); | ||||
|             testSmartsocketClient.disconnect() | ||||
|                 .then(() => { | ||||
|                 let done = q.defer(); | ||||
|                 setTimeout(() => { | ||||
|                     testSmartsocketClient.connect() | ||||
|                         .then(done.resolve); | ||||
|                 }, 0); | ||||
|                 return done.promise; | ||||
|             }) | ||||
|                 .then(() => { | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
|         it("2 clients should connect in parallel", function () { | ||||
|         }); | ||||
|         it("should be able to make a functionCall from client to server", function (done) { | ||||
|             this.timeout(5000); | ||||
|             testSmartsocketClient.serverCall("testFunction1", { | ||||
|                 value1: "hello" | ||||
|             }).then((dataArg) => { | ||||
|                 console.log(dataArg); | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
|         it("should be able to make a functionCall from server to client", function (done) { | ||||
|             this.timeout(5000); | ||||
|             let targetSocket = (() => { | ||||
|                 return smartsocket.allSocketConnections.find((socketConnectionArg) => { | ||||
|                     return socketConnectionArg.alias === "testClient1"; | ||||
|                 }); | ||||
|             })(); | ||||
|             testSmartsocket.clientCall("testFunction1", { | ||||
|                 value1: "helloFromServer" | ||||
|             }, targetSocket).then((dataArg) => { | ||||
|                 console.log(dataArg); | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
|     describe("terminating smartsocket", function () { | ||||
|         it("should close the server", function () { | ||||
|             testSmartsocket.closeServer(); | ||||
|         }); | ||||
|     }); | ||||
| }); | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsTUFBTyxNQUFNLFdBQVcsUUFBUSxDQUFDLENBQUM7QUFFbEMsTUFBTyxXQUFXLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDOUMsTUFBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTyxRQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFFdEMsSUFBSSxlQUF3QyxDQUFDO0FBQzdDLElBQUkscUJBQW9ELENBQUM7QUFDekQsSUFBSSxlQUF1QyxDQUFDO0FBQzVDLElBQUksbUJBQStDLENBQUM7QUFFcEQsSUFBSSxVQUFVLEdBQUc7SUFDYixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3BCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtRQUMxQixFQUFFLENBQUMsaUNBQWlDLEVBQUU7WUFDbEMsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN6RSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsZ0RBQWdELEVBQUU7WUFDakQsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDekIsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1lBQzFCLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUM7Z0JBQ3pDLElBQUksRUFBRSxXQUFXO2dCQUNqQixZQUFZLEVBQUUs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 | ||||
							
								
								
									
										203
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										203
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -1,9 +1,9 @@ | ||||
| import "typings-test"; | ||||
| import should = require("should"); | ||||
| import socketIoClient = require("socket.io-client"); | ||||
| import smartsocket = require("../dist/index"); | ||||
| import q = require("q"); | ||||
| import nodehash = require("nodehash") | ||||
| import { expect, tap } from 'tapbundle' | ||||
|  | ||||
| import socketIoClient = require('socket.io-client') | ||||
| import smartsocket = require('../dist/index') | ||||
| import smartq = require('smartq') | ||||
| import nodehash = require('nodehash') | ||||
|  | ||||
| let testSmartsocket: smartsocket.Smartsocket | ||||
| let testSmartsocketClient: smartsocket.SmartsocketClient | ||||
| @@ -11,102 +11,105 @@ let testSocketRole1: smartsocket.SocketRole | ||||
| let testSocketFunction1: smartsocket.SocketFunction | ||||
|  | ||||
| let testConfig = { | ||||
|     port: 3000 | ||||
|   port: 3000 | ||||
| } | ||||
|  | ||||
| describe("smartsocket", function () { | ||||
|     describe("class Smartsocket", function () { | ||||
|         it("should create a new smartsocket", function () { | ||||
|             testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|             should(testSmartsocket).be.instanceOf(smartsocket.Smartsocket); | ||||
|         }); | ||||
|         it("should start listening when .started is called", function () { | ||||
|             testSmartsocket.startServer(); | ||||
|         }); | ||||
|     }); | ||||
|     describe("class SocketRole", function () { | ||||
|         it("should add a socketrole", function () { | ||||
|             testSocketRole1 = new smartsocket.SocketRole({ | ||||
|                 name: "testRole1", | ||||
|                 passwordHash: nodehash.sha256FromStringSync("testPassword") | ||||
|             }); | ||||
|             testSmartsocket.addSocketRoles([testSocketRole1]); | ||||
|         }); | ||||
|     }) | ||||
|     describe("class SocketFunction", function () { | ||||
|         it("should register a new Function", function () { | ||||
|             testSocketFunction1 = new smartsocket.SocketFunction({ | ||||
|                 funcName: "testFunction1", | ||||
|                 funcDef: (dataArg) => { | ||||
|                     let done = q.defer(); | ||||
|                     done.resolve(dataArg); | ||||
|                     return done.promise; | ||||
|                 }, | ||||
|                 allowedRoles: [testSocketRole1] | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
|     describe("class SmartsocketClient", function () { | ||||
|         it("should react to a new websocket connection from client", function (done) { | ||||
|             this.timeout(10000); | ||||
|             testSmartsocketClient = new smartsocket.SmartsocketClient({ | ||||
|                 port: testConfig.port, | ||||
|                 url: "http://localhost", | ||||
|                 password: "testPassword", | ||||
|                 alias: "testClient1", | ||||
|                 role: "testRole1" | ||||
|             }); | ||||
|             testSmartsocketClient.connect() | ||||
|                 .then(() => { | ||||
|                     done(); | ||||
|                 }); | ||||
|         }); | ||||
|         it("client should disconnect and reconnect", function (done) { | ||||
|             this.timeout(10000); | ||||
|             testSmartsocketClient.disconnect() | ||||
|                 .then(() => { | ||||
|                     let done = q.defer(); | ||||
|                     setTimeout(() => { | ||||
|                         testSmartsocketClient.connect() | ||||
|                             .then(done.resolve) | ||||
|                     }, 0) | ||||
|                     return done.promise; | ||||
|                 }) | ||||
|                 .then(() => { | ||||
|                     done(); | ||||
|                 }); | ||||
|         }); | ||||
|         it("2 clients should connect in parallel", function () { | ||||
| // class smartsocket | ||||
| tap.test('should create a new smartsocket', async () => { | ||||
|   testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }) | ||||
|   expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket) | ||||
| }) | ||||
|  | ||||
|         }); | ||||
|         it("should be able to make a functionCall from client to server", function (done) { | ||||
|             this.timeout(5000); | ||||
|             testSmartsocketClient.serverCall("testFunction1", { | ||||
|                 value1: "hello" | ||||
|             }).then((dataArg) => { | ||||
|                 console.log(dataArg); | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
|         it("should be able to make a functionCall from server to client", function (done) { | ||||
|             this.timeout(5000); | ||||
|             let targetSocket = (() => { | ||||
|                 return smartsocket.allSocketConnections.find((socketConnectionArg) => { | ||||
|                     return socketConnectionArg.alias === "testClient1"; | ||||
|                 }); | ||||
|             })(); | ||||
|             testSmartsocket.clientCall("testFunction1", { | ||||
|                 value1: "helloFromServer" | ||||
|             }, targetSocket).then((dataArg) => { | ||||
|                 console.log(dataArg); | ||||
|                 done(); | ||||
|             }); | ||||
|         }); | ||||
| tap.test('should start listening when .started is called', async () => { | ||||
|   testSmartsocket.startServer() | ||||
| }) | ||||
|  | ||||
|     }); | ||||
|     describe("terminating smartsocket", function () { | ||||
|         it("should close the server", function () { | ||||
|             testSmartsocket.closeServer(); | ||||
|         }); | ||||
| // class socketrole | ||||
| tap.test('should add a socketrole', async () => { | ||||
|   testSocketRole1 = new smartsocket.SocketRole({ | ||||
|     name: 'testRole1', | ||||
|     passwordHash: nodehash.sha256FromStringSync('testPassword') | ||||
|   }) | ||||
|   testSmartsocket.addSocketRoles([ testSocketRole1 ]) | ||||
| }) | ||||
|  | ||||
| // class SocketFunction | ||||
| tap.test('should register a new Function', async () => { | ||||
|   testSocketFunction1 = new smartsocket.SocketFunction({ | ||||
|     funcName: 'testFunction1', | ||||
|     funcDef: (dataArg) => { | ||||
|       let done = smartq.defer() | ||||
|       done.resolve(dataArg) | ||||
|       return done.promise | ||||
|     }, | ||||
|     allowedRoles: [ testSocketRole1 ] | ||||
|   }) | ||||
| }) | ||||
|  | ||||
| // class SmartsocketClient | ||||
| tap.test('should react to a new websocket connection from client',async () => { | ||||
|   let done = smartq.defer() | ||||
|   testSmartsocketClient = new smartsocket.SmartsocketClient({ | ||||
|     port: testConfig.port, | ||||
|     url: 'http://localhost', | ||||
|     password: 'testPassword', | ||||
|     alias: 'testClient1', | ||||
|     role: 'testRole1' | ||||
|   }) | ||||
|   testSmartsocketClient.connect() | ||||
|     .then(() => { | ||||
|       done.resolve() | ||||
|     }) | ||||
| }); | ||||
|   await done.promise | ||||
| }) | ||||
| tap.test('client should disconnect and reconnect', async () => { | ||||
|   let done = smartq.defer() | ||||
|   testSmartsocketClient.disconnect() | ||||
|     .then(() => { | ||||
|       let done = smartq.defer() | ||||
|       setTimeout(() => { | ||||
|         testSmartsocketClient.connect() | ||||
|           .then(done.resolve) | ||||
|       }, 0) | ||||
|       return done.promise | ||||
|     }) | ||||
|     .then(() => { | ||||
|       done.resolve() | ||||
|     }) | ||||
|   await done.promise | ||||
| }) | ||||
| tap.test('2 clients should connect in parallel', async () => { | ||||
|   // nothing here | ||||
| }) | ||||
| tap.test('should be able to make a functionCall from client to server', async () => { | ||||
|   let done = smartq.defer() | ||||
|   testSmartsocketClient.serverCall('testFunction1', { | ||||
|     value1: 'hello' | ||||
|   }).then((dataArg) => { | ||||
|     console.log(dataArg) | ||||
|     done.resolve() | ||||
|   }) | ||||
|   await done.promise | ||||
| }) | ||||
|  | ||||
| tap.test('should be able to make a functionCall from server to client', async () => { | ||||
|   let done = smartq.defer() | ||||
|   let targetSocket = (() => { | ||||
|     return smartsocket.allSocketConnections.find((socketConnectionArg) => { | ||||
|       return socketConnectionArg.alias === 'testClient1' | ||||
|     }) | ||||
|   })() | ||||
|   testSmartsocket.clientCall('testFunction1', { | ||||
|     value1: 'helloFromServer' | ||||
|   }, targetSocket).then((dataArg) => { | ||||
|     console.log(dataArg) | ||||
|     done.resolve() | ||||
|   }) | ||||
| }) | ||||
|  | ||||
| // terminate | ||||
| tap.test('should close the server', async () => { | ||||
|   testSmartsocket.closeServer() | ||||
| }) | ||||
|  | ||||
| tap.start() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user