raffel 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/testing/index.d.ts +56 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +342 -41
- package/dist/testing/index.js.map +1 -1
- package/package.json +1 -1
package/dist/testing/index.d.ts
CHANGED
|
@@ -236,11 +236,23 @@ export declare class MockUdpServer extends EventEmitter {
|
|
|
236
236
|
export declare const createMockUdpServer: (options?: MockUdpServerOptions) => Promise<MockUdpServer>;
|
|
237
237
|
/**
|
|
238
238
|
* WebSocket Mock Server
|
|
239
|
+
*
|
|
240
|
+
* Two modes:
|
|
241
|
+
* - `raw` (default): Echo/pattern-based string handlers. Good for testing
|
|
242
|
+
* raw WebSocket messaging without envelope protocol.
|
|
243
|
+
* - `full`: Raffel envelope protocol with RPC (call/response), channels
|
|
244
|
+
* (subscribe/publish/presence), and streams. Compatible with RaffelClient.
|
|
239
245
|
*/
|
|
240
246
|
export interface MockWebSocketServerOptions {
|
|
241
247
|
host?: string;
|
|
242
248
|
port?: number;
|
|
243
249
|
path?: string;
|
|
250
|
+
/**
|
|
251
|
+
* Server mode:
|
|
252
|
+
* - `'raw'` (default): Echo/pattern handler. Messages are strings/buffers.
|
|
253
|
+
* - `'full'`: Raffel envelope protocol. Understands RPC, channels, presence.
|
|
254
|
+
*/
|
|
255
|
+
mode?: 'raw' | 'full';
|
|
244
256
|
defaultResponse?: string;
|
|
245
257
|
echo?: MockEchoOptions;
|
|
246
258
|
/** Fraction of incoming messages to drop silently (0–1). Default: 0 */
|
|
@@ -249,37 +261,77 @@ export interface MockWebSocketServerOptions {
|
|
|
249
261
|
maxConnections?: number;
|
|
250
262
|
/** Auto-close each connection after this many ms (0 = disabled). Default: 0 */
|
|
251
263
|
autoCloseAfter?: number;
|
|
264
|
+
/** Called on connection in full mode. Receives socketId and send function. */
|
|
265
|
+
onConnection?: (socketId: string, send: (msg: unknown) => void) => void;
|
|
252
266
|
}
|
|
253
267
|
export type MockWsMessageHandler = (message: string | Buffer, socket: WebSocket) => MaybeAsync<string | Buffer | void>;
|
|
268
|
+
export type MockWsProcedureHandler = (payload: unknown, ctx: {
|
|
269
|
+
socketId: string;
|
|
270
|
+
}) => MaybeAsync<unknown>;
|
|
254
271
|
export declare class MockWebSocketServer extends EventEmitter {
|
|
255
272
|
private readonly options;
|
|
256
273
|
private server;
|
|
257
274
|
private _port;
|
|
258
275
|
private _running;
|
|
276
|
+
private _mode;
|
|
259
277
|
private echo;
|
|
260
278
|
private handler;
|
|
261
279
|
private patternHandlers;
|
|
262
280
|
private _connections;
|
|
281
|
+
private _clients;
|
|
282
|
+
private _socketToId;
|
|
283
|
+
private _channels;
|
|
284
|
+
private _procedures;
|
|
285
|
+
private _epoch;
|
|
286
|
+
private _onConnection?;
|
|
263
287
|
constructor(options?: MockWebSocketServerOptions);
|
|
288
|
+
get mode(): 'raw' | 'full';
|
|
264
289
|
setEcho(options?: MockEchoOptions | boolean): void;
|
|
265
290
|
private createEchoPayload;
|
|
266
291
|
get port(): number;
|
|
267
292
|
get url(): string;
|
|
268
293
|
get isRunning(): boolean;
|
|
269
294
|
get connectionCount(): number;
|
|
295
|
+
/** Get all connected client IDs (full mode only) */
|
|
296
|
+
get clientIds(): string[];
|
|
297
|
+
/** Get all active channel names (full mode only) */
|
|
298
|
+
get channelNames(): string[];
|
|
270
299
|
setMessageHandler(handler: MockWsMessageHandler): void;
|
|
271
300
|
/**
|
|
272
|
-
* Register a pattern-based handler
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
* @param handler - A static string response or a function `(msg) => response`.
|
|
301
|
+
* Register a pattern-based handler (raw mode).
|
|
302
|
+
* Patterns are matched in order; first match wins. Falls back to `setMessageHandler`.
|
|
276
303
|
*/
|
|
277
304
|
setResponse(pattern: string | RegExp, handler: string | ((msg: string) => string)): this;
|
|
305
|
+
/**
|
|
306
|
+
* Register an RPC procedure handler (full mode).
|
|
307
|
+
* When a client sends `{ type: 'request', procedure: name }`, this handler is called
|
|
308
|
+
* and its return value is sent back as `{ type: 'response', payload: result }`.
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* server.setProcedure('users.get', async (payload) => {
|
|
313
|
+
* return { id: '1', name: 'Alice' }
|
|
314
|
+
* })
|
|
315
|
+
* ```
|
|
316
|
+
*/
|
|
317
|
+
setProcedure(name: string, handler: MockWsProcedureHandler): this;
|
|
318
|
+
/** Send a JSON message to a specific client by socketId (full mode) */
|
|
319
|
+
sendTo(socketId: string, message: unknown): boolean;
|
|
320
|
+
/** Broadcast an event to a channel (full mode) */
|
|
321
|
+
broadcastToChannel(channel: string, event: string, data: unknown, except?: string): number;
|
|
322
|
+
/** Get subscriber count for a channel (full mode) */
|
|
323
|
+
getChannelSubscriberCount(channel: string): number;
|
|
324
|
+
/** Get channels a client is subscribed to (full mode) */
|
|
325
|
+
getClientChannels(socketId: string): string[];
|
|
278
326
|
/** Close all active WebSocket connections. */
|
|
279
327
|
closeAllConnections(): void;
|
|
280
328
|
start(): Promise<void>;
|
|
281
329
|
stop(): Promise<void>;
|
|
282
330
|
broadcast(payload: string | Buffer): number;
|
|
331
|
+
private _setupRawModeConnection;
|
|
332
|
+
private _setupFullModeConnection;
|
|
333
|
+
private _handleFullModeMessage;
|
|
334
|
+
private _broadcastChannelEvent;
|
|
283
335
|
}
|
|
284
336
|
export declare const createMockWebSocketServer: (options?: MockWebSocketServerOptions) => Promise<MockWebSocketServer>;
|
|
285
337
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.js
CHANGED
|
@@ -22,7 +22,7 @@ import { EventEmitter } from 'node:events';
|
|
|
22
22
|
import { createServer as createHttpServer, } from 'node:http';
|
|
23
23
|
import { createServer as createTcpServer } from 'node:net';
|
|
24
24
|
import { createSocket } from 'node:dgram';
|
|
25
|
-
import { WebSocketServer } from 'ws';
|
|
25
|
+
import { WebSocketServer, WebSocket } from 'ws';
|
|
26
26
|
import { normalizeMockEchoOptions, resolveMockEchoPayload, } from './echo-protection.js';
|
|
27
27
|
import { createMockServiceSuiteInternal, stopMockServiceSuiteInternal, } from './service-suite.js';
|
|
28
28
|
import { createMockDnsServer } from './mock-dns-server.js';
|
|
@@ -702,31 +702,49 @@ export const createMockUdpServer = async (options = {}) => {
|
|
|
702
702
|
await server.start();
|
|
703
703
|
return server;
|
|
704
704
|
};
|
|
705
|
+
let _mockIdCounter = 0;
|
|
706
|
+
function mockSid() {
|
|
707
|
+
return `mock-${++_mockIdCounter}-${Math.random().toString(36).slice(2, 8)}`;
|
|
708
|
+
}
|
|
705
709
|
export class MockWebSocketServer extends EventEmitter {
|
|
706
710
|
options;
|
|
707
711
|
server = null;
|
|
708
712
|
_port = 0;
|
|
709
713
|
_running = false;
|
|
714
|
+
_mode;
|
|
710
715
|
echo;
|
|
711
716
|
handler = (message) => message;
|
|
712
717
|
patternHandlers = [];
|
|
713
718
|
_connections = new Set();
|
|
719
|
+
// Full mode state
|
|
720
|
+
_clients = new Map();
|
|
721
|
+
_socketToId = new Map();
|
|
722
|
+
_channels = new Map();
|
|
723
|
+
_procedures = new Map();
|
|
724
|
+
_epoch = mockSid();
|
|
725
|
+
_onConnection;
|
|
714
726
|
constructor(options = {}) {
|
|
715
727
|
super();
|
|
728
|
+
this._mode = options.mode ?? 'raw';
|
|
729
|
+
this._onConnection = options.onConnection;
|
|
716
730
|
this.options = {
|
|
717
731
|
host: normalizeHost(options.host),
|
|
718
732
|
port: options.port ?? 0,
|
|
719
733
|
path: options.path ?? '/',
|
|
734
|
+
mode: this._mode,
|
|
720
735
|
defaultResponse: options.defaultResponse ?? '',
|
|
721
736
|
dropRate: options.dropRate ?? 0,
|
|
722
737
|
maxConnections: options.maxConnections ?? 0,
|
|
723
738
|
autoCloseAfter: options.autoCloseAfter ?? 0,
|
|
724
739
|
};
|
|
725
|
-
this.echo = normalizeMockEchoOptions(options.echo ??
|
|
740
|
+
this.echo = normalizeMockEchoOptions(options.echo ?? (this._mode === 'raw'));
|
|
726
741
|
this.handler = this.options.defaultResponse.length > 0
|
|
727
742
|
? () => this.options.defaultResponse
|
|
728
743
|
: (message) => this.createEchoPayload(message);
|
|
729
744
|
}
|
|
745
|
+
get mode() {
|
|
746
|
+
return this._mode;
|
|
747
|
+
}
|
|
730
748
|
setEcho(options = true) {
|
|
731
749
|
this.echo = normalizeMockEchoOptions(options);
|
|
732
750
|
this.handler = (message) => this.createEchoPayload(message);
|
|
@@ -755,25 +773,90 @@ export class MockWebSocketServer extends EventEmitter {
|
|
|
755
773
|
get connectionCount() {
|
|
756
774
|
return this._connections.size;
|
|
757
775
|
}
|
|
776
|
+
/** Get all connected client IDs (full mode only) */
|
|
777
|
+
get clientIds() {
|
|
778
|
+
return [...this._clients.keys()];
|
|
779
|
+
}
|
|
780
|
+
/** Get all active channel names (full mode only) */
|
|
781
|
+
get channelNames() {
|
|
782
|
+
return [...this._channels.keys()];
|
|
783
|
+
}
|
|
758
784
|
setMessageHandler(handler) {
|
|
759
785
|
this.handler = handler;
|
|
760
786
|
}
|
|
761
787
|
/**
|
|
762
|
-
* Register a pattern-based handler
|
|
763
|
-
*
|
|
764
|
-
*
|
|
765
|
-
* @param handler - A static string response or a function `(msg) => response`.
|
|
788
|
+
* Register a pattern-based handler (raw mode).
|
|
789
|
+
* Patterns are matched in order; first match wins. Falls back to `setMessageHandler`.
|
|
766
790
|
*/
|
|
767
791
|
setResponse(pattern, handler) {
|
|
768
792
|
this.patternHandlers.push({ pattern, handler });
|
|
769
793
|
return this;
|
|
770
794
|
}
|
|
795
|
+
/**
|
|
796
|
+
* Register an RPC procedure handler (full mode).
|
|
797
|
+
* When a client sends `{ type: 'request', procedure: name }`, this handler is called
|
|
798
|
+
* and its return value is sent back as `{ type: 'response', payload: result }`.
|
|
799
|
+
*
|
|
800
|
+
* @example
|
|
801
|
+
* ```typescript
|
|
802
|
+
* server.setProcedure('users.get', async (payload) => {
|
|
803
|
+
* return { id: '1', name: 'Alice' }
|
|
804
|
+
* })
|
|
805
|
+
* ```
|
|
806
|
+
*/
|
|
807
|
+
setProcedure(name, handler) {
|
|
808
|
+
this._procedures.set(name, handler);
|
|
809
|
+
return this;
|
|
810
|
+
}
|
|
811
|
+
/** Send a JSON message to a specific client by socketId (full mode) */
|
|
812
|
+
sendTo(socketId, message) {
|
|
813
|
+
const client = this._clients.get(socketId);
|
|
814
|
+
if (!client || client.socket.readyState !== WebSocket.OPEN)
|
|
815
|
+
return false;
|
|
816
|
+
client.socket.send(JSON.stringify(message));
|
|
817
|
+
return true;
|
|
818
|
+
}
|
|
819
|
+
/** Broadcast an event to a channel (full mode) */
|
|
820
|
+
broadcastToChannel(channel, event, data, except) {
|
|
821
|
+
const ch = this._channels.get(channel);
|
|
822
|
+
if (!ch)
|
|
823
|
+
return 0;
|
|
824
|
+
let count = 0;
|
|
825
|
+
const msg = JSON.stringify({
|
|
826
|
+
type: 'event',
|
|
827
|
+
channel,
|
|
828
|
+
event,
|
|
829
|
+
data,
|
|
830
|
+
seq: ++ch.seq,
|
|
831
|
+
epoch: this._epoch,
|
|
832
|
+
});
|
|
833
|
+
for (const socketId of ch.subscribers) {
|
|
834
|
+
if (socketId === except)
|
|
835
|
+
continue;
|
|
836
|
+
const client = this._clients.get(socketId);
|
|
837
|
+
if (client && client.socket.readyState === WebSocket.OPEN) {
|
|
838
|
+
client.socket.send(msg);
|
|
839
|
+
count++;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
return count;
|
|
843
|
+
}
|
|
844
|
+
/** Get subscriber count for a channel (full mode) */
|
|
845
|
+
getChannelSubscriberCount(channel) {
|
|
846
|
+
return this._channels.get(channel)?.subscribers.size ?? 0;
|
|
847
|
+
}
|
|
848
|
+
/** Get channels a client is subscribed to (full mode) */
|
|
849
|
+
getClientChannels(socketId) {
|
|
850
|
+
return [...(this._clients.get(socketId)?.channels ?? [])];
|
|
851
|
+
}
|
|
771
852
|
/** Close all active WebSocket connections. */
|
|
772
853
|
closeAllConnections() {
|
|
773
854
|
for (const socket of this._connections) {
|
|
774
855
|
socket.close();
|
|
775
856
|
}
|
|
776
857
|
this._connections.clear();
|
|
858
|
+
this._clients.clear();
|
|
859
|
+
this._socketToId.clear();
|
|
777
860
|
}
|
|
778
861
|
async start() {
|
|
779
862
|
if (this._running)
|
|
@@ -792,7 +875,6 @@ export class MockWebSocketServer extends EventEmitter {
|
|
|
792
875
|
return;
|
|
793
876
|
}
|
|
794
877
|
this._connections.add(socket);
|
|
795
|
-
this.emit('connection', socket);
|
|
796
878
|
// Auto-close after timeout
|
|
797
879
|
let autoCloseTimer = null;
|
|
798
880
|
if (this.options.autoCloseAfter > 0) {
|
|
@@ -800,40 +882,12 @@ export class MockWebSocketServer extends EventEmitter {
|
|
|
800
882
|
socket.close(1000, 'Auto-closed');
|
|
801
883
|
}, this.options.autoCloseAfter);
|
|
802
884
|
}
|
|
803
|
-
|
|
804
|
-
this.
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
// Drop rate simulation
|
|
810
|
-
if (this.options.dropRate > 0 && Math.random() < this.options.dropRate) {
|
|
811
|
-
return;
|
|
812
|
-
}
|
|
813
|
-
const textOrBuffer = Buffer.isBuffer(data) ? data : data.toString();
|
|
814
|
-
const msgStr = Buffer.isBuffer(textOrBuffer) ? textOrBuffer.toString() : textOrBuffer;
|
|
815
|
-
// Check pattern handlers first
|
|
816
|
-
let response;
|
|
817
|
-
for (const { pattern, handler: patHandler } of this.patternHandlers) {
|
|
818
|
-
const matched = typeof pattern === 'string' ? msgStr === pattern : pattern.test(msgStr);
|
|
819
|
-
if (matched) {
|
|
820
|
-
response =
|
|
821
|
-
typeof patHandler === 'string' ? patHandler : patHandler(msgStr);
|
|
822
|
-
break;
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
if (response === undefined) {
|
|
826
|
-
response = await Promise.resolve(this.handler(textOrBuffer, socket));
|
|
827
|
-
}
|
|
828
|
-
if (response === undefined) {
|
|
829
|
-
return;
|
|
830
|
-
}
|
|
831
|
-
socket.send(response, (error) => {
|
|
832
|
-
if (error) {
|
|
833
|
-
this.emit('error', error);
|
|
834
|
-
}
|
|
835
|
-
});
|
|
836
|
-
});
|
|
885
|
+
if (this._mode === 'full') {
|
|
886
|
+
this._setupFullModeConnection(socket, autoCloseTimer);
|
|
887
|
+
}
|
|
888
|
+
else {
|
|
889
|
+
this._setupRawModeConnection(socket, autoCloseTimer);
|
|
890
|
+
}
|
|
837
891
|
});
|
|
838
892
|
const onListening = () => {
|
|
839
893
|
const address = this.server?.address();
|
|
@@ -853,6 +907,7 @@ export class MockWebSocketServer extends EventEmitter {
|
|
|
853
907
|
if (!this._running || !this.server)
|
|
854
908
|
return;
|
|
855
909
|
this.closeAllConnections();
|
|
910
|
+
this._channels.clear();
|
|
856
911
|
await new Promise((resolve) => {
|
|
857
912
|
this.server?.close(() => {
|
|
858
913
|
this._running = false;
|
|
@@ -870,6 +925,252 @@ export class MockWebSocketServer extends EventEmitter {
|
|
|
870
925
|
}
|
|
871
926
|
return sockets.size;
|
|
872
927
|
}
|
|
928
|
+
// ============================================================================
|
|
929
|
+
// Raw mode
|
|
930
|
+
// ============================================================================
|
|
931
|
+
_setupRawModeConnection(socket, autoCloseTimer) {
|
|
932
|
+
this.emit('connection', socket);
|
|
933
|
+
socket.on('close', () => {
|
|
934
|
+
this._connections.delete(socket);
|
|
935
|
+
if (autoCloseTimer)
|
|
936
|
+
clearTimeout(autoCloseTimer);
|
|
937
|
+
});
|
|
938
|
+
socket.on('message', async (data) => {
|
|
939
|
+
if (this.options.dropRate > 0 && Math.random() < this.options.dropRate)
|
|
940
|
+
return;
|
|
941
|
+
const msgStr = Buffer.isBuffer(data) ? data.toString() : data.toString();
|
|
942
|
+
let response;
|
|
943
|
+
for (const { pattern, handler: patHandler } of this.patternHandlers) {
|
|
944
|
+
const matched = typeof pattern === 'string' ? msgStr === pattern : pattern.test(msgStr);
|
|
945
|
+
if (matched) {
|
|
946
|
+
response = typeof patHandler === 'string' ? patHandler : patHandler(msgStr);
|
|
947
|
+
break;
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
if (response === undefined) {
|
|
951
|
+
response = await Promise.resolve(this.handler(msgStr, socket));
|
|
952
|
+
}
|
|
953
|
+
if (response === undefined)
|
|
954
|
+
return;
|
|
955
|
+
const payload = Buffer.isBuffer(response) ? response.toString() : response;
|
|
956
|
+
socket.send(payload, (error) => {
|
|
957
|
+
if (error)
|
|
958
|
+
this.emit('error', error);
|
|
959
|
+
});
|
|
960
|
+
});
|
|
961
|
+
}
|
|
962
|
+
// ============================================================================
|
|
963
|
+
// Full mode — Raffel envelope protocol
|
|
964
|
+
// ============================================================================
|
|
965
|
+
_setupFullModeConnection(socket, autoCloseTimer) {
|
|
966
|
+
const socketId = mockSid();
|
|
967
|
+
const client = { socketId, socket, channels: new Set() };
|
|
968
|
+
this._clients.set(socketId, client);
|
|
969
|
+
this._socketToId.set(socket, socketId);
|
|
970
|
+
const send = (msg) => {
|
|
971
|
+
if (socket.readyState === WebSocket.OPEN) {
|
|
972
|
+
socket.send(JSON.stringify(msg));
|
|
973
|
+
}
|
|
974
|
+
};
|
|
975
|
+
this.emit('connection', socketId, send);
|
|
976
|
+
if (this._onConnection) {
|
|
977
|
+
this._onConnection(socketId, send);
|
|
978
|
+
}
|
|
979
|
+
socket.on('close', (code, reason) => {
|
|
980
|
+
this._connections.delete(socket);
|
|
981
|
+
if (autoCloseTimer)
|
|
982
|
+
clearTimeout(autoCloseTimer);
|
|
983
|
+
// Unsubscribe from all channels + send presence events
|
|
984
|
+
for (const channel of client.channels) {
|
|
985
|
+
const ch = this._channels.get(channel);
|
|
986
|
+
if (ch) {
|
|
987
|
+
ch.subscribers.delete(socketId);
|
|
988
|
+
if (channel.startsWith('presence-')) {
|
|
989
|
+
this._broadcastChannelEvent(channel, 'member_removed', { id: socketId }, socketId);
|
|
990
|
+
}
|
|
991
|
+
if (ch.subscribers.size === 0)
|
|
992
|
+
this._channels.delete(channel);
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
client.channels.clear();
|
|
996
|
+
this._clients.delete(socketId);
|
|
997
|
+
this._socketToId.delete(socket);
|
|
998
|
+
this.emit('disconnected', socketId, code, reason?.toString());
|
|
999
|
+
});
|
|
1000
|
+
socket.on('message', async (data) => {
|
|
1001
|
+
if (this.options.dropRate > 0 && Math.random() < this.options.dropRate)
|
|
1002
|
+
return;
|
|
1003
|
+
const raw = Buffer.isBuffer(data) ? data.toString() : data.toString();
|
|
1004
|
+
let parsed;
|
|
1005
|
+
try {
|
|
1006
|
+
parsed = JSON.parse(raw);
|
|
1007
|
+
}
|
|
1008
|
+
catch {
|
|
1009
|
+
send({ type: 'error', code: 'INVALID_JSON', status: 400, message: 'Invalid JSON' });
|
|
1010
|
+
return;
|
|
1011
|
+
}
|
|
1012
|
+
this.emit('message', socketId, parsed);
|
|
1013
|
+
await this._handleFullModeMessage(socketId, parsed, send);
|
|
1014
|
+
});
|
|
1015
|
+
}
|
|
1016
|
+
async _handleFullModeMessage(socketId, msg, send) {
|
|
1017
|
+
const { id, type } = msg;
|
|
1018
|
+
switch (type) {
|
|
1019
|
+
// RPC request → response
|
|
1020
|
+
case 'request': {
|
|
1021
|
+
const handler = this._procedures.get(msg.procedure);
|
|
1022
|
+
if (!handler) {
|
|
1023
|
+
send({
|
|
1024
|
+
id: id ? `${id}:error` : undefined,
|
|
1025
|
+
type: 'error',
|
|
1026
|
+
payload: { code: 'NOT_FOUND', status: 404, message: `Procedure "${msg.procedure}" not found` },
|
|
1027
|
+
});
|
|
1028
|
+
return;
|
|
1029
|
+
}
|
|
1030
|
+
try {
|
|
1031
|
+
const result = await handler(msg.payload, { socketId });
|
|
1032
|
+
send({ id: id ? `${id}:response` : undefined, type: 'response', payload: result });
|
|
1033
|
+
}
|
|
1034
|
+
catch (err) {
|
|
1035
|
+
send({
|
|
1036
|
+
id: id ? `${id}:error` : undefined,
|
|
1037
|
+
type: 'error',
|
|
1038
|
+
payload: { code: err.code ?? 'INTERNAL_ERROR', status: err.status ?? 500, message: err.message ?? 'Internal error' },
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
return;
|
|
1042
|
+
}
|
|
1043
|
+
// Fire-and-forget event from client
|
|
1044
|
+
case 'event':
|
|
1045
|
+
case 'notify': {
|
|
1046
|
+
this.emit('procedure:event', msg.procedure, msg.payload, socketId);
|
|
1047
|
+
return;
|
|
1048
|
+
}
|
|
1049
|
+
// Channel subscribe
|
|
1050
|
+
case 'subscribe': {
|
|
1051
|
+
const { channel } = msg;
|
|
1052
|
+
if (!channel) {
|
|
1053
|
+
send({ id, type: 'error', code: 'INVALID_REQUEST', status: 400, message: 'Channel name required' });
|
|
1054
|
+
return;
|
|
1055
|
+
}
|
|
1056
|
+
const client = this._clients.get(socketId);
|
|
1057
|
+
if (!client)
|
|
1058
|
+
return;
|
|
1059
|
+
if (!this._channels.has(channel)) {
|
|
1060
|
+
this._channels.set(channel, { subscribers: new Set(), seq: 0 });
|
|
1061
|
+
}
|
|
1062
|
+
const ch = this._channels.get(channel);
|
|
1063
|
+
ch.subscribers.add(socketId);
|
|
1064
|
+
client.channels.add(channel);
|
|
1065
|
+
// Build response
|
|
1066
|
+
const response = { id, type: 'subscribed', channel };
|
|
1067
|
+
// Presence channels: include members list and notify others
|
|
1068
|
+
if (channel.startsWith('presence-')) {
|
|
1069
|
+
response.members = [...ch.subscribers].map(sid => ({
|
|
1070
|
+
id: sid,
|
|
1071
|
+
info: {},
|
|
1072
|
+
joinedAt: Date.now(),
|
|
1073
|
+
}));
|
|
1074
|
+
this._broadcastChannelEvent(channel, 'member_added', { id: socketId }, socketId);
|
|
1075
|
+
}
|
|
1076
|
+
send(response);
|
|
1077
|
+
this.emit('channel:subscribed', socketId, channel);
|
|
1078
|
+
return;
|
|
1079
|
+
}
|
|
1080
|
+
// Channel unsubscribe
|
|
1081
|
+
case 'unsubscribe': {
|
|
1082
|
+
const { channel } = msg;
|
|
1083
|
+
if (!channel)
|
|
1084
|
+
return;
|
|
1085
|
+
const client = this._clients.get(socketId);
|
|
1086
|
+
if (!client)
|
|
1087
|
+
return;
|
|
1088
|
+
client.channels.delete(channel);
|
|
1089
|
+
const ch = this._channels.get(channel);
|
|
1090
|
+
if (ch) {
|
|
1091
|
+
ch.subscribers.delete(socketId);
|
|
1092
|
+
if (channel.startsWith('presence-')) {
|
|
1093
|
+
this._broadcastChannelEvent(channel, 'member_removed', { id: socketId }, socketId);
|
|
1094
|
+
}
|
|
1095
|
+
if (ch.subscribers.size === 0)
|
|
1096
|
+
this._channels.delete(channel);
|
|
1097
|
+
}
|
|
1098
|
+
send({ id, type: 'unsubscribed', channel });
|
|
1099
|
+
this.emit('channel:unsubscribed', socketId, channel);
|
|
1100
|
+
return;
|
|
1101
|
+
}
|
|
1102
|
+
// Channel publish
|
|
1103
|
+
case 'publish': {
|
|
1104
|
+
const { channel, event, data } = msg;
|
|
1105
|
+
if (!channel || !event)
|
|
1106
|
+
return;
|
|
1107
|
+
this._broadcastChannelEvent(channel, event, data, socketId);
|
|
1108
|
+
this.emit('channel:publish', socketId, channel, event, data);
|
|
1109
|
+
return;
|
|
1110
|
+
}
|
|
1111
|
+
// Batch subscribe
|
|
1112
|
+
case 'subscribe:batch': {
|
|
1113
|
+
const results = {};
|
|
1114
|
+
const client = this._clients.get(socketId);
|
|
1115
|
+
if (!client)
|
|
1116
|
+
return;
|
|
1117
|
+
for (const item of (msg.channels ?? [])) {
|
|
1118
|
+
const ch = item.channel ?? item;
|
|
1119
|
+
if (!this._channels.has(ch)) {
|
|
1120
|
+
this._channels.set(ch, { subscribers: new Set(), seq: 0 });
|
|
1121
|
+
}
|
|
1122
|
+
const channel = this._channels.get(ch);
|
|
1123
|
+
channel.subscribers.add(socketId);
|
|
1124
|
+
client.channels.add(ch);
|
|
1125
|
+
const entry = { success: true };
|
|
1126
|
+
if (ch.startsWith('presence-')) {
|
|
1127
|
+
entry.members = [...channel.subscribers].map(sid => ({ id: sid, info: {}, joinedAt: Date.now() }));
|
|
1128
|
+
this._broadcastChannelEvent(ch, 'member_added', { id: socketId }, socketId);
|
|
1129
|
+
}
|
|
1130
|
+
results[ch] = entry;
|
|
1131
|
+
}
|
|
1132
|
+
send({ id, type: 'subscribed:batch', results });
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
// Typing indicator
|
|
1136
|
+
case 'typing': {
|
|
1137
|
+
const { channel, isTyping } = msg;
|
|
1138
|
+
if (!channel)
|
|
1139
|
+
return;
|
|
1140
|
+
this._broadcastChannelEvent(channel, isTyping ? 'typing' : 'typing:stop', { socketId }, socketId);
|
|
1141
|
+
return;
|
|
1142
|
+
}
|
|
1143
|
+
// Cancel (for streams/calls — just acknowledge)
|
|
1144
|
+
case 'cancel': {
|
|
1145
|
+
this.emit('cancel', socketId, id);
|
|
1146
|
+
return;
|
|
1147
|
+
}
|
|
1148
|
+
default: {
|
|
1149
|
+
this.emit('unknown', socketId, msg);
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
_broadcastChannelEvent(channel, event, data, except) {
|
|
1154
|
+
const ch = this._channels.get(channel);
|
|
1155
|
+
if (!ch)
|
|
1156
|
+
return;
|
|
1157
|
+
const msg = JSON.stringify({
|
|
1158
|
+
type: 'event',
|
|
1159
|
+
channel,
|
|
1160
|
+
event,
|
|
1161
|
+
data,
|
|
1162
|
+
seq: ++ch.seq,
|
|
1163
|
+
epoch: this._epoch,
|
|
1164
|
+
});
|
|
1165
|
+
for (const sid of ch.subscribers) {
|
|
1166
|
+
if (sid === except)
|
|
1167
|
+
continue;
|
|
1168
|
+
const client = this._clients.get(sid);
|
|
1169
|
+
if (client && client.socket.readyState === WebSocket.OPEN) {
|
|
1170
|
+
client.socket.send(msg);
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
873
1174
|
}
|
|
874
1175
|
export const createMockWebSocketServer = async (options = {}) => {
|
|
875
1176
|
const server = new MockWebSocketServer(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|