|
@@ -1,5 +1,6 @@
|
|
import { expect } from 'chai';
|
|
import { expect } from 'chai';
|
|
import { Server, WebSocket } from 'mock-socket';
|
|
import { Server, WebSocket } from 'mock-socket';
|
|
|
|
+import type {Server as HttpServer} from 'node:http';
|
|
import { Realm } from '../../../src/models/realm';
|
|
import { Realm } from '../../../src/models/realm';
|
|
import { WebSocketServer } from '../../../src/services/webSocketServer';
|
|
import { WebSocketServer } from '../../../src/services/webSocketServer';
|
|
import { Errors, MessageType } from '../../../src/enums';
|
|
import { Errors, MessageType } from '../../../src/enums';
|
|
@@ -52,10 +53,10 @@ const checkSequence = async (c: WebSocket, msgs: { type: MessageType; error?: Er
|
|
};
|
|
};
|
|
|
|
|
|
const createTestServer = ({ realm, config, url }: { realm: Realm; config: { path: string; key: string; concurrent_limit: number; }; url: string; }): Destroyable<WebSocketServer> => {
|
|
const createTestServer = ({ realm, config, url }: { realm: Realm; config: { path: string; key: string; concurrent_limit: number; }; url: string; }): Destroyable<WebSocketServer> => {
|
|
- const server = new Server(url);
|
|
|
|
|
|
+ const server = new Server(url) as Server & HttpServer;
|
|
const webSocketServer: Destroyable<WebSocketServer> = new WebSocketServer({ server, realm, config });
|
|
const webSocketServer: Destroyable<WebSocketServer> = new WebSocketServer({ server, realm, config });
|
|
|
|
|
|
- server.on('connection', (socket) => {
|
|
|
|
|
|
+ server.on('connection', (socket: WebSocket & { on?: (eventName: string, callback: () => void) => void; }) => {
|
|
const s = webSocketServer.socketServer;
|
|
const s = webSocketServer.socketServer;
|
|
s.emit('connection', socket, { url: socket.url });
|
|
s.emit('connection', socket, { url: socket.url });
|
|
|
|
|
|
@@ -101,8 +102,8 @@ describe('WebSocketServer', () => {
|
|
const realm = new Realm();
|
|
const realm = new Realm();
|
|
const config = { path: '/', key: 'testKey', concurrent_limit: 1 };
|
|
const config = { path: '/', key: 'testKey', concurrent_limit: 1 };
|
|
const config2 = { ...config, path: 'path' };
|
|
const config2 = { ...config, path: 'path' };
|
|
- const server = new Server('path1');
|
|
|
|
- const server2 = new Server('path2');
|
|
|
|
|
|
+ const server = new Server('path1') as Server & HttpServer;
|
|
|
|
+ const server2 = new Server('path2') as Server & HttpServer;
|
|
|
|
|
|
const webSocketServer = new WebSocketServer({ server, realm, config });
|
|
const webSocketServer = new WebSocketServer({ server, realm, config });
|
|
|
|
|
|
@@ -155,11 +156,11 @@ describe('WebSocketServer', () => {
|
|
ws.destroy = async (): Promise<void> => {
|
|
ws.destroy = async (): Promise<void> => {
|
|
ws.close();
|
|
ws.close();
|
|
|
|
|
|
- wait(10);
|
|
|
|
|
|
+ wait(10);
|
|
|
|
|
|
- webSocketServer.destroy?.();
|
|
|
|
|
|
+ webSocketServer.destroy?.();
|
|
|
|
|
|
- wait(10);
|
|
|
|
|
|
+ wait(10);
|
|
|
|
|
|
ws.destroy = undefined;
|
|
ws.destroy = undefined;
|
|
};
|
|
};
|