From 0f54229d0d02e95f124ff9502fbfea97ba80840e Mon Sep 17 00:00:00 2001 From: H01001000 Date: Thu, 2 Feb 2023 21:01:36 -0800 Subject: [PATCH] test(gateway): add heartbeat test --- .../tests/integration/connection.spec.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/gateway/tests/integration/connection.spec.ts b/packages/gateway/tests/integration/connection.spec.ts index 84fd1029d..c2659d3c5 100644 --- a/packages/gateway/tests/integration/connection.spec.ts +++ b/packages/gateway/tests/integration/connection.spec.ts @@ -124,4 +124,29 @@ describe('gateway', () => { await gateway.shutdown(ShardSocketCloseCodes.Shutdown, 'User requested bot stop') uWS.us_listen_socket_close(uwsToken) }) + + it('will heartbeat', async function () { + this.timeout(6000) + let resolveHeartbeat + let resolveConnected + const connected = new Promise((resolve) => (resolveConnected = resolve)) + const Heartbeated = new Promise((resolve) => (resolveHeartbeat = resolve)) + const { port, uwsToken } = await createUWS({ + onOpen: resolveConnected, + onMessage: (message) => { + if (message.op !== 1) return + resolveHeartbeat() + }, + }) + const gateway = createGatewayManagerWithPort(port) + await gateway.spawnShards() + await connected + const timeout = setTimeout(() => { + throw new Error('Not heartbeat in time') + }, 100) + await Heartbeated + clearTimeout(timeout) + await gateway.shutdown(ShardSocketCloseCodes.Shutdown, 'User requested bot stop') + uWS.us_listen_socket_close(uwsToken) + }) })