reconnect is now working
This commit is contained in:
		
							
								
								
									
										86
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								test/test.js
									
									
									
									
									
								
							| @@ -2,44 +2,74 @@ | ||||
| require("typings-test"); | ||||
| require("should"); | ||||
| const smartsocket = require("../dist/index"); | ||||
| const q = require("q"); | ||||
| let testSmartsocket; | ||||
| let testSmartsocketClient; | ||||
| let testSocketFunction1; | ||||
| let testConfig = { | ||||
|     port: 3000 | ||||
| }; | ||||
| describe("smartsocket", function () { | ||||
|     it("should create a new smartsocket", function () { | ||||
|         testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|         testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket); | ||||
|     }); | ||||
|     it("should register a new Function", function () { | ||||
|     }); | ||||
|     it("should start listening when .started is called", function () { | ||||
|         testSmartsocket.startServer(); | ||||
|     }); | ||||
|     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" | ||||
|     describe("class Smartsocket", function () { | ||||
|         it("should create a new smartsocket", function () { | ||||
|             testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|             testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket); | ||||
|         }); | ||||
|         testSmartsocketClient.connect() | ||||
|             .then(() => { | ||||
|             done(); | ||||
|         it("should start listening when .started is called", function () { | ||||
|             testSmartsocket.startServer(); | ||||
|         }); | ||||
|     }); | ||||
|     it("client should disconnect and reconnect", function (done) { | ||||
|         this.timeout(10000); | ||||
|         testSmartsocketClient.disconnect() | ||||
|             .then(testSmartsocketClient.connect) | ||||
|             .then(() => { | ||||
|             done(); | ||||
|     describe("class SocketRole", function () { | ||||
|     }); | ||||
|     describe("class SocketFunction", function () { | ||||
|         it("should register a new Function", function () { | ||||
|             testSocketFunction1 = new smartsocket.SocketFunction({ | ||||
|                 funcName: "testFunction1", | ||||
|                 funcDef: () => { | ||||
|                     let done = q.defer(); | ||||
|                     return done.promise; | ||||
|                 }, | ||||
|                 allowedRoles: [] | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
|     it("should close the server", function () { | ||||
|         testSmartsocket.closeServer(); | ||||
|     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: undefined | ||||
|             }); | ||||
|             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 () { | ||||
|         }); | ||||
|     }); | ||||
|     describe("terminating smartsocket", function () { | ||||
|         it("should close the server", function () { | ||||
|             testSmartsocket.closeServer(); | ||||
|         }); | ||||
|     }); | ||||
| }); | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUVoQixNQUFPLFdBQVcsV0FBVyxlQUFlLENBQUMsQ0FBQztBQUU5QyxJQUFJLGVBQXdDLENBQUM7QUFDN0MsSUFBSSxxQkFBb0QsQ0FBQztBQUV6RCxJQUFJLFVBQVUsR0FBRztJQUNiLElBQUksRUFBQyxJQUFJO0NBQ1osQ0FBQTtBQUVELFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDcEIsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ2xDLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtJQUVyQyxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyxnREFBZ0QsRUFBRTtRQUNqRCxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUE7SUFDRixFQUFFLENBQUMsd0RBQXdELEVBQUUsVUFBVSxJQUFJO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIscUJBQXFCLEdBQUcsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDdEQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1lBQ3JCLEdBQUcsRUFBRSxrQkFBa0I7WUFDdkIsUUFBUSxFQUFDLGNBQWM7WUFDdkIsS0FBSyxFQUFFLGFBQWE7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gscUJBQXFCLENBQUMsT0FBTyxFQUFFO2FBQzFCLElBQUksQ0FBQztZQUNGLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxVQUFVLElBQUk7UUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixxQkFBcUIsQ0FBQyxVQUFVLEVBQUU7YUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzthQUNuQyxJQUFJLENBQUM7WUFDRixJQUFJLEVBQUUsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7UUFDMUIsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ== | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUVoQixNQUFPLFdBQVcsV0FBVyxlQUFlLENBQUMsQ0FBQztBQUM5QyxNQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUV4QixJQUFJLGVBQXdDLENBQUM7QUFDN0MsSUFBSSxxQkFBb0QsQ0FBQztBQUN6RCxJQUFJLG1CQUE4QyxDQUFDO0FBRW5ELElBQUksVUFBVSxHQUFHO0lBQ2IsSUFBSSxFQUFFLElBQUk7Q0FDYixDQUFBO0FBRUQsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUNwQixRQUFRLENBQUMsbUJBQW1CLEVBQUU7UUFDMUIsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1lBQ2xDLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDekUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxnREFBZ0QsRUFBRTtZQUNqRCxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUU3QixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtRQUM3QixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDakMsbUJBQW1CLEdBQUcsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDO2dCQUNqRCxRQUFRLEVBQUMsZUFBZTtnQkFDeEIsT0FBTyxFQUFFO29CQUNMLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLENBQUM7Z0JBQ0QsWUFBWSxFQUFDLEVBQUU7YUFDbEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtRQUNoQyxFQUFFLENBQUMsd0RBQXdELEVBQUUsVUFBVSxJQUFJO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIscUJBQXFCLEdBQUcsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3RELElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsR0FBRyxFQUFFLGtCQUFrQjtnQkFDdkIsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7WUFDSCxxQkFBcUIsQ0FBQyxPQUFPLEVBQUU7aUJBQzFCLElBQUksQ0FBQztnQkFDRixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsd0NBQXdDLEVBQUUsVUFBVSxJQUFJO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIscUJBQXFCLENBQUMsVUFBVSxFQUFFO2lCQUM3QixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQixVQUFVLENBQUM7b0JBQ1AscUJBQXFCLENBQUMsT0FBTyxFQUFFO3lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUMzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEIsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQztnQkFDRixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFFM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtRQUNoQyxFQUFFLENBQUMseUJBQXlCLEVBQUU7WUFDMUIsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyJ9 | ||||
							
								
								
									
										89
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -2,47 +2,78 @@ import "typings-test"; | ||||
| import "should"; | ||||
| import socketIoClient = require("socket.io-client"); | ||||
| import smartsocket = require("../dist/index"); | ||||
| import q = require("q"); | ||||
|  | ||||
| let testSmartsocket: smartsocket.Smartsocket; | ||||
| let testSmartsocketClient: smartsocket.SmartsocketClient; | ||||
| let testSocketFunction1:smartsocket.SocketFunction; | ||||
|  | ||||
| let testConfig = { | ||||
|     port:3000 | ||||
|     port: 3000 | ||||
| } | ||||
|  | ||||
| describe("smartsocket", function () { | ||||
|     it("should create a new smartsocket", function () { | ||||
|         testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|         testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket); | ||||
|     describe("class Smartsocket", function () { | ||||
|         it("should create a new smartsocket", function () { | ||||
|             testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port }); | ||||
|             testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket); | ||||
|         }); | ||||
|         it("should start listening when .started is called", function () { | ||||
|             testSmartsocket.startServer(); | ||||
|         }); | ||||
|     }); | ||||
|     it("should register a new Function", function () { | ||||
|     describe("class SocketRole", function(){ | ||||
|  | ||||
|     }) | ||||
|     it("should start listening when .started is called", function () { | ||||
|         testSmartsocket.startServer(); | ||||
|     }) | ||||
|     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" | ||||
|     describe("class SocketFunction", function () { | ||||
|         it("should register a new Function", function () { | ||||
|             testSocketFunction1 = new smartsocket.SocketFunction({ | ||||
|                 funcName:"testFunction1", | ||||
|                 funcDef: () => { | ||||
|                     let done = q.defer(); | ||||
|                     return done.promise; | ||||
|                 }, | ||||
|                 allowedRoles:[] | ||||
|             }); | ||||
|         }); | ||||
|         testSmartsocketClient.connect() | ||||
|             .then(() => { | ||||
|                 done(); | ||||
|     }); | ||||
|     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: undefined | ||||
|             }); | ||||
|             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("client should disconnect and reconnect", function (done) { | ||||
|         this.timeout(10000); | ||||
|         testSmartsocketClient.disconnect() | ||||
|             .then(testSmartsocketClient.connect) | ||||
|             .then(() => { | ||||
|                 done(); | ||||
|             }); | ||||
|     }); | ||||
|     it("should close the server", function () { | ||||
|         testSmartsocket.closeServer(); | ||||
|     }); | ||||
|     describe("terminating smartsocket", function () { | ||||
|         it("should close the server", function () { | ||||
|             testSmartsocket.closeServer(); | ||||
|         }); | ||||
|     }) | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user