summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/streaming.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/streaming.ts b/test/streaming.ts
new file mode 100644
index 0000000000..65ab449b69
--- /dev/null
+++ b/test/streaming.ts
@@ -0,0 +1,35 @@
+import WS from 'jest-websocket-mock';
+import Stream from '../src/streaming';
+
+describe('Streaming', () => {
+ test('success', async () => {
+ const server = new WS('wss://misskey.test/streaming');
+ const stream = new Stream('https://misskey.test', { token: 'TOKEN' });
+ const mainChannelReceived: any[] = [];
+ const main = stream.useSharedConnection('main');
+ main.on('foo', payload => {
+ mainChannelReceived.push(payload);
+ });
+ await server.connected;
+ const msg = JSON.parse(await server.nextMessage as string);
+ const mainChannelId = msg.body.id;
+ expect(msg.type).toEqual('connect');
+ expect(msg.body.channel).toEqual('main');
+ expect(mainChannelId != null).toEqual(true);
+
+ server.send(JSON.stringify({
+ type: 'channel',
+ body: {
+ id: mainChannelId,
+ type: 'foo',
+ body: {
+ bar: 'buzz'
+ }
+ }
+ }));
+
+ expect(mainChannelReceived[0]).toEqual({
+ bar: 'buzz'
+ });
+ });
+});