unit tests, and some cleaning up
This commit is contained in:
37
node_modules/.cache/nyc/015128acb467cebb4cd4bdd42bb5f5e3698894e5207c6ebd8a349f344baa729f.js
generated
vendored
Normal file
37
node_modules/.cache/nyc/015128acb467cebb4cd4bdd42bb5f5e3698894e5207c6ebd8a349f344baa729f.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="d5a5c0b1c501b10faedee0bc82acc612e2afecb4";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:11},end:{line:3,column:40}},"2":{start:{line:4,column:13},end:{line:4,column:35}},"3":{start:{line:5,column:12},end:{line:5,column:28}},"4":{start:{line:6,column:16},end:{line:6,column:29}},"5":{start:{line:7,column:10},end:{line:7,column:34}},"6":{start:{line:8,column:13},end:{line:8,column:33}},"7":{start:{line:9,column:11},end:{line:9,column:25}},"8":{start:{line:10,column:10},end:{line:10,column:67}},"9":{start:{line:11,column:15},end:{line:11,column:33}},"10":{start:{line:15,column:0},end:{line:50,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:36},end:{line:50,column:1}},line:15}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[6]++,require('../server'));var name=(cov_h9a3mwwe1.s[7]++,'test channel');var url=(cov_h9a3mwwe1.s[8]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[9]++,new WebSocket(url));var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[10]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/015128acb467cebb4cd4bdd42bb5f5e3698894e5207c6ebd8a349f344baa729f.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/015128acb467cebb4cd4bdd42bb5f5e3698894e5207c6ebd8a349f344baa729f.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
42
node_modules/.cache/nyc/120c7cc1df9fcfc4b08ff2e947c53972f008d85c26ff3d09e1c9508c8490cac7.js
generated
vendored
Normal file
42
node_modules/.cache/nyc/120c7cc1df9fcfc4b08ff2e947c53972f008d85c26ff3d09e1c9508c8490cac7.js
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="4d8f0fc7ce68fac26e9178a0ef3264e5c0687664";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:11},end:{line:3,column:40}},"2":{start:{line:4,column:13},end:{line:4,column:35}},"3":{start:{line:5,column:12},end:{line:5,column:28}},"4":{start:{line:6,column:16},end:{line:6,column:29}},"5":{start:{line:7,column:10},end:{line:7,column:34}},"6":{start:{line:15,column:0},end:{line:50,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:36},end:{line:50,column:1}},line:15}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));// var server = require('../server');
|
||||
// var name: string = 'test channel';
|
||||
// var url: string = `wss://${app.hostname}:${app.port}?token=${app.devToken}`;
|
||||
// var wsClient = new WebSocket(url);
|
||||
// var channel: ChannelBase;
|
||||
// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[6]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/120c7cc1df9fcfc4b08ff2e947c53972f008d85c26ff3d09e1c9508c8490cac7.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/120c7cc1df9fcfc4b08ff2e947c53972f008d85c26ff3d09e1c9508c8490cac7.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,qCAAqC;AAErC,qCAAqC;AACrC,+EAA+E;AAC/E,qCAAqC;AACrC,4BAA4B;AAC5B,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
6
node_modules/.cache/nyc/1bf7c936cee0caa3e98d3ee85854228e014465cb70224d86bd7e0d0d3576c097.js
generated
vendored
Normal file
6
node_modules/.cache/nyc/1bf7c936cee0caa3e98d3ee85854228e014465cb70224d86bd7e0d0d3576c097.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/1bf7c936cee0caa3e98d3ee85854228e014465cb70224d86bd7e0d0d3576c097.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/1bf7c936cee0caa3e98d3ee85854228e014465cb70224d86bd7e0d0d3576c097.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,MAAM,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AACzD,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,MAAM,CAAE,cAAY,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,+CAA+C;QAC/C,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,KAAK,CAAE,cAAY,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC"}
|
38
node_modules/.cache/nyc/1ee11a1b21104d3b582244d887b691f6bdd7027d1c482ad1d1d20efccaf8de17.js
generated
vendored
Normal file
38
node_modules/.cache/nyc/1ee11a1b21104d3b582244d887b691f6bdd7027d1c482ad1d1d20efccaf8de17.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="68e52daa9db4e6b4d68f38008a1b8576c8b6849d";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:11},end:{line:3,column:40}},"2":{start:{line:4,column:13},end:{line:4,column:35}},"3":{start:{line:5,column:12},end:{line:5,column:28}},"4":{start:{line:6,column:16},end:{line:6,column:29}},"5":{start:{line:7,column:10},end:{line:7,column:34}},"6":{start:{line:8,column:13},end:{line:8,column:33}},"7":{start:{line:9,column:11},end:{line:9,column:25}},"8":{start:{line:11,column:10},end:{line:11,column:367}},"9":{start:{line:12,column:15},end:{line:12,column:33}},"10":{start:{line:16,column:0},end:{line:51,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:16,column:24},end:{line:16,column:25}},loc:{start:{line:16,column:36},end:{line:51,column:1}},line:16}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[6]++,require('../server'));var name=(cov_h9a3mwwe1.s[7]++,'test channel');// var url: string = `wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ`;
|
||||
var url=(cov_h9a3mwwe1.s[8]++,"wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6Im1ocyIsImNsaWVudF90eXBlIjoic2l0ZSIsInVzZXJfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoxMjUsImNoYW5uZWwiOiJtaHNfMTIzOSJ9LCJleHAiOjE1NTI4NDYzOTQsImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5a_s8rgln4rwhVqJLcSS9Uw7yw1_PmYgslWKZllgK6g");var wsClient=(cov_h9a3mwwe1.s[9]++,new WebSocket(url));var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[10]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/1ee11a1b21104d3b582244d887b691f6bdd7027d1c482ad1d1d20efccaf8de17.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/1ee11a1b21104d3b582244d887b691f6bdd7027d1c482ad1d1d20efccaf8de17.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,2WAA2W;AAC3W,IAAI,GAAG,GAAW,qWAAqW,CAAC;AACxX,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
43
node_modules/.cache/nyc/1f23747d5503bc46867b16b4276d5a448d42eed986015f79bc677cfe06cbb037.js
generated
vendored
Normal file
43
node_modules/.cache/nyc/1f23747d5503bc46867b16b4276d5a448d42eed986015f79bc677cfe06cbb037.js
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="558185a080af0ed59a3e157c724f2d28ab4e47f6";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:4,column:11},end:{line:4,column:40}},"2":{start:{line:5,column:13},end:{line:5,column:35}},"3":{start:{line:6,column:12},end:{line:6,column:28}},"4":{start:{line:7,column:16},end:{line:7,column:29}},"5":{start:{line:8,column:10},end:{line:8,column:34}},"6":{start:{line:16,column:0},end:{line:51,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:16,column:24},end:{line:16,column:25}},loc:{start:{line:16,column:36},end:{line:51,column:1}},line:16}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});// import ChannelManager from '../channelManager';
|
||||
var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));// var server = require('../server');
|
||||
// var name: string = 'test channel';
|
||||
// var url: string = `wss://${app.hostname}:${app.port}?token=${app.devToken}`;
|
||||
// var wsClient = new WebSocket(url);
|
||||
// var channel: ChannelBase;
|
||||
// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[6]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/1f23747d5503bc46867b16b4276d5a448d42eed986015f79bc677cfe06cbb037.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/1f23747d5503bc46867b16b4276d5a448d42eed986015f79bc677cfe06cbb037.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAEA,kDAAkD;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,qCAAqC;AAErC,qCAAqC;AACrC,+EAA+E;AAC/E,qCAAqC;AACrC,4BAA4B;AAC5B,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
3
node_modules/.cache/nyc/202e048885d60be1cd0b170a819b92dcca3b3274c7865c4226d073a5285933dc.js
generated
vendored
Normal file
3
node_modules/.cache/nyc/202e048885d60be1cd0b170a819b92dcca3b3274c7865c4226d073a5285933dc.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
"use strict";var cov_1hb41h5zwr=function(){var path="/Users/josh.burman/Projects/braid/dist/server/routes.js";var hash="c4d590f2c6dcf78a827ead7408903c087e1921c2";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/routes.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:13},end:{line:3,column:28}},"2":{start:{line:4,column:16},end:{line:4,column:34}},"3":{start:{line:5,column:10},end:{line:5,column:33}},"4":{start:{line:6,column:18},end:{line:15,column:1}},"5":{start:{line:8,column:8},end:{line:13,column:9}},"6":{start:{line:9,column:12},end:{line:9,column:33}},"7":{start:{line:12,column:12},end:{line:12,column:74}},"8":{start:{line:16,column:13},end:{line:16,column:29}},"9":{start:{line:18,column:20},end:{line:18,column:58}},"10":{start:{line:19,column:0},end:{line:19,column:53}},"11":{start:{line:21,column:21},end:{line:21,column:60}},"12":{start:{line:22,column:0},end:{line:22,column:80}},"13":{start:{line:23,column:0},end:{line:23,column:24}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:7,column:12},end:{line:7,column:13}},loc:{start:{line:7,column:34},end:{line:14,column:5}},line:7}},branchMap:{"0":{loc:{start:{line:8,column:8},end:{line:13,column:9}},type:"if",locations:[{start:{line:8,column:8},end:{line:13,column:9}},{start:{line:8,column:8},end:{line:13,column:9}}],line:8}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},f:{"0":0},b:{"0":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_1hb41h5zwr.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const cors=(cov_1hb41h5zwr.s[1]++,require("cors"));const express=(cov_1hb41h5zwr.s[2]++,require("express"));var app=(cov_1hb41h5zwr.s[3]++,require('./config/app'));var corsOptions=(cov_1hb41h5zwr.s[4]++,{origin:(origin,callback)=>{cov_1hb41h5zwr.f[0]++;cov_1hb41h5zwr.s[5]++;if(app.whitelist.indexOf(origin)!==-1){cov_1hb41h5zwr.b[0][0]++;cov_1hb41h5zwr.s[6]++;callback(null,true);}else{cov_1hb41h5zwr.b[0][1]++;cov_1hb41h5zwr.s[7]++;callback(new Error(`Not allowed by CORS. Origin: ${origin}`));}}});var router=(cov_1hb41h5zwr.s[8]++,express.Router());//application
|
||||
var appController=(cov_1hb41h5zwr.s[9]++,require('./controllers/appController'));cov_1hb41h5zwr.s[10]++;router.route(['/','/home']).get(appController.home);//auth
|
||||
var authController=(cov_1hb41h5zwr.s[11]++,require('./controllers/authController'));cov_1hb41h5zwr.s[12]++;router.route('/auth/user').post(cors(corsOptions),authController.confirmToken);cov_1hb41h5zwr.s[13]++;module.exports=router;//# sourceMappingURL=routes.js.map
|
1
node_modules/.cache/nyc/202e048885d60be1cd0b170a819b92dcca3b3274c7865c4226d073a5285933dc.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/202e048885d60be1cd0b170a819b92dcca3b3274c7865c4226d073a5285933dc.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":";;AAAA,6BAA6B;AAC7B,mCAAmC;AAEnC,IAAI,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AACjC,IAAI,WAAW,GAAG;IAChB,MAAM,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACrB;aAAM;YACL,QAAQ,CAAC,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC,CAAA;SAC9D;IACH,CAAC;CACF,CAAA;AAED,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE9B,aAAa;AACb,IAAI,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM;AACN,IAAI,cAAc,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC7D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AAEhF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
|
13
node_modules/.cache/nyc/2233940ccfa054a267a3e8553ea802c7ff192af1b8d5d7545dd1950677dae31c.js
generated
vendored
Normal file
13
node_modules/.cache/nyc/2233940ccfa054a267a3e8553ea802c7ff192af1b8d5d7545dd1950677dae31c.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="1d390f7f6f20afb0b77ddae87a3c8c87eeb22334";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:21},end:{line:3,column:53}},"2":{start:{line:5,column:11},end:{line:5,column:40}},"3":{start:{line:6,column:13},end:{line:6,column:35}},"4":{start:{line:7,column:12},end:{line:7,column:28}},"5":{start:{line:8,column:16},end:{line:8,column:29}},"6":{start:{line:9,column:10},end:{line:9,column:34}},"7":{start:{line:10,column:13},end:{line:10,column:33}},"8":{start:{line:11,column:11},end:{line:11,column:25}},"9":{start:{line:12,column:10},end:{line:12,column:67}},"10":{start:{line:13,column:15},end:{line:13,column:33}},"11":{start:{line:15,column:11},end:{line:15,column:118}},"12":{start:{line:16,column:13},end:{line:16,column:53}},"13":{start:{line:17,column:0},end:{line:52,column:3}},"14":{start:{line:19,column:4},end:{line:22,column:7}},"15":{start:{line:20,column:8},end:{line:20,column:53}},"16":{start:{line:21,column:8},end:{line:21,column:45}},"17":{start:{line:23,column:4},end:{line:26,column:7}},"18":{start:{line:24,column:21},end:{line:24,column:46}},"19":{start:{line:25,column:8},end:{line:25,column:53}},"20":{start:{line:27,column:4},end:{line:30,column:7}},"21":{start:{line:28,column:21},end:{line:28,column:46}},"22":{start:{line:29,column:8},end:{line:29,column:52}},"23":{start:{line:31,column:4},end:{line:35,column:7}},"24":{start:{line:32,column:20},end:{line:32,column:51}},"25":{start:{line:33,column:21},end:{line:33,column:41}},"26":{start:{line:34,column:8},end:{line:34,column:41}},"27":{start:{line:36,column:4},end:{line:44,column:7}},"28":{start:{line:45,column:4},end:{line:51,column:7}},"29":{start:{line:49,column:21},end:{line:49,column:69}},"30":{start:{line:50,column:8},end:{line:50,column:53}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:24},end:{line:17,column:25}},loc:{start:{line:17,column:36},end:{line:52,column:1}},line:17},"1":{name:"(anonymous_1)",decl:{start:{line:19,column:47},end:{line:19,column:48}},loc:{start:{line:19,column:59},end:{line:22,column:5}},line:19},"2":{name:"(anonymous_2)",decl:{start:{line:23,column:41},end:{line:23,column:42}},loc:{start:{line:23,column:53},end:{line:26,column:5}},line:23},"3":{name:"(anonymous_3)",decl:{start:{line:27,column:73},end:{line:27,column:74}},loc:{start:{line:27,column:85},end:{line:30,column:5}},line:27},"4":{name:"(anonymous_4)",decl:{start:{line:31,column:31},end:{line:31,column:32}},loc:{start:{line:31,column:43},end:{line:35,column:5}},line:31},"5":{name:"(anonymous_5)",decl:{start:{line:36,column:47},end:{line:36,column:48}},loc:{start:{line:36,column:59},end:{line:44,column:5}},line:36},"6":{name:"(anonymous_6)",decl:{start:{line:45,column:49},end:{line:45,column:50}},loc:{start:{line:45,column:61},end:{line:51,column:5}},line:45}},branchMap:{"0":{loc:{start:{line:33,column:21},end:{line:33,column:41}},type:"cond-expr",locations:[{start:{line:33,column:29},end:{line:33,column:33}},{start:{line:33,column:36},end:{line:33,column:41}}],line:33}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},b:{"0":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const clientBase_1=(cov_h9a3mwwe1.s[1]++,require("../clients/clientBase"));// import ChannelManager from '../channelManager';
|
||||
var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[5]++,require('ws'));var app=(cov_h9a3mwwe1.s[6]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[7]++,require('../server'));var name=(cov_h9a3mwwe1.s[8]++,'test channel');var url=(cov_h9a3mwwe1.s[9]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[10]++,new WebSocket(url));var channel;var data=(cov_h9a3mwwe1.s[11]++,{'client':'test','client_type':'site','user_id':125,'user_type':'user','channel':'test channel'});var client=(cov_h9a3mwwe1.s[12]++,new clientBase_1.default(data,wsClient));cov_h9a3mwwe1.s[13]++;describe('ChannelBase',function(){cov_h9a3mwwe1.f[0]++;cov_h9a3mwwe1.s[14]++;// before ( function () { server.startServer; });
|
||||
it('should create a class of ChannelBase',function(){cov_h9a3mwwe1.f[1]++;cov_h9a3mwwe1.s[15]++;channel=server.channelManager.sadsdf(name);cov_h9a3mwwe1.s[16]++;expect(channel.id).to.be.equal(name);});cov_h9a3mwwe1.s[17]++;it('should add a client to channel',function(){cov_h9a3mwwe1.f[2]++;var result=(cov_h9a3mwwe1.s[18]++,channel.addClient(client));cov_h9a3mwwe1.s[19]++;expect(result.status).to.be.equal('success');});cov_h9a3mwwe1.s[20]++;it('should find a client when trying to add said client to channel',function(){cov_h9a3mwwe1.f[3]++;var result=(cov_h9a3mwwe1.s[21]++,channel.addClient(client));cov_h9a3mwwe1.s[22]++;expect(result.status).to.be.equal('notice');});cov_h9a3mwwe1.s[23]++;it('should find a client',function(){cov_h9a3mwwe1.f[4]++;var exist=(cov_h9a3mwwe1.s[24]++,channel.clientExists(client.id));var result=(cov_h9a3mwwe1.s[25]++,exist?(cov_h9a3mwwe1.b[0][0]++,true):(cov_h9a3mwwe1.b[0][1]++,false));cov_h9a3mwwe1.s[26]++;expect(result).to.be.equal(true);});cov_h9a3mwwe1.s[27]++;it('should broadcast a message to others',function(){// var wstClient = new WebSocketClient();
|
||||
// var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// channel.addClient(client);
|
||||
// channel.addClient(teacher);
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
cov_h9a3mwwe1.f[5]++;});cov_h9a3mwwe1.s[28]++;it('should not broadcast a message to self',function(){cov_h9a3mwwe1.f[6]++;// var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// return message;
|
||||
// })
|
||||
var result=(cov_h9a3mwwe1.s[29]++,channel.broadcastMessage(client,'test message'));cov_h9a3mwwe1.s[30]++;expect(result.status).to.be.equal('success');});});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/2233940ccfa054a267a3e8553ea802c7ff192af1b8d5d7545dd1950677dae31c.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/2233940ccfa054a267a3e8553ea802c7ff192af1b8d5d7545dd1950677dae31c.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AACA,sDAA+C;AAC/C,kDAAkD;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAC1H,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
1
node_modules/.cache/nyc/250a0a2fc5cc9a448481faecc54395416e6909d1afb212c496932b2bf5af9f4b.js
generated
vendored
Normal file
1
node_modules/.cache/nyc/250a0a2fc5cc9a448481faecc54395416e6909d1afb212c496932b2bf5af9f4b.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";var cov_2gwmauqsnp=function(){var path="/Users/josh.burman/Projects/braid/dist/server/controllers/appController.js";var hash="8493a8aacdbdcb9a24015c3d3540033d7988cd1a";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/controllers/appController.js",statementMap:{"0":{start:{line:2,column:10},end:{line:2,column:34}},"1":{start:{line:3,column:0},end:{line:7,column:2}},"2":{start:{line:5,column:8},end:{line:5,column:53}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:4,column:10},end:{line:4,column:11}},loc:{start:{line:4,column:24},end:{line:6,column:5}},line:4}},branchMap:{},s:{"0":0,"1":0,"2":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();var app=(cov_2gwmauqsnp.s[0]++,require('../config/app'));cov_2gwmauqsnp.s[1]++;module.exports={home:(req,res)=>{cov_2gwmauqsnp.f[0]++;cov_2gwmauqsnp.s[2]++;res.send(`Welcome to Braid v${app.version}`);}};//# sourceMappingURL=appController.js.map
|
1
node_modules/.cache/nyc/250a0a2fc5cc9a448481faecc54395416e6909d1afb212c496932b2bf5af9f4b.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/250a0a2fc5cc9a448481faecc54395416e6909d1afb212c496932b2bf5af9f4b.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"appController.js","sourceRoot":"","sources":["../../../src/controllers/appController.ts"],"names":[],"mappings":";AAAA,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAElC,MAAM,CAAC,OAAO,GAAG;IACf,IAAI,EAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;CACF,CAAA"}
|
1
node_modules/.cache/nyc/397e18ac919959415c3575ffc0902b12567d616735df2488d81f2ce4caa5643b.js
generated
vendored
Normal file
1
node_modules/.cache/nyc/397e18ac919959415c3575ffc0902b12567d616735df2488d81f2ce4caa5643b.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";var cov_240eder9dd=function(){var path="/Users/josh.burman/Projects/braid/dist/server/config/app.js";var hash="6a61ae0c1c6bc8407a3235ea60cb4230cd775842";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/config/app.js",statementMap:{"0":{start:{line:2,column:0},end:{line:17,column:2}}},fnMap:{},branchMap:{"0":{loc:{start:{line:4,column:16},end:{line:4,column:65}},type:"binary-expr",locations:[{start:{line:4,column:16},end:{line:4,column:37}},{start:{line:4,column:41},end:{line:4,column:65}}],line:4},"1":{loc:{start:{line:5,column:12},end:{line:5,column:40}},type:"binary-expr",locations:[{start:{line:5,column:12},end:{line:5,column:30}},{start:{line:5,column:34},end:{line:5,column:40}}],line:5},"2":{loc:{start:{line:7,column:10},end:{line:7,column:34}},type:"binary-expr",locations:[{start:{line:7,column:10},end:{line:7,column:26}},{start:{line:7,column:30},end:{line:7,column:34}}],line:7},"3":{loc:{start:{line:8,column:14},end:{line:8,column:57}},type:"binary-expr",locations:[{start:{line:8,column:14},end:{line:8,column:34}},{start:{line:8,column:38},end:{line:8,column:57}}],line:8},"4":{loc:{start:{line:9,column:17},end:{line:9,column:57}},type:"binary-expr",locations:[{start:{line:9,column:17},end:{line:9,column:40}},{start:{line:9,column:44},end:{line:9,column:57}}],line:9},"5":{loc:{start:{line:10,column:15},end:{line:10,column:47}},type:"binary-expr",locations:[{start:{line:10,column:15},end:{line:10,column:36}},{start:{line:10,column:40},end:{line:10,column:47}}],line:10}},s:{"0":0},f:{},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_240eder9dd.s[0]++;module.exports={version:'0.7.1',whitelist:((cov_240eder9dd.b[0][0]++,process.env.WHITELIST)||(cov_240eder9dd.b[0][1]++,"http://admin.localhost")).split(','),secret:(cov_240eder9dd.b[1][0]++,process.env.SECRET)||(cov_240eder9dd.b[1][1]++,"test"),devToken:'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6Im1ocyIsImNsaWVudF90eXBlIjoic2l0ZSIsInVzZXJfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoxMjUsImNoYW5uZWwiOiJtaHNfMTIzOSJ9LCJleHAiOjE1NTI4NDYzOTQsImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5a_s8rgln4rwhVqJLcSS9Uw7yw1_PmYgslWKZllgK6g',port:(cov_240eder9dd.b[2][0]++,process.env.PORT)||(cov_240eder9dd.b[2][1]++,8443),hostname:(cov_240eder9dd.b[3][0]++,process.env.HOSTNAME)||(cov_240eder9dd.b[3][1]++,'ysbraid.localhost'),environment:(cov_240eder9dd.b[4][0]++,process.env.ENVIRONMENT)||(cov_240eder9dd.b[4][1]++,'development'),log_level:(cov_240eder9dd.b[5][0]++,process.env.LOG_LEVEL)||(cov_240eder9dd.b[5][1]++,'debug'),signOptions:{issuer:'Yardstick Software',subject:'Braid JWT',audience:'internal',algorithm:["HS256"]}};//# sourceMappingURL=app.js.map
|
1
node_modules/.cache/nyc/397e18ac919959415c3575ffc0902b12567d616735df2488d81f2ce4caa5643b.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/397e18ac919959415c3575ffc0902b12567d616735df2488d81f2ce4caa5643b.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/config/app.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO,EAAG,OAAO;IACjB,SAAS,EAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,MAAM,EAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM;IACrC,QAAQ,EAAE,kUAAkU;IAC5U,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,mBAAmB;IACrD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa;IACrD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO;IAC3C,WAAW,EAAG;QACZ,MAAM,EAAG,oBAAoB;QAC7B,OAAO,EAAG,WAAW;QACrB,QAAQ,EAAG,UAAU;QACrB,SAAS,EAAG,CAAC,OAAO,CAAC;KACtB;CACF,CAAA"}
|
12
node_modules/.cache/nyc/4293581c6b9cfa8dcc04d88dcd047950891dfc741dc1d16b985a0385923cd0b7.js
generated
vendored
Normal file
12
node_modules/.cache/nyc/4293581c6b9cfa8dcc04d88dcd047950891dfc741dc1d16b985a0385923cd0b7.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/4293581c6b9cfa8dcc04d88dcd047950891dfc741dc1d16b985a0385923cd0b7.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/4293581c6b9cfa8dcc04d88dcd047950891dfc741dc1d16b985a0385923cd0b7.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
54
node_modules/.cache/nyc/4ee2d3f13f77ed002783e3a13a05f31c8e55fbd6cdcf7b77bbf8da8698b4de67.js
generated
vendored
Normal file
54
node_modules/.cache/nyc/4ee2d3f13f77ed002783e3a13a05f31c8e55fbd6cdcf7b77bbf8da8698b4de67.js
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
"use strict";// import * as WebSocket from 'ws';
|
||||
// import ClientBase from '../clients/clientBase';
|
||||
// import MHSClient from '../clients/sites/mhsClient';
|
||||
// import ClientManager from '../clientManager';
|
||||
// var expect = require('chai').expect;
|
||||
// var assert = require('chai').assert;
|
||||
// var sinon = require('sinon');
|
||||
// var name: string = 'test channel';
|
||||
// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': name }
|
||||
// var WebSocketClient = require('websocket').client;
|
||||
// var wsClient = new WebSocketClient();
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
// let clientManager = new ClientManager();
|
||||
// describe('ClientManager', function () {
|
||||
// it('should add a client', function () {
|
||||
// var result = clientManager.addClient(data, wsClient);
|
||||
// expect(result.id).to.be.equal(125);
|
||||
// });
|
||||
// it('should get clients of type', function () {
|
||||
// var result = clientManager.clientsOfType('site');
|
||||
// assert(result.length > 0, 'returns one client');
|
||||
// });
|
||||
// it('should see client exists', function () {
|
||||
// var exists = clientManager.clientExists(data.user_id);
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should see client does not exists', function () {
|
||||
// var exists = clientManager.clientExists(200);
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(false);
|
||||
// });
|
||||
// it('should get an existing client', function () {
|
||||
// var exists = clientManager.getClient(data.user_id);
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should not get an existing client', function () {
|
||||
// var exists = clientManager.getClient(200);
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(false);
|
||||
// });
|
||||
// it('should add client of type MHSClient', function () {
|
||||
// var data: any = { 'client': 'mhs', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': name }
|
||||
// var result = clientManager.getClientType(data, wsClient);
|
||||
// expect(result.clientType()).to.be.equal('mhs');
|
||||
// });
|
||||
// // it('should remove a client', function () {
|
||||
// // clientManager.removeClient(data.user_id);
|
||||
// // expect(clientManager.clients.length).to.be.equal(0);
|
||||
// // });
|
||||
// });
|
||||
//# sourceMappingURL=clientManager.spec.js.map
|
||||
var cov_1wd6f9mhef=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/clientManager.spec.js";var hash="58341126b5dbf87407cd4141f560d34c63bb7c65";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/clientManager.spec.js",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();
|
1
node_modules/.cache/nyc/4ee2d3f13f77ed002783e3a13a05f31c8e55fbd6cdcf7b77bbf8da8698b4de67.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/4ee2d3f13f77ed002783e3a13a05f31c8e55fbd6cdcf7b77bbf8da8698b4de67.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"clientManager.spec.js","sourceRoot":"","sources":["../../../src/test/clientManager.spec.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,kDAAkD;AAClD,sDAAsD;AACtD,gDAAgD;AAEhD,uCAAuC;AACvC,uCAAuC;AACvC,gCAAgC;AAEhC,qCAAqC;AACrC,mHAAmH;AACnH,qDAAqD;AACrD,wCAAwC;AACxC,2DAA2D;AAE3D,2CAA2C;AAE3C,0CAA0C;AAC1C,4CAA4C;AAC5C,4DAA4D;AAC5D,0CAA0C;AAC1C,QAAQ;AAER,mDAAmD;AACnD,wDAAwD;AACxD,uDAAuD;AACvD,QAAQ;AAER,iDAAiD;AACjD,6DAA6D;AAC7D,0CAA0C;AAC1C,wCAAwC;AACxC,QAAQ;AAER,0DAA0D;AAC1D,oDAAoD;AACpD,0CAA0C;AAC1C,yCAAyC;AACzC,QAAQ;AAER,sDAAsD;AACtD,0DAA0D;AAC1D,0CAA0C;AAC1C,wCAAwC;AACxC,QAAQ;AAER,0DAA0D;AAC1D,iDAAiD;AACjD,0CAA0C;AAC1C,yCAAyC;AACzC,QAAQ;AAER,4DAA4D;AAC5D,sHAAsH;AACtH,gEAAgE;AAChE,sDAAsD;AACtD,QAAQ;AAER,kDAAkD;AAClD,mDAAmD;AACnD,8DAA8D;AAC9D,WAAW;AACX,MAAM"}
|
11
node_modules/.cache/nyc/559b3cb31385c1e04e53f0e6068ad2b130337e6d1c43060ff0610380cc65a4e4.js
generated
vendored
Normal file
11
node_modules/.cache/nyc/559b3cb31385c1e04e53f0e6068ad2b130337e6d1c43060ff0610380cc65a4e4.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/559b3cb31385c1e04e53f0e6068ad2b130337e6d1c43060ff0610380cc65a4e4.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/559b3cb31385c1e04e53f0e6068ad2b130337e6d1c43060ff0610380cc65a4e4.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
3
node_modules/.cache/nyc/632aaa54b53332d95475476c08c1a5e06fc7281e0c5d074594adfd900a467522.js
generated
vendored
Normal file
3
node_modules/.cache/nyc/632aaa54b53332d95475476c08c1a5e06fc7281e0c5d074594adfd900a467522.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/632aaa54b53332d95475476c08c1a5e06fc7281e0c5d074594adfd900a467522.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/632aaa54b53332d95475476c08c1a5e06fc7281e0c5d074594adfd900a467522.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
1
node_modules/.cache/nyc/6fd53629ba5226b2cb23a686c4512ce27fb483347b3026158f3d9c2a4feba72a.js
generated
vendored
Normal file
1
node_modules/.cache/nyc/6fd53629ba5226b2cb23a686c4512ce27fb483347b3026158f3d9c2a4feba72a.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";var cov_240eder9dd=function(){var path="/Users/josh.burman/Projects/braid/dist/server/config/app.js";var hash="6a61ae0c1c6bc8407a3235ea60cb4230cd775842";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/config/app.js",statementMap:{"0":{start:{line:2,column:0},end:{line:17,column:2}}},fnMap:{},branchMap:{"0":{loc:{start:{line:4,column:16},end:{line:4,column:65}},type:"binary-expr",locations:[{start:{line:4,column:16},end:{line:4,column:37}},{start:{line:4,column:41},end:{line:4,column:65}}],line:4},"1":{loc:{start:{line:5,column:12},end:{line:5,column:40}},type:"binary-expr",locations:[{start:{line:5,column:12},end:{line:5,column:30}},{start:{line:5,column:34},end:{line:5,column:40}}],line:5},"2":{loc:{start:{line:7,column:10},end:{line:7,column:34}},type:"binary-expr",locations:[{start:{line:7,column:10},end:{line:7,column:26}},{start:{line:7,column:30},end:{line:7,column:34}}],line:7},"3":{loc:{start:{line:8,column:14},end:{line:8,column:57}},type:"binary-expr",locations:[{start:{line:8,column:14},end:{line:8,column:34}},{start:{line:8,column:38},end:{line:8,column:57}}],line:8},"4":{loc:{start:{line:9,column:17},end:{line:9,column:57}},type:"binary-expr",locations:[{start:{line:9,column:17},end:{line:9,column:40}},{start:{line:9,column:44},end:{line:9,column:57}}],line:9},"5":{loc:{start:{line:10,column:15},end:{line:10,column:47}},type:"binary-expr",locations:[{start:{line:10,column:15},end:{line:10,column:36}},{start:{line:10,column:40},end:{line:10,column:47}}],line:10}},s:{"0":0},f:{},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_240eder9dd.s[0]++;module.exports={version:'0.7.1',whitelist:((cov_240eder9dd.b[0][0]++,process.env.WHITELIST)||(cov_240eder9dd.b[0][1]++,"http://admin.localhost")).split(','),secret:(cov_240eder9dd.b[1][0]++,process.env.SECRET)||(cov_240eder9dd.b[1][1]++,"test"),devToken:'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ',port:(cov_240eder9dd.b[2][0]++,process.env.PORT)||(cov_240eder9dd.b[2][1]++,8443),hostname:(cov_240eder9dd.b[3][0]++,process.env.HOSTNAME)||(cov_240eder9dd.b[3][1]++,'ysbraid.localhost'),environment:(cov_240eder9dd.b[4][0]++,process.env.ENVIRONMENT)||(cov_240eder9dd.b[4][1]++,'development'),log_level:(cov_240eder9dd.b[5][0]++,process.env.LOG_LEVEL)||(cov_240eder9dd.b[5][1]++,'debug'),signOptions:{issuer:'Yardstick Software',subject:'Braid JWT',audience:'internal',algorithm:["HS256"]}};//# sourceMappingURL=app.js.map
|
1
node_modules/.cache/nyc/6fd53629ba5226b2cb23a686c4512ce27fb483347b3026158f3d9c2a4feba72a.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/6fd53629ba5226b2cb23a686c4512ce27fb483347b3026158f3d9c2a4feba72a.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/config/app.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO,EAAG,OAAO;IACjB,SAAS,EAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,MAAM,EAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM;IACrC,QAAQ,EAAE,kTAAkT;IAC5T,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,mBAAmB;IACrD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa;IACrD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO;IAC3C,WAAW,EAAG;QACZ,MAAM,EAAG,oBAAoB;QAC7B,OAAO,EAAG,WAAW;QACrB,QAAQ,EAAG,UAAU;QACrB,SAAS,EAAG,CAAC,OAAO,CAAC;KACtB;CACF,CAAA"}
|
11
node_modules/.cache/nyc/6ff21ee9e46ef5145fc3d352faa471b95ddd2824da4b6de8287260f94fe2b3b8.js
generated
vendored
Normal file
11
node_modules/.cache/nyc/6ff21ee9e46ef5145fc3d352faa471b95ddd2824da4b6de8287260f94fe2b3b8.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/6ff21ee9e46ef5145fc3d352faa471b95ddd2824da4b6de8287260f94fe2b3b8.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/6ff21ee9e46ef5145fc3d352faa471b95ddd2824da4b6de8287260f94fe2b3b8.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":"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"}
|
38
node_modules/.cache/nyc/88a4ef1f00c117b6c43947f787ab3c457d1fc69f1a619c17a30b5b40bbc8c18d.js
generated
vendored
Normal file
38
node_modules/.cache/nyc/88a4ef1f00c117b6c43947f787ab3c457d1fc69f1a619c17a30b5b40bbc8c18d.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="afd95f93e5b730e5fc84aaa29ba8fc51245618fa";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:18},end:{line:3,column:31}},"2":{start:{line:4,column:11},end:{line:4,column:40}},"3":{start:{line:5,column:13},end:{line:5,column:35}},"4":{start:{line:6,column:12},end:{line:6,column:28}},"5":{start:{line:8,column:10},end:{line:8,column:34}},"6":{start:{line:9,column:11},end:{line:9,column:25}},"7":{start:{line:11,column:10},end:{line:11,column:367}},"8":{start:{line:15,column:0},end:{line:54,column:3}},"9":{start:{line:17,column:4},end:{line:20,column:7}},"10":{start:{line:18,column:8},end:{line:18,column:38}},"11":{start:{line:19,column:23},end:{line:19,column:41}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:36},end:{line:54,column:1}},line:15},"1":{name:"(anonymous_1)",decl:{start:{line:17,column:11},end:{line:17,column:12}},loc:{start:{line:17,column:23},end:{line:20,column:5}},line:17}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},f:{"0":0,"1":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const WebSocket=(cov_h9a3mwwe1.s[1]++,require("ws"));var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));// var WebSocket = require('ws');s
|
||||
var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));var name=(cov_h9a3mwwe1.s[6]++,'test channel');// var url: string = `wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ`;
|
||||
var url=(cov_h9a3mwwe1.s[7]++,"wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6Im1ocyIsImNsaWVudF90eXBlIjoic2l0ZSIsInVzZXJfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoxMjUsImNoYW5uZWwiOiJtaHNfMTIzOSJ9LCJleHAiOjE1NTI4NDYzOTQsImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5a_s8rgln4rwhVqJLcSS9Uw7yw1_PmYgslWKZllgK6g");var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[8]++;describe('ChannelBase',function(){cov_h9a3mwwe1.f[0]++;var server;cov_h9a3mwwe1.s[9]++;before(function(){cov_h9a3mwwe1.f[1]++;cov_h9a3mwwe1.s[10]++;server=require('../server');var wsClient=(cov_h9a3mwwe1.s[11]++,new WebSocket(url));});// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/88a4ef1f00c117b6c43947f787ab3c457d1fc69f1a619c17a30b5b40bbc8c18d.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/88a4ef1f00c117b6c43947f787ab3c457d1fc69f1a619c17a30b5b40bbc8c18d.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAEA,gCAAgC;AAEhC,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,kCAAkC;AAClC,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,2WAA2W;AAC3W,IAAI,GAAG,GAAW,qWAAqW,CAAC;AACxX,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,IAAI,MAAW,CAAC;IAChB,MAAM,CAAG;QACP,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
13
node_modules/.cache/nyc/98bb0be42df66b4e58041dcd970325e0af7bfdf09cdea91c0148c3581965ff65.js
generated
vendored
Normal file
13
node_modules/.cache/nyc/98bb0be42df66b4e58041dcd970325e0af7bfdf09cdea91c0148c3581965ff65.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="b0f58ae25bda40fbcab69503d969fb1beaaf0382";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:21},end:{line:3,column:53}},"2":{start:{line:5,column:11},end:{line:5,column:40}},"3":{start:{line:6,column:13},end:{line:6,column:35}},"4":{start:{line:7,column:12},end:{line:7,column:28}},"5":{start:{line:8,column:16},end:{line:8,column:29}},"6":{start:{line:9,column:10},end:{line:9,column:34}},"7":{start:{line:10,column:13},end:{line:10,column:33}},"8":{start:{line:11,column:11},end:{line:11,column:25}},"9":{start:{line:12,column:10},end:{line:12,column:67}},"10":{start:{line:13,column:15},end:{line:13,column:33}},"11":{start:{line:15,column:11},end:{line:15,column:118}},"12":{start:{line:16,column:13},end:{line:16,column:53}},"13":{start:{line:17,column:0},end:{line:52,column:3}},"14":{start:{line:19,column:4},end:{line:22,column:7}},"15":{start:{line:20,column:8},end:{line:20,column:60}},"16":{start:{line:21,column:8},end:{line:21,column:45}},"17":{start:{line:23,column:4},end:{line:26,column:7}},"18":{start:{line:24,column:21},end:{line:24,column:46}},"19":{start:{line:25,column:8},end:{line:25,column:53}},"20":{start:{line:27,column:4},end:{line:30,column:7}},"21":{start:{line:28,column:21},end:{line:28,column:46}},"22":{start:{line:29,column:8},end:{line:29,column:52}},"23":{start:{line:31,column:4},end:{line:35,column:7}},"24":{start:{line:32,column:20},end:{line:32,column:51}},"25":{start:{line:33,column:21},end:{line:33,column:41}},"26":{start:{line:34,column:8},end:{line:34,column:41}},"27":{start:{line:36,column:4},end:{line:44,column:7}},"28":{start:{line:45,column:4},end:{line:51,column:7}},"29":{start:{line:49,column:21},end:{line:49,column:69}},"30":{start:{line:50,column:8},end:{line:50,column:53}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:24},end:{line:17,column:25}},loc:{start:{line:17,column:36},end:{line:52,column:1}},line:17},"1":{name:"(anonymous_1)",decl:{start:{line:19,column:47},end:{line:19,column:48}},loc:{start:{line:19,column:59},end:{line:22,column:5}},line:19},"2":{name:"(anonymous_2)",decl:{start:{line:23,column:41},end:{line:23,column:42}},loc:{start:{line:23,column:53},end:{line:26,column:5}},line:23},"3":{name:"(anonymous_3)",decl:{start:{line:27,column:73},end:{line:27,column:74}},loc:{start:{line:27,column:85},end:{line:30,column:5}},line:27},"4":{name:"(anonymous_4)",decl:{start:{line:31,column:31},end:{line:31,column:32}},loc:{start:{line:31,column:43},end:{line:35,column:5}},line:31},"5":{name:"(anonymous_5)",decl:{start:{line:36,column:47},end:{line:36,column:48}},loc:{start:{line:36,column:59},end:{line:44,column:5}},line:36},"6":{name:"(anonymous_6)",decl:{start:{line:45,column:49},end:{line:45,column:50}},loc:{start:{line:45,column:61},end:{line:51,column:5}},line:45}},branchMap:{"0":{loc:{start:{line:33,column:21},end:{line:33,column:41}},type:"cond-expr",locations:[{start:{line:33,column:29},end:{line:33,column:33}},{start:{line:33,column:36},end:{line:33,column:41}}],line:33}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},b:{"0":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const clientBase_1=(cov_h9a3mwwe1.s[1]++,require("../clients/clientBase"));// import ChannelManager from '../channelManager';
|
||||
var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[5]++,require('ws'));var app=(cov_h9a3mwwe1.s[6]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[7]++,require('../server'));var name=(cov_h9a3mwwe1.s[8]++,'test channel');var url=(cov_h9a3mwwe1.s[9]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[10]++,new WebSocket(url));var channel;var data=(cov_h9a3mwwe1.s[11]++,{'client':'test','client_type':'site','user_id':125,'user_type':'user','channel':'test channel'});var client=(cov_h9a3mwwe1.s[12]++,new clientBase_1.default(data,wsClient));cov_h9a3mwwe1.s[13]++;describe('ChannelBase',function(){cov_h9a3mwwe1.f[0]++;cov_h9a3mwwe1.s[14]++;// before ( function () { server.startServer; });
|
||||
it('should create a class of ChannelBase',function(){cov_h9a3mwwe1.f[1]++;cov_h9a3mwwe1.s[15]++;channel=server.channelManager.channelExists(name);cov_h9a3mwwe1.s[16]++;expect(channel.id).to.be.equal(name);});cov_h9a3mwwe1.s[17]++;it('should add a client to channel',function(){cov_h9a3mwwe1.f[2]++;var result=(cov_h9a3mwwe1.s[18]++,channel.addClient(client));cov_h9a3mwwe1.s[19]++;expect(result.status).to.be.equal('success');});cov_h9a3mwwe1.s[20]++;it('should find a client when trying to add said client to channel',function(){cov_h9a3mwwe1.f[3]++;var result=(cov_h9a3mwwe1.s[21]++,channel.addClient(client));cov_h9a3mwwe1.s[22]++;expect(result.status).to.be.equal('notice');});cov_h9a3mwwe1.s[23]++;it('should find a client',function(){cov_h9a3mwwe1.f[4]++;var exist=(cov_h9a3mwwe1.s[24]++,channel.clientExists(client.id));var result=(cov_h9a3mwwe1.s[25]++,exist?(cov_h9a3mwwe1.b[0][0]++,true):(cov_h9a3mwwe1.b[0][1]++,false));cov_h9a3mwwe1.s[26]++;expect(result).to.be.equal(true);});cov_h9a3mwwe1.s[27]++;it('should broadcast a message to others',function(){// var wstClient = new WebSocketClient();
|
||||
// var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// channel.addClient(client);
|
||||
// channel.addClient(teacher);
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
cov_h9a3mwwe1.f[5]++;});cov_h9a3mwwe1.s[28]++;it('should not broadcast a message to self',function(){cov_h9a3mwwe1.f[6]++;// var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// return message;
|
||||
// })
|
||||
var result=(cov_h9a3mwwe1.s[29]++,channel.broadcastMessage(client,'test message'));cov_h9a3mwwe1.s[30]++;expect(result.status).to.be.equal('success');});});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/98bb0be42df66b4e58041dcd970325e0af7bfdf09cdea91c0148c3581965ff65.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/98bb0be42df66b4e58041dcd970325e0af7bfdf09cdea91c0148c3581965ff65.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AACA,sDAA+C;AAC/C,kDAAkD;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAC1H,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
10
node_modules/.cache/nyc/a38d5931a5dde4cbab172e39a233a1b58eabf0ae0d6b6381642375164f1b936d.js
generated
vendored
Normal file
10
node_modules/.cache/nyc/a38d5931a5dde4cbab172e39a233a1b58eabf0ae0d6b6381642375164f1b936d.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/a38d5931a5dde4cbab172e39a233a1b58eabf0ae0d6b6381642375164f1b936d.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/a38d5931a5dde4cbab172e39a233a1b58eabf0ae0d6b6381642375164f1b936d.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,2CAA2C;IAC3C,gIAAgI;IAChI,uEAAuE;IACvE,+BAA+B;IAC/B,gCAAgC;IAChC,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;IAEN,EAAE,CAAC,wCAAwC,EAAE;QAC3C,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
37
node_modules/.cache/nyc/a6f1ae03feb38747dd889af72ef4000d0bd118c1a6e1e59e57bb8c2e27544e83.js
generated
vendored
Normal file
37
node_modules/.cache/nyc/a6f1ae03feb38747dd889af72ef4000d0bd118c1a6e1e59e57bb8c2e27544e83.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="aba088e297b0691d8a9517b176dd843212448a27";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:11},end:{line:3,column:40}},"2":{start:{line:4,column:13},end:{line:4,column:35}},"3":{start:{line:5,column:12},end:{line:5,column:28}},"4":{start:{line:6,column:16},end:{line:6,column:29}},"5":{start:{line:7,column:10},end:{line:7,column:34}},"6":{start:{line:8,column:13},end:{line:8,column:33}},"7":{start:{line:9,column:11},end:{line:9,column:25}},"8":{start:{line:10,column:10},end:{line:10,column:356}},"9":{start:{line:11,column:15},end:{line:11,column:33}},"10":{start:{line:15,column:0},end:{line:50,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:36},end:{line:50,column:1}},line:15}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[6]++,require('../server'));var name=(cov_h9a3mwwe1.s[7]++,'test channel');var url=(cov_h9a3mwwe1.s[8]++,`wss://${app.hostname}:${app.port}?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ`);var wsClient=(cov_h9a3mwwe1.s[9]++,new WebSocket(url));var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[10]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/a6f1ae03feb38747dd889af72ef4000d0bd118c1a6e1e59e57bb8c2e27544e83.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/a6f1ae03feb38747dd889af72ef4000d0bd118c1a6e1e59e57bb8c2e27544e83.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,yTAAyT,CAAC;AAC7W,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
39
node_modules/.cache/nyc/b67ff3a81790499e21af4474593fee750d6e06b7fe856aa05434635d74c6d6b6.js
generated
vendored
Normal file
39
node_modules/.cache/nyc/b67ff3a81790499e21af4474593fee750d6e06b7fe856aa05434635d74c6d6b6.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="fde0ff071e915a256f767c8c02c7e97f611961f9";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:18},end:{line:3,column:31}},"2":{start:{line:4,column:11},end:{line:4,column:40}},"3":{start:{line:5,column:13},end:{line:5,column:35}},"4":{start:{line:6,column:12},end:{line:6,column:28}},"5":{start:{line:8,column:10},end:{line:8,column:34}},"6":{start:{line:9,column:13},end:{line:9,column:33}},"7":{start:{line:10,column:11},end:{line:10,column:25}},"8":{start:{line:12,column:10},end:{line:12,column:367}},"9":{start:{line:13,column:15},end:{line:13,column:33}},"10":{start:{line:17,column:0},end:{line:52,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:24},end:{line:17,column:25}},loc:{start:{line:17,column:36},end:{line:52,column:1}},line:17}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const WebSocket=(cov_h9a3mwwe1.s[1]++,require("ws"));var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));// var WebSocket = require('ws');s
|
||||
var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[6]++,require('../server'));var name=(cov_h9a3mwwe1.s[7]++,'test channel');// var url: string = `wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ`;
|
||||
var url=(cov_h9a3mwwe1.s[8]++,"wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6Im1ocyIsImNsaWVudF90eXBlIjoic2l0ZSIsInVzZXJfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoxMjUsImNoYW5uZWwiOiJtaHNfMTIzOSJ9LCJleHAiOjE1NTI4NDYzOTQsImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5a_s8rgln4rwhVqJLcSS9Uw7yw1_PmYgslWKZllgK6g");var wsClient=(cov_h9a3mwwe1.s[9]++,new WebSocket(url));var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[10]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/b67ff3a81790499e21af4474593fee750d6e06b7fe856aa05434635d74c6d6b6.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/b67ff3a81790499e21af4474593fee750d6e06b7fe856aa05434635d74c6d6b6.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAEA,gCAAgC;AAEhC,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,kCAAkC;AAClC,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,2WAA2W;AAC3W,IAAI,GAAG,GAAW,qWAAqW,CAAC;AACxX,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
11
node_modules/.cache/nyc/bc808cb3addb5a5d9107c807b10272a916c592a420461fd4ec671f34671ffb9d.js
generated
vendored
Normal file
11
node_modules/.cache/nyc/bc808cb3addb5a5d9107c807b10272a916c592a420461fd4ec671f34671ffb9d.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/bc808cb3addb5a5d9107c807b10272a916c592a420461fd4ec671f34671ffb9d.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/bc808cb3addb5a5d9107c807b10272a916c592a420461fd4ec671f34671ffb9d.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,MAAM,CAAG,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
8
node_modules/.cache/nyc/c89323b2bcdc1b21bf9c29de27452b98f1240bc1dfe93fcb0ce5768fe5afd128.js
generated
vendored
Normal file
8
node_modules/.cache/nyc/c89323b2bcdc1b21bf9c29de27452b98f1240bc1dfe93fcb0ce5768fe5afd128.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/c89323b2bcdc1b21bf9c29de27452b98f1240bc1dfe93fcb0ce5768fe5afd128.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/c89323b2bcdc1b21bf9c29de27452b98f1240bc1dfe93fcb0ce5768fe5afd128.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,IAAI,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,SAAS,CAAC,UAAU,MAAuB,EAAE,OAAe;YACzH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAA;QACF,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
49
node_modules/.cache/nyc/cb9c465e48b9a9603626f4787839581dc423b7f4e43933e7ca4c8ec3c87446f7.js
generated
vendored
Normal file
49
node_modules/.cache/nyc/cb9c465e48b9a9603626f4787839581dc423b7f4e43933e7ca4c8ec3c87446f7.js
generated
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
"use strict";// import ChannelBase from '../channels/channelBase';
|
||||
// import ClientBase from '../clients/clientBase';
|
||||
// import MHSClient from '../clients/sites/mhsClient';
|
||||
// import MHSChannel from '../channels/sites/mhsChannel';
|
||||
// import ChannelManager from '../channelManager';
|
||||
// var expect = require('chai').expect;
|
||||
// var sinon = require('sinon');
|
||||
// var name: string = 'test channel';
|
||||
// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': name }
|
||||
// var WebSocketClient = require('websocket').client;
|
||||
// var wsClient = new WebSocketClient();
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
// let channelManager = new ChannelManager();
|
||||
// describe('ChannelManager', function () {
|
||||
// var channel: ChannelBase;
|
||||
// it('should create a channel', function () {
|
||||
// channel = channelManager.createChannel(data);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should return existing channel when attempting to create a channel', function () {
|
||||
// channel = channelManager.createChannel(data);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should return a channel when searching if channel exists', function () {
|
||||
// var exists = channelManager.channelExists(channel.id);
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should not return a channel when serachingif channel exists', function () {
|
||||
// var exists = channelManager.channelExists('no channel');
|
||||
// var result = exists ? true : false;
|
||||
// expect(result).to.be.equal(false);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result = channelManager.addClientToChannel(client, channel.id);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not add a client to channel', function () {
|
||||
// var result = channelManager.addClientToChannel(client, 'no channel');
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should create a channel of type MHSChannel', function () {
|
||||
// var data2 = { 'channel': 'test channel 2', 'client': 'mhs', 'client_type':'site' };
|
||||
// var result = channelManager.createByChannelType(data2);
|
||||
// expect(result.id).to.be.equal('test channel 2');
|
||||
// });
|
||||
// });
|
||||
//# sourceMappingURL=channelManager.spec.js.map
|
||||
var cov_2ekv66b3zw=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelManager.spec.js";var hash="f222a0ce55557ab9204e7e683e44bdf3f4fa25dc";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelManager.spec.js",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();
|
1
node_modules/.cache/nyc/cb9c465e48b9a9603626f4787839581dc423b7f4e43933e7ca4c8ec3c87446f7.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/cb9c465e48b9a9603626f4787839581dc423b7f4e43933e7ca4c8ec3c87446f7.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelManager.spec.js","sourceRoot":"","sources":["../../../src/test/channelManager.spec.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,kDAAkD;AAClD,sDAAsD;AACtD,yDAAyD;AACzD,kDAAkD;AAElD,uCAAuC;AACvC,gCAAgC;AAEhC,qCAAqC;AACrC,mHAAmH;AACnH,qDAAqD;AACrD,wCAAwC;AACxC,2DAA2D;AAE3D,6CAA6C;AAE7C,2CAA2C;AAC3C,8BAA8B;AAE9B,gDAAgD;AAChD,oDAAoD;AACpD,4CAA4C;AAC5C,QAAQ;AAER,2FAA2F;AAC3F,oDAAoD;AACpD,4CAA4C;AAC5C,QAAQ;AAER,iFAAiF;AACjF,6DAA6D;AAC7D,0CAA0C;AAC1C,wCAAwC;AACxC,QAAQ;AAER,oFAAoF;AACpF,+DAA+D;AAC/D,0CAA0C;AAC1C,yCAAyC;AACzC,QAAQ;AAER,uDAAuD;AACvD,0EAA0E;AAC1E,oDAAoD;AACpD,QAAQ;AAER,2DAA2D;AAC3D,4EAA4E;AAC5E,mDAAmD;AACnD,QAAQ;AAER,mEAAmE;AACnE,0FAA0F;AAC1F,8DAA8D;AAC9D,uDAAuD;AACvD,QAAQ;AACR,MAAM"}
|
37
node_modules/.cache/nyc/cbbca393669923fb6638463fe827e0e87582161ff944a8c33b095ed58e75095d.js
generated
vendored
Normal file
37
node_modules/.cache/nyc/cbbca393669923fb6638463fe827e0e87582161ff944a8c33b095ed58e75095d.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="63ffcce8be98f330812dd9c1afd8ea3d74aa9946";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:21},end:{line:3,column:53}},"2":{start:{line:5,column:11},end:{line:5,column:40}},"3":{start:{line:6,column:13},end:{line:6,column:35}},"4":{start:{line:7,column:12},end:{line:7,column:28}},"5":{start:{line:8,column:16},end:{line:8,column:29}},"6":{start:{line:9,column:10},end:{line:9,column:34}},"7":{start:{line:11,column:11},end:{line:11,column:25}},"8":{start:{line:12,column:10},end:{line:12,column:67}},"9":{start:{line:13,column:15},end:{line:13,column:33}},"10":{start:{line:15,column:11},end:{line:15,column:118}},"11":{start:{line:16,column:13},end:{line:16,column:53}},"12":{start:{line:17,column:0},end:{line:52,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:24},end:{line:17,column:25}},loc:{start:{line:17,column:36},end:{line:52,column:1}},line:17}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const clientBase_1=(cov_h9a3mwwe1.s[1]++,require("../clients/clientBase"));// import ChannelManager from '../channelManager';
|
||||
var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[5]++,require('ws'));var app=(cov_h9a3mwwe1.s[6]++,require('../config/app'));// var server = require('../server');
|
||||
var name=(cov_h9a3mwwe1.s[7]++,'test channel');var url=(cov_h9a3mwwe1.s[8]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[9]++,new WebSocket(url));var channel;var data=(cov_h9a3mwwe1.s[10]++,{'client':'test','client_type':'site','user_id':125,'user_type':'user','channel':'test channel'});var client=(cov_h9a3mwwe1.s[11]++,new clientBase_1.default(data,wsClient));cov_h9a3mwwe1.s[12]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/cbbca393669923fb6638463fe827e0e87582161ff944a8c33b095ed58e75095d.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/cbbca393669923fb6638463fe827e0e87582161ff944a8c33b095ed58e75095d.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AACA,sDAA+C;AAC/C,kDAAkD;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,qCAAqC;AAErC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAC1H,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
1
node_modules/.cache/nyc/d69ff0818274f59567de43bb62d12caf4edb87f9aa02eeac9b59a111d8b07d66.js
generated
vendored
Normal file
1
node_modules/.cache/nyc/d69ff0818274f59567de43bb62d12caf4edb87f9aa02eeac9b59a111d8b07d66.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";var cov_168kex5smj=function(){var path="/Users/josh.burman/Projects/braid/dist/server/controllers/authController.js";var hash="9b244a5d65883cecf9b9d7f1e2724f50100deff5";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/controllers/authController.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:12},end:{line:3,column:35}},"2":{start:{line:4,column:10},end:{line:4,column:34}},"3":{start:{line:5,column:0},end:{line:12,column:2}},"4":{start:{line:7,column:20},end:{line:7,column:34}},"5":{start:{line:8,column:8},end:{line:10,column:11}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:6,column:18},end:{line:6,column:19}},loc:{start:{line:6,column:32},end:{line:11,column:5}},line:6}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_168kex5smj.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const jwt=(cov_168kex5smj.s[1]++,require("jsonwebtoken"));var app=(cov_168kex5smj.s[2]++,require('../config/app'));cov_168kex5smj.s[3]++;module.exports={confirmToken:(req,res)=>{cov_168kex5smj.f[0]++;var token=(cov_168kex5smj.s[4]++,req.body.token);cov_168kex5smj.s[5]++;res.json({response:JSON.stringify(jwt.verify(token,app.secret,app.signOptions))});}};//# sourceMappingURL=authController.js.map
|
1
node_modules/.cache/nyc/d69ff0818274f59567de43bb62d12caf4edb87f9aa02eeac9b59a111d8b07d66.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/d69ff0818274f59567de43bb62d12caf4edb87f9aa02eeac9b59a111d8b07d66.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../../src/controllers/authController.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AAEpC,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAElC,MAAM,CAAC,OAAO,GAAG;IACf,YAAY,EAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACpC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
|
13
node_modules/.cache/nyc/ec3a14285012fe0bb5684d6903ebbb4fc39d82447f61881a06efe1e3a1e52ff8.js
generated
vendored
Normal file
13
node_modules/.cache/nyc/ec3a14285012fe0bb5684d6903ebbb4fc39d82447f61881a06efe1e3a1e52ff8.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="423cf496207f090eadafa33d7df60ffadb5cfa8f";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:21},end:{line:3,column:53}},"2":{start:{line:5,column:11},end:{line:5,column:40}},"3":{start:{line:6,column:13},end:{line:6,column:35}},"4":{start:{line:7,column:12},end:{line:7,column:28}},"5":{start:{line:8,column:16},end:{line:8,column:29}},"6":{start:{line:9,column:10},end:{line:9,column:34}},"7":{start:{line:10,column:13},end:{line:10,column:33}},"8":{start:{line:11,column:11},end:{line:11,column:25}},"9":{start:{line:12,column:10},end:{line:12,column:67}},"10":{start:{line:13,column:15},end:{line:13,column:33}},"11":{start:{line:15,column:11},end:{line:15,column:108}},"12":{start:{line:16,column:13},end:{line:16,column:53}},"13":{start:{line:17,column:0},end:{line:52,column:3}},"14":{start:{line:19,column:4},end:{line:22,column:7}},"15":{start:{line:20,column:8},end:{line:20,column:60}},"16":{start:{line:21,column:8},end:{line:21,column:45}},"17":{start:{line:23,column:4},end:{line:26,column:7}},"18":{start:{line:24,column:21},end:{line:24,column:46}},"19":{start:{line:25,column:8},end:{line:25,column:53}},"20":{start:{line:27,column:4},end:{line:30,column:7}},"21":{start:{line:28,column:21},end:{line:28,column:46}},"22":{start:{line:29,column:8},end:{line:29,column:52}},"23":{start:{line:31,column:4},end:{line:35,column:7}},"24":{start:{line:32,column:20},end:{line:32,column:51}},"25":{start:{line:33,column:21},end:{line:33,column:41}},"26":{start:{line:34,column:8},end:{line:34,column:41}},"27":{start:{line:36,column:4},end:{line:44,column:7}},"28":{start:{line:45,column:4},end:{line:51,column:7}},"29":{start:{line:49,column:21},end:{line:49,column:69}},"30":{start:{line:50,column:8},end:{line:50,column:53}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:24},end:{line:17,column:25}},loc:{start:{line:17,column:36},end:{line:52,column:1}},line:17},"1":{name:"(anonymous_1)",decl:{start:{line:19,column:47},end:{line:19,column:48}},loc:{start:{line:19,column:59},end:{line:22,column:5}},line:19},"2":{name:"(anonymous_2)",decl:{start:{line:23,column:41},end:{line:23,column:42}},loc:{start:{line:23,column:53},end:{line:26,column:5}},line:23},"3":{name:"(anonymous_3)",decl:{start:{line:27,column:73},end:{line:27,column:74}},loc:{start:{line:27,column:85},end:{line:30,column:5}},line:27},"4":{name:"(anonymous_4)",decl:{start:{line:31,column:31},end:{line:31,column:32}},loc:{start:{line:31,column:43},end:{line:35,column:5}},line:31},"5":{name:"(anonymous_5)",decl:{start:{line:36,column:47},end:{line:36,column:48}},loc:{start:{line:36,column:59},end:{line:44,column:5}},line:36},"6":{name:"(anonymous_6)",decl:{start:{line:45,column:49},end:{line:45,column:50}},loc:{start:{line:45,column:61},end:{line:51,column:5}},line:45}},branchMap:{"0":{loc:{start:{line:33,column:21},end:{line:33,column:41}},type:"cond-expr",locations:[{start:{line:33,column:29},end:{line:33,column:33}},{start:{line:33,column:36},end:{line:33,column:41}}],line:33}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},b:{"0":[0,0]},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});const clientBase_1=(cov_h9a3mwwe1.s[1]++,require("../clients/clientBase"));// import ChannelManager from '../channelManager';
|
||||
var exec=(cov_h9a3mwwe1.s[2]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[3]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[4]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[5]++,require('ws'));var app=(cov_h9a3mwwe1.s[6]++,require('../config/app'));var server=(cov_h9a3mwwe1.s[7]++,require('../server'));var name=(cov_h9a3mwwe1.s[8]++,'test channel');var url=(cov_h9a3mwwe1.s[9]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[10]++,new WebSocket(url));var channel;var data=(cov_h9a3mwwe1.s[11]++,{'client':'test','client_type':'site','user_id':125,'user_type':'user','channel':name});var client=(cov_h9a3mwwe1.s[12]++,new clientBase_1.default(data,wsClient));cov_h9a3mwwe1.s[13]++;describe('ChannelBase',function(){cov_h9a3mwwe1.f[0]++;cov_h9a3mwwe1.s[14]++;// before ( function () { server.startServer; });
|
||||
it('should create a class of ChannelBase',function(){cov_h9a3mwwe1.f[1]++;cov_h9a3mwwe1.s[15]++;channel=server.channelManager.channelExists(name);cov_h9a3mwwe1.s[16]++;expect(channel.id).to.be.equal(name);});cov_h9a3mwwe1.s[17]++;it('should add a client to channel',function(){cov_h9a3mwwe1.f[2]++;var result=(cov_h9a3mwwe1.s[18]++,channel.addClient(client));cov_h9a3mwwe1.s[19]++;expect(result.status).to.be.equal('success');});cov_h9a3mwwe1.s[20]++;it('should find a client when trying to add said client to channel',function(){cov_h9a3mwwe1.f[3]++;var result=(cov_h9a3mwwe1.s[21]++,channel.addClient(client));cov_h9a3mwwe1.s[22]++;expect(result.status).to.be.equal('notice');});cov_h9a3mwwe1.s[23]++;it('should find a client',function(){cov_h9a3mwwe1.f[4]++;var exist=(cov_h9a3mwwe1.s[24]++,channel.clientExists(client.id));var result=(cov_h9a3mwwe1.s[25]++,exist?(cov_h9a3mwwe1.b[0][0]++,true):(cov_h9a3mwwe1.b[0][1]++,false));cov_h9a3mwwe1.s[26]++;expect(result).to.be.equal(true);});cov_h9a3mwwe1.s[27]++;it('should broadcast a message to others',function(){// var wstClient = new WebSocketClient();
|
||||
// var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// channel.addClient(client);
|
||||
// channel.addClient(teacher);
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
cov_h9a3mwwe1.f[5]++;});cov_h9a3mwwe1.s[28]++;it('should not broadcast a message to self',function(){cov_h9a3mwwe1.f[6]++;// var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// return message;
|
||||
// })
|
||||
var result=(cov_h9a3mwwe1.s[29]++,channel.broadcastMessage(client,'test message'));cov_h9a3mwwe1.s[30]++;expect(result.status).to.be.equal('success');});});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/ec3a14285012fe0bb5684d6903ebbb4fc39d82447f61881a06efe1e3a1e52ff8.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/ec3a14285012fe0bb5684d6903ebbb4fc39d82447f61881a06efe1e3a1e52ff8.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AACA,sDAA+C;AAC/C,kDAAkD;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
3
node_modules/.cache/nyc/ed0c79906672e9bebfd0afe9af88ea0bf88307b9716f0729f7021233f92a8fea.js
generated
vendored
Normal file
3
node_modules/.cache/nyc/ed0c79906672e9bebfd0afe9af88ea0bf88307b9716f0729f7021233f92a8fea.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/ed0c79906672e9bebfd0afe9af88ea0bf88307b9716f0729f7021233f92a8fea.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/ed0c79906672e9bebfd0afe9af88ea0bf88307b9716f0729f7021233f92a8fea.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
3
node_modules/.cache/nyc/f18ce5b5ce259dd484a30d38695140ddab41575f0486b8b9ad1631188e28b6d1.js
generated
vendored
Normal file
3
node_modules/.cache/nyc/f18ce5b5ce259dd484a30d38695140ddab41575f0486b8b9ad1631188e28b6d1.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/f18ce5b5ce259dd484a30d38695140ddab41575f0486b8b9ad1631188e28b6d1.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/f18ce5b5ce259dd484a30d38695140ddab41575f0486b8b9ad1631188e28b6d1.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
11
node_modules/.cache/nyc/f48f2a9409b14ee0bc24273c5a256727293c319a8fe2e8c442e7e4b14aabf780.js
generated
vendored
Normal file
11
node_modules/.cache/nyc/f48f2a9409b14ee0bc24273c5a256727293c319a8fe2e8c442e7e4b14aabf780.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/.cache/nyc/f48f2a9409b14ee0bc24273c5a256727293c319a8fe2e8c442e7e4b14aabf780.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/f48f2a9409b14ee0bc24273c5a256727293c319a8fe2e8c442e7e4b14aabf780.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,sDAA+C;AAE/C,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,OAAoB,CAAC;AACzB,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE;IACtB,MAAM,CAAG,cAAc,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,EAAE,CAAC,sCAAsC,EAAE;QACzC,OAAO,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAI,MAAM,GAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE;QACzC,yCAAyC;QACzC,8HAA8H;QAC9H,qEAAqE;QACrE,6BAA6B;QAC7B,8BAA8B;QAC9B,iEAAiE;QACjE,gDAAgD;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,iIAAiI;QACjI,oBAAoB;QACpB,KAAK;QACL,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
38
node_modules/.cache/nyc/f741072c8ce0d49a827b8f7c8e8ebe623fade57a9408c8f31121f7003ef7449c.js
generated
vendored
Normal file
38
node_modules/.cache/nyc/f741072c8ce0d49a827b8f7c8e8ebe623fade57a9408c8f31121f7003ef7449c.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
"use strict";var cov_h9a3mwwe1=function(){var path="/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js";var hash="d1bcf0cdba10b9c476b1df1c9aa192473a158583";var Function=function(){}.constructor;var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/Users/josh.burman/Projects/braid/dist/server/test/channelBase.spec.js",statementMap:{"0":{start:{line:2,column:0},end:{line:2,column:62}},"1":{start:{line:3,column:11},end:{line:3,column:40}},"2":{start:{line:4,column:13},end:{line:4,column:35}},"3":{start:{line:5,column:12},end:{line:5,column:28}},"4":{start:{line:6,column:16},end:{line:6,column:29}},"5":{start:{line:7,column:10},end:{line:7,column:34}},"6":{start:{line:9,column:11},end:{line:9,column:25}},"7":{start:{line:10,column:10},end:{line:10,column:67}},"8":{start:{line:11,column:15},end:{line:11,column:33}},"9":{start:{line:15,column:0},end:{line:50,column:3}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:36},end:{line:50,column:1}},line:15}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},f:{"0":0},b:{},_coverageSchema:"43e27e138ebf9cfc5966b082cf9a028302ed4184"};var coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();cov_h9a3mwwe1.s[0]++;Object.defineProperty(exports,"__esModule",{value:true});var exec=(cov_h9a3mwwe1.s[1]++,require('child_process').exec);var expect=(cov_h9a3mwwe1.s[2]++,require('chai').expect);var sinon=(cov_h9a3mwwe1.s[3]++,require('sinon'));var WebSocket=(cov_h9a3mwwe1.s[4]++,require('ws'));var app=(cov_h9a3mwwe1.s[5]++,require('../config/app'));// var server = require('../server');
|
||||
var name=(cov_h9a3mwwe1.s[6]++,'test channel');var url=(cov_h9a3mwwe1.s[7]++,`wss://${app.hostname}:${app.port}?token=${app.devToken}`);var wsClient=(cov_h9a3mwwe1.s[8]++,new WebSocket(url));var channel;// var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': 'test channel' }
|
||||
// var client: ClientBase = new ClientBase(data, wsClient);
|
||||
cov_h9a3mwwe1.s[9]++;describe('ChannelBase',function(){// before ( function () { server.startServer; });
|
||||
// it('should create a class of ChannelBase', function () {
|
||||
// channel = server.channelManager.channelExists(name);
|
||||
// expect(channel.id).to.be.equal(name);
|
||||
// });
|
||||
// it('should add a client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should find a client when trying to add said client to channel', function () {
|
||||
// var result: any = channel.addClient(client);
|
||||
// expect(result.status).to.be.equal('notice');
|
||||
// });
|
||||
// it('should find a client', function () {
|
||||
// var exist = channel.clientExists(client.id);
|
||||
// var result = exist ? true : false;
|
||||
// expect(result).to.be.equal(true);
|
||||
// });
|
||||
// it('should broadcast a message to others', function () {
|
||||
// // var wstClient = new WebSocketClient();
|
||||
// // var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// // var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// // channel.addClient(client);
|
||||
// // channel.addClient(teacher);
|
||||
// // var result = channel.broadcastMessage(client, 'test message');
|
||||
// // expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
// it('should not broadcast a message to self', function () {
|
||||
// // var broadcastMessage = sinon.stub(channel, 'broadcastMessage').callsFake(function (client: ClientBase|null, message: string) {
|
||||
// // return message;
|
||||
// // })
|
||||
// var result = channel.broadcastMessage(client, 'test message');
|
||||
// expect(result.status).to.be.equal('success');
|
||||
// });
|
||||
cov_h9a3mwwe1.f[0]++;});//# sourceMappingURL=channelBase.spec.js.map
|
1
node_modules/.cache/nyc/f741072c8ce0d49a827b8f7c8e8ebe623fade57a9408c8f31121f7003ef7449c.map
generated
vendored
Normal file
1
node_modules/.cache/nyc/f741072c8ce0d49a827b8f7c8e8ebe623fade57a9408c8f31121f7003ef7449c.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;AACzC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnC,qCAAqC;AAErC,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,GAAG,GAAW,SAAS,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAoB,CAAC;AACzB,6HAA6H;AAC7H,2DAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACtB,iDAAiD;IAEjD,2DAA2D;IAC3D,yDAAyD;IACzD,0CAA0C;IAC1C,MAAM;IAEN,qDAAqD;IACrD,iDAAiD;IACjD,kDAAkD;IAClD,MAAM;IAEN,qFAAqF;IACrF,iDAAiD;IACjD,iDAAiD;IACjD,MAAM;IAEN,2CAA2C;IAC3C,iDAAiD;IACjD,uCAAuC;IACvC,sCAAsC;IACtC,MAAM;IAEN,2DAA2D;IAC3D,8CAA8C;IAC9C,mIAAmI;IACnI,0EAA0E;IAC1E,kCAAkC;IAClC,mCAAmC;IACnC,sEAAsE;IACtE,qDAAqD;IACrD,MAAM;IAEN,6DAA6D;IAC7D,sIAAsI;IACtI,yBAAyB;IACzB,UAAU;IACV,mEAAmE;IACnE,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC"}
|
21
node_modules/mock-socket/LICENSE.txt
generated
vendored
Normal file
21
node_modules/mock-socket/LICENSE.txt
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Travis Hoover
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
232
node_modules/mock-socket/README.md
generated
vendored
Normal file
232
node_modules/mock-socket/README.md
generated
vendored
Normal file
@ -0,0 +1,232 @@
|
||||
<p align="center">
|
||||
<img width=600 src="http://imgur.com/Xt9X83M.png">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Javascript mocking library for <a href="https://developer.mozilla.org/en-US/docs/WebSockets">websockets</a> and <a href="http://socket.io/">socket.io</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/thoov/mock-socket">
|
||||
<img src="https://img.shields.io/travis/thoov/mock-socket.svg?style=for-the-badge" alt="Build Status">
|
||||
</a>
|
||||
<a href="https://github.com/thoov/mock-socket/blob/master/LICENSE.txt">
|
||||
<img src="https://img.shields.io/github/license/thoov/mock-socket.svg?style=for-the-badge" alt="Code Coverage">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/mock-socket">
|
||||
<img src="https://img.shields.io/npm/v/mock-socket.svg?style=for-the-badge" alt="NPM Version">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Basic Usage](#usage)
|
||||
- [Advanced Usage](#advanced-usage)
|
||||
- [Typescript Support](#typescript-support)
|
||||
- [Socket.IO](#socket-io)
|
||||
- [Contributing](#contributing)
|
||||
- [Feedback](#feedback)
|
||||
|
||||
## Installation
|
||||
|
||||
```shell
|
||||
npm install mock-socket
|
||||
```
|
||||
|
||||
```js
|
||||
import { WebSocket, Server } from 'mock-socket';
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import test from 'ava';
|
||||
import { Server } from 'mock-socket';
|
||||
|
||||
class ChatApp {
|
||||
constructor(url) {
|
||||
this.messages = [];
|
||||
this.connection = new WebSocket(url);
|
||||
|
||||
this.connection.onmessage = (event) => {
|
||||
this.messages.push(event.data);
|
||||
};
|
||||
}
|
||||
|
||||
sendMessage(message) {
|
||||
this.connection.send(message);
|
||||
}
|
||||
}
|
||||
|
||||
test.cb('that chat app can be mocked', t => {
|
||||
const fakeURL = 'ws://localhost:8080';
|
||||
const mockServer = new Server(fakeURL);
|
||||
|
||||
mockServer.on('connection', socket => {
|
||||
socket.on('message', data => {
|
||||
t.is(data, 'test message from app', 'we have intercepted the message and can assert on it');
|
||||
socket.send('test message from mock server');
|
||||
});
|
||||
});
|
||||
|
||||
const app = new ChatApp(fakeURL);
|
||||
app.sendMessage('test message from app'); // NOTE: this line creates a micro task
|
||||
|
||||
// NOTE: this timeout is for creating another micro task that will happen after the above one
|
||||
setTimeout(() => {
|
||||
t.is(app.messages.length, 1);
|
||||
t.is(app.messages[0], 'test message from mock server', 'we have subbed our websocket backend');
|
||||
mockServer.stop(t.done);
|
||||
}, 100);
|
||||
});
|
||||
```
|
||||
|
||||
## Advanced Usage
|
||||
|
||||
### Stubbing the "global"
|
||||
|
||||
```js
|
||||
import { WebSocket, Server } from 'mock-socket';
|
||||
|
||||
/*
|
||||
* By default the global WebSocket object is stubbed out. However,
|
||||
* if you need to stub something else out you can like so:
|
||||
*/
|
||||
|
||||
window.WebSocket = WebSocket; // Here we stub out the window object
|
||||
```
|
||||
|
||||
### Server Methods
|
||||
|
||||
```js
|
||||
const mockServer = new Server('ws://localhost:8080');
|
||||
|
||||
mockServer.on('connection', socket => {
|
||||
socket.on('message', () => {});
|
||||
socket.on('close', () => {});
|
||||
|
||||
socket.send('message');
|
||||
socket.close();
|
||||
});
|
||||
|
||||
mockServer.clients() // array of all connected clients
|
||||
mockServer.emit('room', 'message');
|
||||
mockServer.stop(optionalCallback);
|
||||
```
|
||||
## Typescript Support
|
||||
|
||||
A [declaration file](https://github.com/thoov/mock-socket/blob/master/index.d.ts) is included by default. If you notice any issues with the types please create an issue or a PR!
|
||||
|
||||
## Socket IO
|
||||
|
||||
[Socket.IO](https://socket.io/) has **limited support**. Below is a similar example to the one above but modified to show off socket.io support.
|
||||
|
||||
```js
|
||||
import test from 'ava';
|
||||
import { SocketIO, Server } from 'mock-socket';
|
||||
|
||||
class ChatApp {
|
||||
constructor(url) {
|
||||
this.messages = [];
|
||||
this.connection = new io(url);
|
||||
|
||||
this.connection.on('chat-message', data => {
|
||||
this.messages.push(event.data);
|
||||
};
|
||||
}
|
||||
|
||||
sendMessage(message) {
|
||||
this.connection.emit('chat-message', message);
|
||||
}
|
||||
}
|
||||
|
||||
test.cb('that socket.io works', t => {
|
||||
const fakeURL = 'ws://localhost:8080';
|
||||
const mockServer = new Server(fakeURL);
|
||||
|
||||
window.io = SocketIO;
|
||||
|
||||
mockServer.on('connection', socket => {
|
||||
socket.on('chat-message', data => {
|
||||
t.is(data, 'test message from app', 'we have intercepted the message and can assert on it');
|
||||
socket.emit('chat-message', 'test message from mock server');
|
||||
});
|
||||
});
|
||||
|
||||
const app = new ChatApp(fakeURL);
|
||||
app.sendMessage('test message from app');
|
||||
|
||||
setTimeout(() => {
|
||||
t.is(app.messages.length, 1);
|
||||
t.is(app.messages[0], 'test message from mock server', 'we have subbed our websocket backend');
|
||||
|
||||
mockServer.stop(t.done);
|
||||
}, 100);
|
||||
});
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
The easiest way to work on the project is to clone the repo down via:
|
||||
|
||||
```shell
|
||||
git clone git@github.com:thoov/mock-socket.git
|
||||
cd mock-socket
|
||||
yarn install
|
||||
```
|
||||
|
||||
Then to create a local build via:
|
||||
|
||||
```shell
|
||||
yarn build
|
||||
```
|
||||
|
||||
Then create a local npm link via:
|
||||
|
||||
```shell
|
||||
yarn link
|
||||
```
|
||||
|
||||
At this point you can create other projects / apps locally and reference this local build via:
|
||||
|
||||
```shell
|
||||
yarn link mock-socket
|
||||
```
|
||||
|
||||
from within your other projects folder. Make sure that after any changes you run `yarn build`!
|
||||
|
||||
### Tests
|
||||
This project uses [ava.js](https://github.com/avajs/ava) as its test framework. Tests are located in /tests. To run tests:
|
||||
|
||||
```shell
|
||||
yarn test
|
||||
```
|
||||
|
||||
### Linting
|
||||
|
||||
This project uses eslint and a rules set from [airbnb's javascript style guides](https://github.com/airbnb/javascript). To run linting:
|
||||
|
||||
```shell
|
||||
yarn lint
|
||||
```
|
||||
|
||||
### Formatting
|
||||
|
||||
This project uses [prettier](https://github.com/prettier/prettier). To run the formatting:
|
||||
|
||||
```shell
|
||||
yarn format
|
||||
```
|
||||
|
||||
### Code Coverage
|
||||
|
||||
Code coverage reports are created in /coverage after all of the tests have successfully passed. To run the coverage:
|
||||
|
||||
```shell
|
||||
yarn test:coverage
|
||||
```
|
||||
|
||||
## Feedback
|
||||
|
||||
If you have any feedback, encounter any bugs, or just have a question, please feel free to create a [github issue](https://github.com/thoov/mock-socket/issues/new) or send me a tweet at [@thoov](https://twitter.com/thoov).
|
1928
node_modules/mock-socket/dist/mock-socket.amd.js
generated
vendored
Normal file
1928
node_modules/mock-socket/dist/mock-socket.amd.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1926
node_modules/mock-socket/dist/mock-socket.cjs.js
generated
vendored
Normal file
1926
node_modules/mock-socket/dist/mock-socket.cjs.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1920
node_modules/mock-socket/dist/mock-socket.es.js
generated
vendored
Normal file
1920
node_modules/mock-socket/dist/mock-socket.es.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1932
node_modules/mock-socket/dist/mock-socket.js
generated
vendored
Normal file
1932
node_modules/mock-socket/dist/mock-socket.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
84
node_modules/mock-socket/index.d.ts
generated
vendored
Normal file
84
node_modules/mock-socket/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
// Type definitions for Mock Socket 8.X+
|
||||
// Project: Mock Socket
|
||||
// Definitions by: Travis Hoover <https://github.com/thoov/mock-socket>
|
||||
|
||||
declare module 'mock-socket' {
|
||||
class EventTarget {
|
||||
listeners: any;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
|
||||
dispatchEvent(evt: Event): boolean;
|
||||
removeEventListener(type: string, listener?: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
|
||||
}
|
||||
|
||||
//
|
||||
// https://html.spec.whatwg.org/multipage/web-sockets.html#websocket
|
||||
//
|
||||
class WebSocket extends EventTarget {
|
||||
constructor(url?: string, protocols?: string|string[]);
|
||||
|
||||
static readonly CONNECTING: 0;
|
||||
static readonly OPEN: 1;
|
||||
static readonly CLOSING: 2;
|
||||
static readonly CLOSED: 3;
|
||||
|
||||
readonly url: string;
|
||||
|
||||
readonly CONNECTING: 0;
|
||||
readonly OPEN: 1;
|
||||
readonly CLOSING: 2;
|
||||
readonly CLOSED: 3;
|
||||
readonly readyState: number;
|
||||
readonly bufferedAmount: number;
|
||||
|
||||
onopen: EventHandlerNonNull;
|
||||
onerror: EventHandlerNonNull;
|
||||
onclose: EventHandlerNonNull;
|
||||
readonly extensions: string;
|
||||
readonly protocol: string;
|
||||
close(code?: number, reason?: string): void;
|
||||
|
||||
onmessage: EventHandlerNonNull;
|
||||
binaryType: BinaryType;
|
||||
send(data: string | Blob | ArrayBuffer | ArrayBufferView): void;
|
||||
}
|
||||
|
||||
class Server extends EventTarget {
|
||||
constructor(url: string, options?: ServerOptions);
|
||||
|
||||
readonly options?: ServerOptions;
|
||||
|
||||
start(): void;
|
||||
stop(callback?: () => void): void;
|
||||
|
||||
on(type: string, callback: (socket: WebSocket) => void): void;
|
||||
close(options?: CloseOptions): void;
|
||||
emit(event: string, data: any, options?: EmitOptions): void;
|
||||
|
||||
clients(): WebSocket[];
|
||||
to(room: any, broadcaster: any, broadcastList?: object): ToReturnObject;
|
||||
in(any: any): ToReturnObject;
|
||||
simulate(event: Event): void;
|
||||
|
||||
public of(url: string): Server;
|
||||
}
|
||||
|
||||
interface CloseOptions {
|
||||
code: number;
|
||||
reason: string;
|
||||
wasClean: boolean;
|
||||
}
|
||||
|
||||
interface EmitOptions {
|
||||
websockets: WebSocket[];
|
||||
}
|
||||
|
||||
interface ToReturnObject {
|
||||
to: (chainedRoom: any, chainedBroadcaster: any) => ToReturnObject;
|
||||
emit(event: Event, data: any): void;
|
||||
}
|
||||
|
||||
interface ServerOptions {
|
||||
verifyClient: () => any;
|
||||
selectProtocol: () => any;
|
||||
}
|
||||
}
|
108
node_modules/mock-socket/package.json
generated
vendored
Normal file
108
node_modules/mock-socket/package.json
generated
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
{
|
||||
"_from": "mock-socket",
|
||||
"_id": "mock-socket@8.0.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-dE2EbcxJKQCeYLZSsI7BAiMZCe/bHbJ2LHb5aGwUuDmfoOINEJ8QI6qYJ85NHsSNkNa90F3s6onZcmt/+MppFA==",
|
||||
"_location": "/mock-socket",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "tag",
|
||||
"registry": true,
|
||||
"raw": "mock-socket",
|
||||
"name": "mock-socket",
|
||||
"escapedName": "mock-socket",
|
||||
"rawSpec": "",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "latest"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#DEV:/",
|
||||
"#USER"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-8.0.5.tgz",
|
||||
"_shasum": "4ce8909601b2bcdf5f7680f35c2f7b34beb2afc4",
|
||||
"_spec": "mock-socket",
|
||||
"_where": "/Users/josh.burman/Projects/braid",
|
||||
"author": {
|
||||
"name": "Travis Hoover"
|
||||
},
|
||||
"ava": {
|
||||
"files": [
|
||||
"tests/**/*.test.js"
|
||||
],
|
||||
"require": [
|
||||
"babel-register",
|
||||
"babel-polyfill"
|
||||
],
|
||||
"babel": "inherit"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/thoov/mock-socket/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"url-parse": "^1.2.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Javascript mocking library for websockets and socket.io",
|
||||
"devDependencies": {
|
||||
"ava": "^0.19.1",
|
||||
"babel-core": "^6.24.1",
|
||||
"babel-loader": "^7.0.0",
|
||||
"babel-polyfill": "^6.23.0",
|
||||
"babel-preset-latest": "^6.24.1",
|
||||
"cross-env": "^5.0.0",
|
||||
"eslint": "^3.19.0",
|
||||
"eslint-config-airbnb-base": "^11.2.0",
|
||||
"eslint-plugin-import": "^2.0.1",
|
||||
"husky": "^0.13.3",
|
||||
"jsdom": "^11.5.1",
|
||||
"lint-staged": "^3.4.1",
|
||||
"nyc": "^10.3.2",
|
||||
"prettier": "^1.3.1",
|
||||
"rollup": "^0.41.6",
|
||||
"rollup-plugin-buble": "^0.15.0",
|
||||
"rollup-plugin-commonjs": "^8.2.6",
|
||||
"rollup-plugin-node-resolve": "^3.0.0",
|
||||
"systemjs": "^0.20.12",
|
||||
"typescript": "^2.9.2",
|
||||
"typescript-eslint-parser": "^16.0.1"
|
||||
},
|
||||
"directories": {
|
||||
"test": "tests"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
},
|
||||
"homepage": "https://github.com/thoov/mock-socket",
|
||||
"keywords": [
|
||||
"websockets",
|
||||
"mock",
|
||||
"mocksocket",
|
||||
"sockets"
|
||||
],
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
"*.js": [
|
||||
"format",
|
||||
"lint",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"main": "./dist/mock-socket",
|
||||
"name": "mock-socket",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/thoov/mock-socket.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rm -rf dist && rollup -c rollup.config.js",
|
||||
"format": "prettier --print-width 120 --single-quote --write '{src,tests}/**/*.js'",
|
||||
"lint": "eslint src tests",
|
||||
"precommit": "lint-staged",
|
||||
"prepublishOnly": "yarn build",
|
||||
"test": "cross-env NODE_ENV=test ava --serial --verbose",
|
||||
"test:coverage": "cross-env NODE_ENV=test nyc ava --serial"
|
||||
},
|
||||
"version": "8.0.5"
|
||||
}
|
57
node_modules/mock-socket/src/algorithms/close.js
generated
vendored
Normal file
57
node_modules/mock-socket/src/algorithms/close.js
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
import WebSocket from '../websocket';
|
||||
import delay from '../helpers/delay';
|
||||
import networkBridge from '../network-bridge';
|
||||
import { createCloseEvent, createEvent } from '../event/factory';
|
||||
|
||||
export function closeWebSocketConnection(context, code, reason) {
|
||||
context.readyState = WebSocket.CLOSING;
|
||||
|
||||
const server = networkBridge.serverLookup(context.url);
|
||||
const closeEvent = createCloseEvent({
|
||||
type: 'close',
|
||||
target: context,
|
||||
code,
|
||||
reason
|
||||
});
|
||||
|
||||
delay(() => {
|
||||
networkBridge.removeWebSocket(context, context.url);
|
||||
|
||||
context.readyState = WebSocket.CLOSED;
|
||||
context.dispatchEvent(closeEvent);
|
||||
|
||||
if (server) {
|
||||
server.dispatchEvent(closeEvent, server);
|
||||
}
|
||||
}, context);
|
||||
}
|
||||
|
||||
export function failWebSocketConnection(context, code, reason) {
|
||||
context.readyState = WebSocket.CLOSING;
|
||||
|
||||
const server = networkBridge.serverLookup(context.url);
|
||||
const closeEvent = createCloseEvent({
|
||||
type: 'close',
|
||||
target: context,
|
||||
code,
|
||||
reason,
|
||||
wasClean: false
|
||||
});
|
||||
|
||||
const errorEvent = createEvent({
|
||||
type: 'error',
|
||||
target: context
|
||||
});
|
||||
|
||||
delay(() => {
|
||||
networkBridge.removeWebSocket(context, context.url);
|
||||
|
||||
context.readyState = WebSocket.CLOSED;
|
||||
context.dispatchEvent(errorEvent);
|
||||
context.dispatchEvent(closeEvent);
|
||||
|
||||
if (server) {
|
||||
server.dispatchEvent(closeEvent, server);
|
||||
}
|
||||
}, context);
|
||||
}
|
29
node_modules/mock-socket/src/constants.js
generated
vendored
Normal file
29
node_modules/mock-socket/src/constants.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent
|
||||
*/
|
||||
export const CLOSE_CODES = {
|
||||
CLOSE_NORMAL: 1000,
|
||||
CLOSE_GOING_AWAY: 1001,
|
||||
CLOSE_PROTOCOL_ERROR: 1002,
|
||||
CLOSE_UNSUPPORTED: 1003,
|
||||
CLOSE_NO_STATUS: 1005,
|
||||
CLOSE_ABNORMAL: 1006,
|
||||
UNSUPPORTED_DATA: 1007,
|
||||
POLICY_VIOLATION: 1008,
|
||||
CLOSE_TOO_LARGE: 1009,
|
||||
MISSING_EXTENSION: 1010,
|
||||
INTERNAL_ERROR: 1011,
|
||||
SERVICE_RESTART: 1012,
|
||||
TRY_AGAIN_LATER: 1013,
|
||||
TLS_HANDSHAKE: 1015
|
||||
};
|
||||
|
||||
export const ERROR_PREFIX = {
|
||||
CONSTRUCTOR_ERROR: "Failed to construct 'WebSocket':",
|
||||
CLOSE_ERROR: "Failed to execute 'close' on 'WebSocket':",
|
||||
EVENT: {
|
||||
CONSTRUCT: "Failed to construct 'Event':",
|
||||
MESSAGE: "Failed to construct 'MessageEvent':",
|
||||
CLOSE: "Failed to construct 'CloseEvent':"
|
||||
}
|
||||
};
|
34
node_modules/mock-socket/src/event/close.js
generated
vendored
Normal file
34
node_modules/mock-socket/src/event/close.js
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
import EventPrototype from './prototype';
|
||||
import { ERROR_PREFIX } from '../constants';
|
||||
|
||||
export default class CloseEvent extends EventPrototype {
|
||||
constructor(type, eventInitConfig = {}) {
|
||||
super();
|
||||
|
||||
if (!type) {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT.CLOSE} 1 argument required, but only 0 present.`);
|
||||
}
|
||||
|
||||
if (typeof eventInitConfig !== 'object') {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT.CLOSE} parameter 2 ('eventInitDict') is not an object`);
|
||||
}
|
||||
|
||||
const { bubbles, cancelable, code, reason, wasClean } = eventInitConfig;
|
||||
|
||||
this.type = `${type}`;
|
||||
this.timeStamp = Date.now();
|
||||
this.target = null;
|
||||
this.srcElement = null;
|
||||
this.returnValue = true;
|
||||
this.isTrusted = false;
|
||||
this.eventPhase = 0;
|
||||
this.defaultPrevented = false;
|
||||
this.currentTarget = null;
|
||||
this.cancelable = cancelable ? Boolean(cancelable) : false;
|
||||
this.cancelBubble = false;
|
||||
this.bubbles = bubbles ? Boolean(bubbles) : false;
|
||||
this.code = typeof code === 'number' ? parseInt(code, 10) : 0;
|
||||
this.reason = `${reason || ''}`;
|
||||
this.wasClean = wasClean ? Boolean(wasClean) : false;
|
||||
}
|
||||
}
|
31
node_modules/mock-socket/src/event/event.js
generated
vendored
Normal file
31
node_modules/mock-socket/src/event/event.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
import EventPrototype from './prototype';
|
||||
import { ERROR_PREFIX } from '../constants';
|
||||
|
||||
export default class Event extends EventPrototype {
|
||||
constructor(type, eventInitConfig = {}) {
|
||||
super();
|
||||
|
||||
if (!type) {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT_ERROR} 1 argument required, but only 0 present.`);
|
||||
}
|
||||
|
||||
if (typeof eventInitConfig !== 'object') {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT_ERROR} parameter 2 ('eventInitDict') is not an object.`);
|
||||
}
|
||||
|
||||
const { bubbles, cancelable } = eventInitConfig;
|
||||
|
||||
this.type = `${type}`;
|
||||
this.timeStamp = Date.now();
|
||||
this.target = null;
|
||||
this.srcElement = null;
|
||||
this.returnValue = true;
|
||||
this.isTrusted = false;
|
||||
this.eventPhase = 0;
|
||||
this.defaultPrevented = false;
|
||||
this.currentTarget = null;
|
||||
this.cancelable = cancelable ? Boolean(cancelable) : false;
|
||||
this.canncelBubble = false;
|
||||
this.bubbles = bubbles ? Boolean(bubbles) : false;
|
||||
}
|
||||
}
|
75
node_modules/mock-socket/src/event/factory.js
generated
vendored
Normal file
75
node_modules/mock-socket/src/event/factory.js
generated
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
import Event from './event';
|
||||
import MessageEvent from './message';
|
||||
import CloseEvent from './close';
|
||||
|
||||
/*
|
||||
* Creates an Event object and extends it to allow full modification of
|
||||
* its properties.
|
||||
*
|
||||
* @param {object} config - within config you will need to pass type and optionally target
|
||||
*/
|
||||
function createEvent(config) {
|
||||
const { type, target } = config;
|
||||
const eventObject = new Event(type);
|
||||
|
||||
if (target) {
|
||||
eventObject.target = target;
|
||||
eventObject.srcElement = target;
|
||||
eventObject.currentTarget = target;
|
||||
}
|
||||
|
||||
return eventObject;
|
||||
}
|
||||
|
||||
/*
|
||||
* Creates a MessageEvent object and extends it to allow full modification of
|
||||
* its properties.
|
||||
*
|
||||
* @param {object} config - within config: type, origin, data and optionally target
|
||||
*/
|
||||
function createMessageEvent(config) {
|
||||
const { type, origin, data, target } = config;
|
||||
const messageEvent = new MessageEvent(type, {
|
||||
data,
|
||||
origin
|
||||
});
|
||||
|
||||
if (target) {
|
||||
messageEvent.target = target;
|
||||
messageEvent.srcElement = target;
|
||||
messageEvent.currentTarget = target;
|
||||
}
|
||||
|
||||
return messageEvent;
|
||||
}
|
||||
|
||||
/*
|
||||
* Creates a CloseEvent object and extends it to allow full modification of
|
||||
* its properties.
|
||||
*
|
||||
* @param {object} config - within config: type and optionally target, code, and reason
|
||||
*/
|
||||
function createCloseEvent(config) {
|
||||
const { code, reason, type, target } = config;
|
||||
let { wasClean } = config;
|
||||
|
||||
if (!wasClean) {
|
||||
wasClean = code === 1000;
|
||||
}
|
||||
|
||||
const closeEvent = new CloseEvent(type, {
|
||||
code,
|
||||
reason,
|
||||
wasClean
|
||||
});
|
||||
|
||||
if (target) {
|
||||
closeEvent.target = target;
|
||||
closeEvent.srcElement = target;
|
||||
closeEvent.currentTarget = target;
|
||||
}
|
||||
|
||||
return closeEvent;
|
||||
}
|
||||
|
||||
export { createEvent, createMessageEvent, createCloseEvent };
|
35
node_modules/mock-socket/src/event/message.js
generated
vendored
Normal file
35
node_modules/mock-socket/src/event/message.js
generated
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
import EventPrototype from './prototype';
|
||||
import { ERROR_PREFIX } from '../constants';
|
||||
|
||||
export default class MessageEvent extends EventPrototype {
|
||||
constructor(type, eventInitConfig = {}) {
|
||||
super();
|
||||
|
||||
if (!type) {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT.MESSAGE} 1 argument required, but only 0 present.`);
|
||||
}
|
||||
|
||||
if (typeof eventInitConfig !== 'object') {
|
||||
throw new TypeError(`${ERROR_PREFIX.EVENT.MESSAGE} parameter 2 ('eventInitDict') is not an object`);
|
||||
}
|
||||
|
||||
const { bubbles, cancelable, data, origin, lastEventId, ports } = eventInitConfig;
|
||||
|
||||
this.type = `${type}`;
|
||||
this.timeStamp = Date.now();
|
||||
this.target = null;
|
||||
this.srcElement = null;
|
||||
this.returnValue = true;
|
||||
this.isTrusted = false;
|
||||
this.eventPhase = 0;
|
||||
this.defaultPrevented = false;
|
||||
this.currentTarget = null;
|
||||
this.cancelable = cancelable ? Boolean(cancelable) : false;
|
||||
this.canncelBubble = false;
|
||||
this.bubbles = bubbles ? Boolean(bubbles) : false;
|
||||
this.origin = `${origin}`;
|
||||
this.ports = typeof ports === 'undefined' ? null : ports;
|
||||
this.data = typeof data === 'undefined' ? null : data;
|
||||
this.lastEventId = `${lastEventId || ''}`;
|
||||
}
|
||||
}
|
13
node_modules/mock-socket/src/event/prototype.js
generated
vendored
Normal file
13
node_modules/mock-socket/src/event/prototype.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export default class EventPrototype {
|
||||
// Noops
|
||||
stopPropagation() {}
|
||||
stopImmediatePropagation() {}
|
||||
|
||||
// if no arguments are passed then the type is set to "undefined" on
|
||||
// chrome and safari.
|
||||
initEvent(type = 'undefined', bubbles = false, cancelable = false) {
|
||||
this.type = `${type}`;
|
||||
this.bubbles = Boolean(bubbles);
|
||||
this.cancelable = Boolean(cancelable);
|
||||
}
|
||||
}
|
73
node_modules/mock-socket/src/event/target.js
generated
vendored
Normal file
73
node_modules/mock-socket/src/event/target.js
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
import { reject, filter } from '../helpers/array-helpers';
|
||||
|
||||
/*
|
||||
* EventTarget is an interface implemented by objects that can
|
||||
* receive events and may have listeners for them.
|
||||
*
|
||||
* https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
|
||||
*/
|
||||
class EventTarget {
|
||||
constructor() {
|
||||
this.listeners = {};
|
||||
}
|
||||
|
||||
/*
|
||||
* Ties a listener function to an event type which can later be invoked via the
|
||||
* dispatchEvent method.
|
||||
*
|
||||
* @param {string} type - the type of event (ie: 'open', 'message', etc.)
|
||||
* @param {function} listener - the callback function to invoke whenever an event is dispatched matching the given type
|
||||
* @param {boolean} useCapture - N/A TODO: implement useCapture functionality
|
||||
*/
|
||||
addEventListener(type, listener /* , useCapture */) {
|
||||
if (typeof listener === 'function') {
|
||||
if (!Array.isArray(this.listeners[type])) {
|
||||
this.listeners[type] = [];
|
||||
}
|
||||
|
||||
// Only add the same function once
|
||||
if (filter(this.listeners[type], item => item === listener).length === 0) {
|
||||
this.listeners[type].push(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes the listener so it will no longer be invoked via the dispatchEvent method.
|
||||
*
|
||||
* @param {string} type - the type of event (ie: 'open', 'message', etc.)
|
||||
* @param {function} listener - the callback function to invoke whenever an event is dispatched matching the given type
|
||||
* @param {boolean} useCapture - N/A TODO: implement useCapture functionality
|
||||
*/
|
||||
removeEventListener(type, removingListener /* , useCapture */) {
|
||||
const arrayOfListeners = this.listeners[type];
|
||||
this.listeners[type] = reject(arrayOfListeners, listener => listener === removingListener);
|
||||
}
|
||||
|
||||
/*
|
||||
* Invokes all listener functions that are listening to the given event.type property. Each
|
||||
* listener will be passed the event as the first argument.
|
||||
*
|
||||
* @param {object} event - event object which will be passed to all listeners of the event.type property
|
||||
*/
|
||||
dispatchEvent(event, ...customArguments) {
|
||||
const eventName = event.type;
|
||||
const listeners = this.listeners[eventName];
|
||||
|
||||
if (!Array.isArray(listeners)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
listeners.forEach(listener => {
|
||||
if (customArguments.length > 0) {
|
||||
listener.apply(this, customArguments);
|
||||
} else {
|
||||
listener.call(this, event);
|
||||
}
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export default EventTarget;
|
21
node_modules/mock-socket/src/helpers/array-helpers.js
generated
vendored
Normal file
21
node_modules/mock-socket/src/helpers/array-helpers.js
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
export function reject(array, callback) {
|
||||
const results = [];
|
||||
array.forEach(itemInArray => {
|
||||
if (!callback(itemInArray)) {
|
||||
results.push(itemInArray);
|
||||
}
|
||||
});
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
export function filter(array, callback) {
|
||||
const results = [];
|
||||
array.forEach(itemInArray => {
|
||||
if (callback(itemInArray)) {
|
||||
results.push(itemInArray);
|
||||
}
|
||||
});
|
||||
|
||||
return results;
|
||||
}
|
5
node_modules/mock-socket/src/helpers/byte-length.js
generated
vendored
Normal file
5
node_modules/mock-socket/src/helpers/byte-length.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export default function lengthInUtf8Bytes(str) {
|
||||
// Matches only the 10.. bytes that are non-initial characters in a multi-byte sequence.
|
||||
const m = encodeURIComponent(str).match(/%[89ABab]/g);
|
||||
return str.length + (m ? m.length : 0);
|
||||
}
|
5
node_modules/mock-socket/src/helpers/dedupe.js
generated
vendored
Normal file
5
node_modules/mock-socket/src/helpers/dedupe.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export default arr =>
|
||||
arr.reduce((deduped, b) => {
|
||||
if (deduped.indexOf(b) > -1) return deduped;
|
||||
return deduped.concat(b);
|
||||
}, []);
|
11
node_modules/mock-socket/src/helpers/delay.js
generated
vendored
Normal file
11
node_modules/mock-socket/src/helpers/delay.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* This delay allows the thread to finish assigning its on* methods
|
||||
* before invoking the delay callback. This is purely a timing hack.
|
||||
* http://geekabyte.blogspot.com/2014/01/javascript-effect-of-setting-settimeout.html
|
||||
*
|
||||
* @param {callback: function} the callback which will be invoked after the timeout
|
||||
* @parma {context: object} the context in which to invoke the function
|
||||
*/
|
||||
export default function delay(callback, context) {
|
||||
setTimeout(timeoutContext => callback.call(timeoutContext), 4, context);
|
||||
}
|
7
node_modules/mock-socket/src/helpers/global-object.js
generated
vendored
Normal file
7
node_modules/mock-socket/src/helpers/global-object.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export default function retrieveGlobalObject() {
|
||||
if (typeof window !== 'undefined') {
|
||||
return window;
|
||||
}
|
||||
|
||||
return typeof process === 'object' && typeof require === 'function' && typeof global === 'object' ? global : this;
|
||||
}
|
7
node_modules/mock-socket/src/helpers/logger.js
generated
vendored
Normal file
7
node_modules/mock-socket/src/helpers/logger.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export default function log(method, message) {
|
||||
/* eslint-disable no-console */
|
||||
if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'test') {
|
||||
console[method].call(null, message);
|
||||
}
|
||||
/* eslint-enable no-console */
|
||||
}
|
7
node_modules/mock-socket/src/helpers/normalize-send.js
generated
vendored
Normal file
7
node_modules/mock-socket/src/helpers/normalize-send.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export default function normalizeSendData(data) {
|
||||
if (Object.prototype.toString.call(data) !== '[object Blob]' && !(data instanceof ArrayBuffer)) {
|
||||
data = String(data);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
24
node_modules/mock-socket/src/helpers/protocol-verification.js
generated
vendored
Normal file
24
node_modules/mock-socket/src/helpers/protocol-verification.js
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
import { ERROR_PREFIX } from '../constants';
|
||||
|
||||
export default function protocolVerification(protocols = []) {
|
||||
if (!Array.isArray(protocols) && typeof protocols !== 'string') {
|
||||
throw new SyntaxError(`${ERROR_PREFIX.CONSTRUCTOR_ERROR} The subprotocol '${protocols.toString()}' is invalid.`);
|
||||
}
|
||||
|
||||
if (typeof protocols === 'string') {
|
||||
protocols = [protocols];
|
||||
}
|
||||
|
||||
const uniq = protocols.map(p => ({ count: 1, protocol: p })).reduce((a, b) => {
|
||||
a[b.protocol] = (a[b.protocol] || 0) + b.count;
|
||||
return a;
|
||||
}, {});
|
||||
|
||||
const duplicates = Object.keys(uniq).filter(a => uniq[a] > 1);
|
||||
|
||||
if (duplicates.length > 0) {
|
||||
throw new SyntaxError(`${ERROR_PREFIX.CONSTRUCTOR_ERROR} The subprotocol '${duplicates[0]}' is duplicated.`);
|
||||
}
|
||||
|
||||
return protocols;
|
||||
}
|
45
node_modules/mock-socket/src/helpers/proxy-factory.js
generated
vendored
Normal file
45
node_modules/mock-socket/src/helpers/proxy-factory.js
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
import { CLOSE_CODES } from '../constants';
|
||||
import { closeWebSocketConnection } from '../algorithms/close';
|
||||
import normalizeSendData from './normalize-send';
|
||||
import { createMessageEvent } from '../event/factory';
|
||||
|
||||
export default function proxyFactory(target) {
|
||||
const handler = {
|
||||
get(obj, prop) {
|
||||
if (prop === 'close') {
|
||||
return function close(options = {}) {
|
||||
const code = options.code || CLOSE_CODES.CLOSE_NORMAL;
|
||||
const reason = options.reason || '';
|
||||
|
||||
closeWebSocketConnection(target, code, reason);
|
||||
};
|
||||
}
|
||||
|
||||
if (prop === 'send') {
|
||||
return function send(data) {
|
||||
data = normalizeSendData(data);
|
||||
|
||||
target.dispatchEvent(
|
||||
createMessageEvent({
|
||||
type: 'message',
|
||||
data,
|
||||
origin: this.url,
|
||||
target
|
||||
})
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
if (prop === 'on') {
|
||||
return function onWrapper(type, cb) {
|
||||
target.addEventListener(`server::${type}`, cb);
|
||||
};
|
||||
}
|
||||
|
||||
return obj[prop];
|
||||
}
|
||||
};
|
||||
|
||||
const proxy = new Proxy(target, handler);
|
||||
return proxy;
|
||||
}
|
37
node_modules/mock-socket/src/helpers/url-verification.js
generated
vendored
Normal file
37
node_modules/mock-socket/src/helpers/url-verification.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
import URL from 'url-parse';
|
||||
import { ERROR_PREFIX } from '../constants';
|
||||
|
||||
export default function urlVerification(url) {
|
||||
const urlRecord = new URL(url);
|
||||
const { pathname, protocol, hash } = urlRecord;
|
||||
|
||||
if (!url) {
|
||||
throw new TypeError(`${ERROR_PREFIX.CONSTRUCTOR_ERROR} 1 argument required, but only 0 present.`);
|
||||
}
|
||||
|
||||
if (!pathname) {
|
||||
urlRecord.pathname = '/';
|
||||
}
|
||||
|
||||
if (protocol === '') {
|
||||
throw new SyntaxError(`${ERROR_PREFIX.CONSTRUCTOR_ERROR} The URL '${urlRecord.toString()}' is invalid.`);
|
||||
}
|
||||
|
||||
if (protocol !== 'ws:' && protocol !== 'wss:') {
|
||||
throw new SyntaxError(
|
||||
`${ERROR_PREFIX.CONSTRUCTOR_ERROR} The URL's scheme must be either 'ws' or 'wss'. '${protocol}' is not allowed.`
|
||||
);
|
||||
}
|
||||
|
||||
if (hash !== '') {
|
||||
/* eslint-disable max-len */
|
||||
throw new SyntaxError(
|
||||
`${
|
||||
ERROR_PREFIX.CONSTRUCTOR_ERROR
|
||||
} The URL contains a fragment identifier ('${hash}'). Fragment identifiers are not allowed in WebSocket URLs.`
|
||||
);
|
||||
/* eslint-enable max-len */
|
||||
}
|
||||
|
||||
return urlRecord.toString();
|
||||
}
|
7
node_modules/mock-socket/src/index.js
generated
vendored
Normal file
7
node_modules/mock-socket/src/index.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import MockServer from './server';
|
||||
import MockSocketIO from './socket-io';
|
||||
import MockWebSocket from './websocket';
|
||||
|
||||
export const Server = MockServer;
|
||||
export const WebSocket = MockWebSocket;
|
||||
export const SocketIO = MockSocketIO;
|
135
node_modules/mock-socket/src/network-bridge.js
generated
vendored
Normal file
135
node_modules/mock-socket/src/network-bridge.js
generated
vendored
Normal file
@ -0,0 +1,135 @@
|
||||
import { reject } from './helpers/array-helpers';
|
||||
|
||||
/*
|
||||
* The network bridge is a way for the mock websocket object to 'communicate' with
|
||||
* all available servers. This is a singleton object so it is important that you
|
||||
* clean up urlMap whenever you are finished.
|
||||
*/
|
||||
class NetworkBridge {
|
||||
constructor() {
|
||||
this.urlMap = {};
|
||||
}
|
||||
|
||||
/*
|
||||
* Attaches a websocket object to the urlMap hash so that it can find the server
|
||||
* it is connected to and the server in turn can find it.
|
||||
*
|
||||
* @param {object} websocket - websocket object to add to the urlMap hash
|
||||
* @param {string} url
|
||||
*/
|
||||
attachWebSocket(websocket, url) {
|
||||
const connectionLookup = this.urlMap[url];
|
||||
|
||||
if (connectionLookup && connectionLookup.server && connectionLookup.websockets.indexOf(websocket) === -1) {
|
||||
connectionLookup.websockets.push(websocket);
|
||||
return connectionLookup.server;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Attaches a websocket to a room
|
||||
*/
|
||||
addMembershipToRoom(websocket, room) {
|
||||
const connectionLookup = this.urlMap[websocket.url];
|
||||
|
||||
if (connectionLookup && connectionLookup.server && connectionLookup.websockets.indexOf(websocket) !== -1) {
|
||||
if (!connectionLookup.roomMemberships[room]) {
|
||||
connectionLookup.roomMemberships[room] = [];
|
||||
}
|
||||
|
||||
connectionLookup.roomMemberships[room].push(websocket);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Attaches a server object to the urlMap hash so that it can find a websockets
|
||||
* which are connected to it and so that websockets can in turn can find it.
|
||||
*
|
||||
* @param {object} server - server object to add to the urlMap hash
|
||||
* @param {string} url
|
||||
*/
|
||||
attachServer(server, url) {
|
||||
const connectionLookup = this.urlMap[url];
|
||||
|
||||
if (!connectionLookup) {
|
||||
this.urlMap[url] = {
|
||||
server,
|
||||
websockets: [],
|
||||
roomMemberships: {}
|
||||
};
|
||||
|
||||
return server;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Finds the server which is 'running' on the given url.
|
||||
*
|
||||
* @param {string} url - the url to use to find which server is running on it
|
||||
*/
|
||||
serverLookup(url) {
|
||||
const connectionLookup = this.urlMap[url];
|
||||
|
||||
if (connectionLookup) {
|
||||
return connectionLookup.server;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Finds all websockets which is 'listening' on the given url.
|
||||
*
|
||||
* @param {string} url - the url to use to find all websockets which are associated with it
|
||||
* @param {string} room - if a room is provided, will only return sockets in this room
|
||||
* @param {class} broadcaster - socket that is broadcasting and is to be excluded from the lookup
|
||||
*/
|
||||
websocketsLookup(url, room, broadcaster) {
|
||||
let websockets;
|
||||
const connectionLookup = this.urlMap[url];
|
||||
|
||||
websockets = connectionLookup ? connectionLookup.websockets : [];
|
||||
|
||||
if (room) {
|
||||
const members = connectionLookup.roomMemberships[room];
|
||||
websockets = members || [];
|
||||
}
|
||||
|
||||
return broadcaster ? websockets.filter(websocket => websocket !== broadcaster) : websockets;
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes the entry associated with the url.
|
||||
*
|
||||
* @param {string} url
|
||||
*/
|
||||
removeServer(url) {
|
||||
delete this.urlMap[url];
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes the individual websocket from the map of associated websockets.
|
||||
*
|
||||
* @param {object} websocket - websocket object to remove from the url map
|
||||
* @param {string} url
|
||||
*/
|
||||
removeWebSocket(websocket, url) {
|
||||
const connectionLookup = this.urlMap[url];
|
||||
|
||||
if (connectionLookup) {
|
||||
connectionLookup.websockets = reject(connectionLookup.websockets, socket => socket === websocket);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes a websocket from a room
|
||||
*/
|
||||
removeMembershipFromRoom(websocket, room) {
|
||||
const connectionLookup = this.urlMap[websocket.url];
|
||||
const memberships = connectionLookup.roomMemberships[room];
|
||||
|
||||
if (connectionLookup && memberships !== null) {
|
||||
connectionLookup.roomMemberships[room] = reject(memberships, socket => socket === websocket);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new NetworkBridge(); // Note: this is a singleton
|
217
node_modules/mock-socket/src/server.js
generated
vendored
Normal file
217
node_modules/mock-socket/src/server.js
generated
vendored
Normal file
@ -0,0 +1,217 @@
|
||||
import URL from 'url-parse';
|
||||
import WebSocket from './websocket';
|
||||
import dedupe from './helpers/dedupe';
|
||||
import EventTarget from './event/target';
|
||||
import { CLOSE_CODES } from './constants';
|
||||
import networkBridge from './network-bridge';
|
||||
import globalObject from './helpers/global-object';
|
||||
import normalizeSendData from './helpers/normalize-send';
|
||||
import { createEvent, createMessageEvent, createCloseEvent } from './event/factory';
|
||||
|
||||
class Server extends EventTarget {
|
||||
constructor(url, options = {}) {
|
||||
super();
|
||||
const urlRecord = new URL(url);
|
||||
|
||||
if (!urlRecord.pathname) {
|
||||
urlRecord.pathname = '/';
|
||||
}
|
||||
|
||||
this.url = urlRecord.toString();
|
||||
|
||||
this.originalWebSocket = null;
|
||||
const server = networkBridge.attachServer(this, this.url);
|
||||
|
||||
if (!server) {
|
||||
this.dispatchEvent(createEvent({ type: 'error' }));
|
||||
throw new Error('A mock server is already listening on this url');
|
||||
}
|
||||
|
||||
if (typeof options.verifyClient === 'undefined') {
|
||||
options.verifyClient = null;
|
||||
}
|
||||
|
||||
if (typeof options.selectProtocol === 'undefined') {
|
||||
options.selectProtocol = null;
|
||||
}
|
||||
|
||||
this.options = options;
|
||||
this.start();
|
||||
}
|
||||
|
||||
/*
|
||||
* Attaches the mock websocket object to the global object
|
||||
*/
|
||||
start() {
|
||||
const globalObj = globalObject();
|
||||
|
||||
if (globalObj.WebSocket) {
|
||||
this.originalWebSocket = globalObj.WebSocket;
|
||||
}
|
||||
|
||||
globalObj.WebSocket = WebSocket;
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes the mock websocket object from the global object
|
||||
*/
|
||||
stop(callback = () => {}) {
|
||||
const globalObj = globalObject();
|
||||
|
||||
if (this.originalWebSocket) {
|
||||
globalObj.WebSocket = this.originalWebSocket;
|
||||
} else {
|
||||
delete globalObj.WebSocket;
|
||||
}
|
||||
|
||||
this.originalWebSocket = null;
|
||||
|
||||
networkBridge.removeServer(this.url);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This is the main function for the mock server to subscribe to the on events.
|
||||
*
|
||||
* ie: mockServer.on('connection', function() { console.log('a mock client connected'); });
|
||||
*
|
||||
* @param {string} type - The event key to subscribe to. Valid keys are: connection, message, and close.
|
||||
* @param {function} callback - The callback which should be called when a certain event is fired.
|
||||
*/
|
||||
on(type, callback) {
|
||||
this.addEventListener(type, callback);
|
||||
}
|
||||
|
||||
/*
|
||||
* Closes the connection and triggers the onclose method of all listening
|
||||
* websockets. After that it removes itself from the urlMap so another server
|
||||
* could add itself to the url.
|
||||
*
|
||||
* @param {object} options
|
||||
*/
|
||||
close(options = {}) {
|
||||
const { code, reason, wasClean } = options;
|
||||
const listeners = networkBridge.websocketsLookup(this.url);
|
||||
|
||||
// Remove server before notifications to prevent immediate reconnects from
|
||||
// socket onclose handlers
|
||||
networkBridge.removeServer(this.url);
|
||||
|
||||
listeners.forEach(socket => {
|
||||
socket.readyState = WebSocket.CLOSE;
|
||||
socket.dispatchEvent(
|
||||
createCloseEvent({
|
||||
type: 'close',
|
||||
target: socket,
|
||||
code: code || CLOSE_CODES.CLOSE_NORMAL,
|
||||
reason: reason || '',
|
||||
wasClean
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
this.dispatchEvent(createCloseEvent({ type: 'close' }), this);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sends a generic message event to all mock clients.
|
||||
*/
|
||||
emit(event, data, options = {}) {
|
||||
let { websockets } = options;
|
||||
|
||||
if (!websockets) {
|
||||
websockets = networkBridge.websocketsLookup(this.url);
|
||||
}
|
||||
|
||||
if (typeof options !== 'object' || arguments.length > 3) {
|
||||
data = Array.prototype.slice.call(arguments, 1, arguments.length);
|
||||
data = data.map(item => normalizeSendData(item));
|
||||
} else {
|
||||
data = normalizeSendData(data);
|
||||
}
|
||||
|
||||
websockets.forEach(socket => {
|
||||
if (Array.isArray(data)) {
|
||||
socket.dispatchEvent(
|
||||
createMessageEvent({
|
||||
type: event,
|
||||
data,
|
||||
origin: this.url,
|
||||
target: socket
|
||||
}),
|
||||
...data
|
||||
);
|
||||
} else {
|
||||
socket.dispatchEvent(
|
||||
createMessageEvent({
|
||||
type: event,
|
||||
data,
|
||||
origin: this.url,
|
||||
target: socket
|
||||
})
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns an array of websockets which are listening to this server
|
||||
* TOOD: this should return a set and not be a method
|
||||
*/
|
||||
clients() {
|
||||
return networkBridge.websocketsLookup(this.url);
|
||||
}
|
||||
|
||||
/*
|
||||
* Prepares a method to submit an event to members of the room
|
||||
*
|
||||
* e.g. server.to('my-room').emit('hi!');
|
||||
*/
|
||||
to(room, broadcaster, broadcastList = []) {
|
||||
const self = this;
|
||||
const websockets = dedupe(broadcastList.concat(networkBridge.websocketsLookup(this.url, room, broadcaster)));
|
||||
|
||||
return {
|
||||
to: (chainedRoom, chainedBroadcaster) => this.to.call(this, chainedRoom, chainedBroadcaster, websockets),
|
||||
emit(event, data) {
|
||||
self.emit(event, data, { websockets });
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* Alias for Server.to
|
||||
*/
|
||||
in(...args) {
|
||||
return this.to.apply(null, args);
|
||||
}
|
||||
|
||||
/*
|
||||
* Simulate an event from the server to the clients. Useful for
|
||||
* simulating errors.
|
||||
*/
|
||||
simulate(event) {
|
||||
const listeners = networkBridge.websocketsLookup(this.url);
|
||||
|
||||
if (event === 'error') {
|
||||
listeners.forEach(socket => {
|
||||
socket.readyState = WebSocket.CLOSE;
|
||||
socket.dispatchEvent(createEvent({ type: 'error' }));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Alternative constructor to support namespaces in socket.io
|
||||
*
|
||||
* http://socket.io/docs/rooms-and-namespaces/#custom-namespaces
|
||||
*/
|
||||
Server.of = function of(url) {
|
||||
return new Server(url);
|
||||
};
|
||||
|
||||
export default Server;
|
279
node_modules/mock-socket/src/socket-io.js
generated
vendored
Normal file
279
node_modules/mock-socket/src/socket-io.js
generated
vendored
Normal file
@ -0,0 +1,279 @@
|
||||
import URL from 'url-parse';
|
||||
import delay from './helpers/delay';
|
||||
import EventTarget from './event/target';
|
||||
import networkBridge from './network-bridge';
|
||||
import { CLOSE_CODES } from './constants';
|
||||
import logger from './helpers/logger';
|
||||
import { createEvent, createMessageEvent, createCloseEvent } from './event/factory';
|
||||
|
||||
/*
|
||||
* The socket-io class is designed to mimick the real API as closely as possible.
|
||||
*
|
||||
* http://socket.io/docs/
|
||||
*/
|
||||
class SocketIO extends EventTarget {
|
||||
/*
|
||||
* @param {string} url
|
||||
*/
|
||||
constructor(url = 'socket.io', protocol = '') {
|
||||
super();
|
||||
|
||||
this.binaryType = 'blob';
|
||||
const urlRecord = new URL(url);
|
||||
|
||||
if (!urlRecord.pathname) {
|
||||
urlRecord.pathname = '/';
|
||||
}
|
||||
|
||||
this.url = urlRecord.toString();
|
||||
this.readyState = SocketIO.CONNECTING;
|
||||
this.protocol = '';
|
||||
|
||||
if (typeof protocol === 'string' || (typeof protocol === 'object' && protocol !== null)) {
|
||||
this.protocol = protocol;
|
||||
} else if (Array.isArray(protocol) && protocol.length > 0) {
|
||||
this.protocol = protocol[0];
|
||||
}
|
||||
|
||||
const server = networkBridge.attachWebSocket(this, this.url);
|
||||
|
||||
/*
|
||||
* Delay triggering the connection events so they can be defined in time.
|
||||
*/
|
||||
delay(function delayCallback() {
|
||||
if (server) {
|
||||
this.readyState = SocketIO.OPEN;
|
||||
server.dispatchEvent(createEvent({ type: 'connection' }), server, this);
|
||||
server.dispatchEvent(createEvent({ type: 'connect' }), server, this); // alias
|
||||
this.dispatchEvent(createEvent({ type: 'connect', target: this }));
|
||||
} else {
|
||||
this.readyState = SocketIO.CLOSED;
|
||||
this.dispatchEvent(createEvent({ type: 'error', target: this }));
|
||||
this.dispatchEvent(
|
||||
createCloseEvent({
|
||||
type: 'close',
|
||||
target: this,
|
||||
code: CLOSE_CODES.CLOSE_NORMAL
|
||||
})
|
||||
);
|
||||
|
||||
logger('error', `Socket.io connection to '${this.url}' failed`);
|
||||
}
|
||||
}, this);
|
||||
|
||||
/**
|
||||
Add an aliased event listener for close / disconnect
|
||||
*/
|
||||
this.addEventListener('close', event => {
|
||||
this.dispatchEvent(
|
||||
createCloseEvent({
|
||||
type: 'disconnect',
|
||||
target: event.target,
|
||||
code: event.code
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Closes the SocketIO connection or connection attempt, if any.
|
||||
* If the connection is already CLOSED, this method does nothing.
|
||||
*/
|
||||
close() {
|
||||
if (this.readyState !== SocketIO.OPEN) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const server = networkBridge.serverLookup(this.url);
|
||||
networkBridge.removeWebSocket(this, this.url);
|
||||
|
||||
this.readyState = SocketIO.CLOSED;
|
||||
this.dispatchEvent(
|
||||
createCloseEvent({
|
||||
type: 'close',
|
||||
target: this,
|
||||
code: CLOSE_CODES.CLOSE_NORMAL
|
||||
})
|
||||
);
|
||||
|
||||
if (server) {
|
||||
server.dispatchEvent(
|
||||
createCloseEvent({
|
||||
type: 'disconnect',
|
||||
target: this,
|
||||
code: CLOSE_CODES.CLOSE_NORMAL
|
||||
}),
|
||||
server
|
||||
);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/*
|
||||
* Alias for Socket#close
|
||||
*
|
||||
* https://github.com/socketio/socket.io-client/blob/master/lib/socket.js#L383
|
||||
*/
|
||||
disconnect() {
|
||||
return this.close();
|
||||
}
|
||||
|
||||
/*
|
||||
* Submits an event to the server with a payload
|
||||
*/
|
||||
emit(event, ...data) {
|
||||
if (this.readyState !== SocketIO.OPEN) {
|
||||
throw new Error('SocketIO is already in CLOSING or CLOSED state');
|
||||
}
|
||||
|
||||
const messageEvent = createMessageEvent({
|
||||
type: event,
|
||||
origin: this.url,
|
||||
data
|
||||
});
|
||||
|
||||
const server = networkBridge.serverLookup(this.url);
|
||||
|
||||
if (server) {
|
||||
server.dispatchEvent(messageEvent, ...data);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/*
|
||||
* Submits a 'message' event to the server.
|
||||
*
|
||||
* Should behave exactly like WebSocket#send
|
||||
*
|
||||
* https://github.com/socketio/socket.io-client/blob/master/lib/socket.js#L113
|
||||
*/
|
||||
send(data) {
|
||||
this.emit('message', data);
|
||||
return this;
|
||||
}
|
||||
|
||||
/*
|
||||
* For broadcasting events to other connected sockets.
|
||||
*
|
||||
* e.g. socket.broadcast.emit('hi!');
|
||||
* e.g. socket.broadcast.to('my-room').emit('hi!');
|
||||
*/
|
||||
get broadcast() {
|
||||
if (this.readyState !== SocketIO.OPEN) {
|
||||
throw new Error('SocketIO is already in CLOSING or CLOSED state');
|
||||
}
|
||||
|
||||
const self = this;
|
||||
const server = networkBridge.serverLookup(this.url);
|
||||
if (!server) {
|
||||
throw new Error(`SocketIO can not find a server at the specified URL (${this.url})`);
|
||||
}
|
||||
|
||||
return {
|
||||
emit(event, data) {
|
||||
server.emit(event, data, { websockets: networkBridge.websocketsLookup(self.url, null, self) });
|
||||
return self;
|
||||
},
|
||||
to(room) {
|
||||
return server.to(room, self);
|
||||
},
|
||||
in(room) {
|
||||
return server.in(room, self);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* For registering events to be received from the server
|
||||
*/
|
||||
on(type, callback) {
|
||||
this.addEventListener(type, callback);
|
||||
return this;
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove event listener
|
||||
*
|
||||
* https://socket.io/docs/client-api/#socket-on-eventname-callback
|
||||
*/
|
||||
off(type) {
|
||||
this.removeEventListener(type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Join a room on a server
|
||||
*
|
||||
* http://socket.io/docs/rooms-and-namespaces/#joining-and-leaving
|
||||
*/
|
||||
join(room) {
|
||||
networkBridge.addMembershipToRoom(this, room);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the websocket to leave the room
|
||||
*
|
||||
* http://socket.io/docs/rooms-and-namespaces/#joining-and-leaving
|
||||
*/
|
||||
leave(room) {
|
||||
networkBridge.removeMembershipFromRoom(this, room);
|
||||
}
|
||||
|
||||
to(room) {
|
||||
return this.broadcast.to(room);
|
||||
}
|
||||
|
||||
in() {
|
||||
return this.to.apply(null, arguments);
|
||||
}
|
||||
|
||||
/*
|
||||
* Invokes all listener functions that are listening to the given event.type property. Each
|
||||
* listener will be passed the event as the first argument.
|
||||
*
|
||||
* @param {object} event - event object which will be passed to all listeners of the event.type property
|
||||
*/
|
||||
dispatchEvent(event, ...customArguments) {
|
||||
const eventName = event.type;
|
||||
const listeners = this.listeners[eventName];
|
||||
|
||||
if (!Array.isArray(listeners)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
listeners.forEach(listener => {
|
||||
if (customArguments.length > 0) {
|
||||
listener.apply(this, customArguments);
|
||||
} else {
|
||||
// Regular WebSockets expect a MessageEvent but Socketio.io just wants raw data
|
||||
// payload instanceof MessageEvent works, but you can't isntance of NodeEvent
|
||||
// for now we detect if the output has data defined on it
|
||||
listener.call(this, event.data ? event.data : event);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
SocketIO.CONNECTING = 0;
|
||||
SocketIO.OPEN = 1;
|
||||
SocketIO.CLOSING = 2;
|
||||
SocketIO.CLOSED = 3;
|
||||
|
||||
/*
|
||||
* Static constructor methods for the IO Socket
|
||||
*/
|
||||
const IO = function ioConstructor(url, protocol) {
|
||||
return new SocketIO(url, protocol);
|
||||
};
|
||||
|
||||
/*
|
||||
* Alias the raw IO() constructor
|
||||
*/
|
||||
IO.connect = function ioConnect(url, protocol) {
|
||||
/* eslint-disable new-cap */
|
||||
return IO(url, protocol);
|
||||
/* eslint-enable new-cap */
|
||||
};
|
||||
|
||||
export default IO;
|
191
node_modules/mock-socket/src/websocket.js
generated
vendored
Normal file
191
node_modules/mock-socket/src/websocket.js
generated
vendored
Normal file
@ -0,0 +1,191 @@
|
||||
import delay from './helpers/delay';
|
||||
import logger from './helpers/logger';
|
||||
import EventTarget from './event/target';
|
||||
import networkBridge from './network-bridge';
|
||||
import proxyFactory from './helpers/proxy-factory';
|
||||
import lengthInUtf8Bytes from './helpers/byte-length';
|
||||
import { CLOSE_CODES, ERROR_PREFIX } from './constants';
|
||||
import urlVerification from './helpers/url-verification';
|
||||
import normalizeSendData from './helpers/normalize-send';
|
||||
import protocolVerification from './helpers/protocol-verification';
|
||||
import { createEvent, createMessageEvent, createCloseEvent } from './event/factory';
|
||||
import { closeWebSocketConnection, failWebSocketConnection } from './algorithms/close';
|
||||
|
||||
/*
|
||||
* The main websocket class which is designed to mimick the native WebSocket class as close
|
||||
* as possible.
|
||||
*
|
||||
* https://html.spec.whatwg.org/multipage/web-sockets.html
|
||||
*/
|
||||
class WebSocket extends EventTarget {
|
||||
constructor(url, protocols) {
|
||||
super();
|
||||
|
||||
this.url = urlVerification(url);
|
||||
protocols = protocolVerification(protocols);
|
||||
this.protocol = protocols[0] || '';
|
||||
|
||||
this.binaryType = 'blob';
|
||||
this.readyState = WebSocket.CONNECTING;
|
||||
|
||||
const server = networkBridge.attachWebSocket(this, this.url);
|
||||
|
||||
/*
|
||||
* This delay is needed so that we dont trigger an event before the callbacks have been
|
||||
* setup. For example:
|
||||
*
|
||||
* var socket = new WebSocket('ws://localhost');
|
||||
*
|
||||
* If we dont have the delay then the event would be triggered right here and this is
|
||||
* before the onopen had a chance to register itself.
|
||||
*
|
||||
* socket.onopen = () => { // this would never be called };
|
||||
*
|
||||
* and with the delay the event gets triggered here after all of the callbacks have been
|
||||
* registered :-)
|
||||
*/
|
||||
delay(function delayCallback() {
|
||||
if (server) {
|
||||
if (
|
||||
server.options.verifyClient &&
|
||||
typeof server.options.verifyClient === 'function' &&
|
||||
!server.options.verifyClient()
|
||||
) {
|
||||
this.readyState = WebSocket.CLOSED;
|
||||
|
||||
logger(
|
||||
'error',
|
||||
`WebSocket connection to '${this.url}' failed: HTTP Authentication failed; no valid credentials available`
|
||||
);
|
||||
|
||||
networkBridge.removeWebSocket(this, this.url);
|
||||
this.dispatchEvent(createEvent({ type: 'error', target: this }));
|
||||
this.dispatchEvent(createCloseEvent({ type: 'close', target: this, code: CLOSE_CODES.CLOSE_NORMAL }));
|
||||
} else {
|
||||
if (server.options.selectProtocol && typeof server.options.selectProtocol === 'function') {
|
||||
const selectedProtocol = server.options.selectProtocol(protocols);
|
||||
const isFilled = selectedProtocol !== '';
|
||||
const isRequested = protocols.indexOf(selectedProtocol) !== -1;
|
||||
if (isFilled && !isRequested) {
|
||||
this.readyState = WebSocket.CLOSED;
|
||||
|
||||
logger('error', `WebSocket connection to '${this.url}' failed: Invalid Sub-Protocol`);
|
||||
|
||||
networkBridge.removeWebSocket(this, this.url);
|
||||
this.dispatchEvent(createEvent({ type: 'error', target: this }));
|
||||
this.dispatchEvent(createCloseEvent({ type: 'close', target: this, code: CLOSE_CODES.CLOSE_NORMAL }));
|
||||
return;
|
||||
}
|
||||
this.protocol = selectedProtocol;
|
||||
}
|
||||
this.readyState = WebSocket.OPEN;
|
||||
this.dispatchEvent(createEvent({ type: 'open', target: this }));
|
||||
server.dispatchEvent(createEvent({ type: 'connection' }), proxyFactory(this));
|
||||
}
|
||||
} else {
|
||||
this.readyState = WebSocket.CLOSED;
|
||||
this.dispatchEvent(createEvent({ type: 'error', target: this }));
|
||||
this.dispatchEvent(createCloseEvent({ type: 'close', target: this, code: CLOSE_CODES.CLOSE_NORMAL }));
|
||||
|
||||
logger('error', `WebSocket connection to '${this.url}' failed`);
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
||||
get onopen() {
|
||||
return this.listeners.open;
|
||||
}
|
||||
|
||||
get onmessage() {
|
||||
return this.listeners.message;
|
||||
}
|
||||
|
||||
get onclose() {
|
||||
return this.listeners.close;
|
||||
}
|
||||
|
||||
get onerror() {
|
||||
return this.listeners.error;
|
||||
}
|
||||
|
||||
set onopen(listener) {
|
||||
delete this.listeners.open;
|
||||
this.addEventListener('open', listener);
|
||||
}
|
||||
|
||||
set onmessage(listener) {
|
||||
delete this.listeners.message;
|
||||
this.addEventListener('message', listener);
|
||||
}
|
||||
|
||||
set onclose(listener) {
|
||||
delete this.listeners.close;
|
||||
this.addEventListener('close', listener);
|
||||
}
|
||||
|
||||
set onerror(listener) {
|
||||
delete this.listeners.error;
|
||||
this.addEventListener('error', listener);
|
||||
}
|
||||
|
||||
send(data) {
|
||||
if (this.readyState === WebSocket.CLOSING || this.readyState === WebSocket.CLOSED) {
|
||||
throw new Error('WebSocket is already in CLOSING or CLOSED state');
|
||||
}
|
||||
|
||||
// TODO: handle bufferedAmount
|
||||
|
||||
const messageEvent = createMessageEvent({
|
||||
type: 'server::message',
|
||||
origin: this.url,
|
||||
data: normalizeSendData(data)
|
||||
});
|
||||
|
||||
const server = networkBridge.serverLookup(this.url);
|
||||
|
||||
if (server) {
|
||||
delay(() => {
|
||||
this.dispatchEvent(messageEvent, data);
|
||||
}, server);
|
||||
}
|
||||
}
|
||||
|
||||
close(code, reason) {
|
||||
if (code !== undefined) {
|
||||
if (typeof code !== 'number' || (code !== 1000 && (code < 3000 || code > 4999))) {
|
||||
throw new TypeError(
|
||||
`${ERROR_PREFIX.CLOSE_ERROR} The code must be either 1000, or between 3000 and 4999. ${code} is neither.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (reason !== undefined) {
|
||||
const length = lengthInUtf8Bytes(reason);
|
||||
|
||||
if (length > 123) {
|
||||
throw new SyntaxError(`${ERROR_PREFIX.CLOSE_ERROR} The message must not be greater than 123 bytes.`);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.readyState === WebSocket.CLOSING || this.readyState === WebSocket.CLOSED) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.readyState === WebSocket.CONNECTING) {
|
||||
failWebSocketConnection(this, code, reason);
|
||||
} else {
|
||||
closeWebSocketConnection(this, code, reason);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WebSocket.CONNECTING = 0;
|
||||
WebSocket.prototype.CONNECTING = WebSocket.CONNECTING;
|
||||
WebSocket.OPEN = 1;
|
||||
WebSocket.prototype.OPEN = WebSocket.OPEN;
|
||||
WebSocket.CLOSING = 2;
|
||||
WebSocket.prototype.CLOSING = WebSocket.CLOSING;
|
||||
WebSocket.CLOSED = 3;
|
||||
WebSocket.prototype.CLOSED = WebSocket.CLOSED;
|
||||
|
||||
export default WebSocket;
|
4687
node_modules/mock-socket/yarn.lock
generated
vendored
Normal file
4687
node_modules/mock-socket/yarn.lock
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
22
node_modules/querystringify/LICENSE
generated
vendored
Normal file
22
node_modules/querystringify/LICENSE
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
60
node_modules/querystringify/README.md
generated
vendored
Normal file
60
node_modules/querystringify/README.md
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
# querystringify
|
||||
|
||||
[](http://unshift.io)[](http://browsenpm.org/package/querystringify)[](https://travis-ci.org/unshiftio/querystringify)[](https://david-dm.org/unshiftio/querystringify)[](https://coveralls.io/r/unshiftio/querystringify?branch=master)[](http://webchat.freenode.net/?channels=unshift)
|
||||
|
||||
A somewhat JSON compatible interface for query string parsing. This query string
|
||||
parser is dumb, don't expect to much from it as it only wants to parse simple
|
||||
query strings. If you want to parse complex, multi level and deeply nested
|
||||
query strings then you should ask your self. WTF am I doing?
|
||||
|
||||
## Installation
|
||||
|
||||
This module is released in npm as `querystringify`. It's also compatible with
|
||||
`browserify` so it can be used on the server as well as on the client. To
|
||||
install it simply run the following command from your CLI:
|
||||
|
||||
```
|
||||
npm install --save querystringify
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
In the following examples we assume that you've already required the library as:
|
||||
|
||||
```js
|
||||
'use strict';
|
||||
|
||||
var qs = require('querystringify');
|
||||
```
|
||||
|
||||
### qs.parse()
|
||||
|
||||
The parse method transforms a given query string in to an object. Parameters
|
||||
without values are set to empty strings. It does not care if your query string
|
||||
is prefixed with a `?` or not. It just extracts the parts between the `=` and
|
||||
`&`:
|
||||
|
||||
```js
|
||||
qs.parse('?foo=bar'); // { foo: 'bar' }
|
||||
qs.parse('foo=bar'); // { foo: 'bar' }
|
||||
qs.parse('foo=bar&bar=foo'); // { foo: 'bar', bar: 'foo' }
|
||||
qs.parse('foo&bar=foo'); // { foo: '', bar: 'foo' }
|
||||
```
|
||||
|
||||
### qs.stringify()
|
||||
|
||||
This transforms a given object in to a query string. By default we return the
|
||||
query string without a `?` prefix. If you want to prefix it by default simply
|
||||
supply `true` as second argument. If it should be prefixed by something else
|
||||
simply supply a string with the prefix value as second argument:
|
||||
|
||||
```js
|
||||
qs.stringify({ foo: bar }); // foo=bar
|
||||
qs.stringify({ foo: bar }, true); // ?foo=bar
|
||||
qs.stringify({ foo: bar }, '&'); // &foo=bar
|
||||
qs.stringify({ foo: '' }, '&'); // &foo=
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
88
node_modules/querystringify/index.js
generated
vendored
Normal file
88
node_modules/querystringify/index.js
generated
vendored
Normal file
@ -0,0 +1,88 @@
|
||||
'use strict';
|
||||
|
||||
var has = Object.prototype.hasOwnProperty
|
||||
, undef;
|
||||
|
||||
/**
|
||||
* Decode a URI encoded string.
|
||||
*
|
||||
* @param {String} input The URI encoded string.
|
||||
* @returns {String} The decoded string.
|
||||
* @api private
|
||||
*/
|
||||
function decode(input) {
|
||||
return decodeURIComponent(input.replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple query string parser.
|
||||
*
|
||||
* @param {String} query The query string that needs to be parsed.
|
||||
* @returns {Object}
|
||||
* @api public
|
||||
*/
|
||||
function querystring(query) {
|
||||
var parser = /([^=?&]+)=?([^&]*)/g
|
||||
, result = {}
|
||||
, part;
|
||||
|
||||
while (part = parser.exec(query)) {
|
||||
var key = decode(part[1])
|
||||
, value = decode(part[2]);
|
||||
|
||||
//
|
||||
// Prevent overriding of existing properties. This ensures that build-in
|
||||
// methods like `toString` or __proto__ are not overriden by malicious
|
||||
// querystrings.
|
||||
//
|
||||
if (key in result) continue;
|
||||
result[key] = value;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform a query string to an object.
|
||||
*
|
||||
* @param {Object} obj Object that should be transformed.
|
||||
* @param {String} prefix Optional prefix.
|
||||
* @returns {String}
|
||||
* @api public
|
||||
*/
|
||||
function querystringify(obj, prefix) {
|
||||
prefix = prefix || '';
|
||||
|
||||
var pairs = []
|
||||
, value
|
||||
, key;
|
||||
|
||||
//
|
||||
// Optionally prefix with a '?' if needed
|
||||
//
|
||||
if ('string' !== typeof prefix) prefix = '?';
|
||||
|
||||
for (key in obj) {
|
||||
if (has.call(obj, key)) {
|
||||
value = obj[key];
|
||||
|
||||
//
|
||||
// Edge cases where we actually want to encode the value to an empty
|
||||
// string instead of the stringified value.
|
||||
//
|
||||
if (!value && (value === null || value === undef || isNaN(value))) {
|
||||
value = '';
|
||||
}
|
||||
|
||||
pairs.push(encodeURIComponent(key) +'='+ encodeURIComponent(value));
|
||||
}
|
||||
}
|
||||
|
||||
return pairs.length ? prefix + pairs.join('&') : '';
|
||||
}
|
||||
|
||||
//
|
||||
// Expose the module.
|
||||
//
|
||||
exports.stringify = querystringify;
|
||||
exports.parse = querystring;
|
66
node_modules/querystringify/package.json
generated
vendored
Normal file
66
node_modules/querystringify/package.json
generated
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
{
|
||||
"_from": "querystringify@^2.0.0",
|
||||
"_id": "querystringify@2.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==",
|
||||
"_location": "/querystringify",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "querystringify@^2.0.0",
|
||||
"name": "querystringify",
|
||||
"escapedName": "querystringify",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/url-parse"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
|
||||
"_shasum": "7ded8dfbf7879dcc60d0a644ac6754b283ad17ef",
|
||||
"_spec": "querystringify@^2.0.0",
|
||||
"_where": "/Users/josh.burman/Projects/braid/node_modules/url-parse",
|
||||
"author": {
|
||||
"name": "Arnout Kazemier"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/unshiftio/querystringify/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Querystringify - Small, simple but powerful query string parser.",
|
||||
"devDependencies": {
|
||||
"assume": "^2.1.0",
|
||||
"istanbul": "^0.4.5",
|
||||
"mocha": "^5.2.0",
|
||||
"pre-commit": "^1.2.2"
|
||||
},
|
||||
"homepage": "https://github.com/unshiftio/querystringify",
|
||||
"keywords": [
|
||||
"query",
|
||||
"string",
|
||||
"query-string",
|
||||
"querystring",
|
||||
"qs",
|
||||
"stringify",
|
||||
"parse",
|
||||
"decode",
|
||||
"encode"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "querystringify",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/unshiftio/querystringify.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coverage": "istanbul cover _mocha -- test.js",
|
||||
"test": "mocha test.js",
|
||||
"test-travis": "istanbul cover _mocha --report lcovonly -- test.js",
|
||||
"watch": "mocha --watch test.js"
|
||||
},
|
||||
"version": "2.1.0"
|
||||
}
|
2
node_modules/requires-port/.npmignore
generated
vendored
Normal file
2
node_modules/requires-port/.npmignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
coverage
|
19
node_modules/requires-port/.travis.yml
generated
vendored
Normal file
19
node_modules/requires-port/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
sudo: false
|
||||
language: node_js
|
||||
node_js:
|
||||
- "4"
|
||||
- "iojs"
|
||||
- "0.12"
|
||||
- "0.10"
|
||||
script:
|
||||
- "npm run test-travis"
|
||||
after_script:
|
||||
- "npm install coveralls@2 && cat coverage/lcov.info | coveralls"
|
||||
matrix:
|
||||
fast_finish: true
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "irc.freenode.org#unshift"
|
||||
on_success: change
|
||||
on_failure: change
|
22
node_modules/requires-port/LICENSE
generated
vendored
Normal file
22
node_modules/requires-port/LICENSE
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
47
node_modules/requires-port/README.md
generated
vendored
Normal file
47
node_modules/requires-port/README.md
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
# requires-port
|
||||
|
||||
[](http://unshift.io)[](http://browsenpm.org/package/requires-port)[](https://travis-ci.org/unshiftio/requires-port)[](https://david-dm.org/unshiftio/requires-port)[](https://coveralls.io/r/unshiftio/requires-port?branch=master)[](http://webchat.freenode.net/?channels=unshift)
|
||||
|
||||
The module name says it all, check if a protocol requires a given port.
|
||||
|
||||
## Installation
|
||||
|
||||
This module is intended to be used with browserify or Node.js and is distributed
|
||||
in the public npm registry. To install it simply run the following command from
|
||||
your CLI:
|
||||
|
||||
```j
|
||||
npm install --save requires-port
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
The module exports it self as function and requires 2 arguments:
|
||||
|
||||
1. The port number, can be a string or number.
|
||||
2. Protocol, can be `http`, `http:` or even `https://yomoma.com`. We just split
|
||||
it at `:` and use the first result. We currently accept the following
|
||||
protocols:
|
||||
- `http`
|
||||
- `https`
|
||||
- `ws`
|
||||
- `wss`
|
||||
- `ftp`
|
||||
- `gopher`
|
||||
- `file`
|
||||
|
||||
It returns a boolean that indicates if protocol requires this port to be added
|
||||
to your URL.
|
||||
|
||||
```js
|
||||
'use strict';
|
||||
|
||||
var required = require('requires-port');
|
||||
|
||||
console.log(required('8080', 'http')) // true
|
||||
console.log(required('80', 'http')) // false
|
||||
```
|
||||
|
||||
# License
|
||||
|
||||
MIT
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user