UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

64 lines 5.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_1 = require("../client"); const describe_with_server_1 = require("../tests/describe-with-server"); const utils_1 = require("../utils"); const ws_1 = require("ws"); (0, describe_with_server_1.describeWithServer)('RPC Communication', opts => { const { getClientOnServer } = opts; let client; beforeEach(() => { client = opts.client; }); it('should successfully initialise a session', async () => { await expect(client.waitForInit()).resolves.toBeUndefined(); expect(client.isInitialised).toBe(true); // ensure the server has our client expect(getClientOnServer()).toBeTruthy(); }); it('should gracefully handle terminated connection during init', async () => { await client.terminateConnection(); client = new client_1.AttestorClient({ logger: utils_1.logger, // a URL without a WS server url: `ws://localhost:${opts.mockhttpsServerPort}` }); await expect(client.waitForInit()).rejects.toHaveProperty('code'); }); it('should gracefully handle connection termination', async () => { const err = new utils_1.AttestorError('ERROR_INTERNAL', 'Test error', { abcd: 1 }); const waitForEnd = new Promise(resolve => { client.addEventListener('connection-terminated', d => { resolve(d.data); }); }); const ws = getClientOnServer(); await ws.terminateConnection(err); const recvErr = await waitForEnd; expect(recvErr).toEqual(err); expect(client.isOpen).not.toBe(ws_1.WebSocket.OPEN); }); it('should terminate connection to server', async () => { const ws = getClientOnServer(); const waitForEnd = new Promise(resolve => { ws.addEventListener('connection-terminated', d => { resolve(d.data); }); }); await client.terminateConnection(); await waitForEnd; }); it('should handle RPC error response', async () => { const err = new utils_1.AttestorError('ERROR_INTERNAL', 'Test error', { abcd: 1 }); const ws = getClientOnServer(); ws.addEventListener('rpc-request', ev => { ev.stopImmediatePropagation(); ev.data.respond(err); }); await expect(client.rpc('createTunnel', { host: 'localhost', port: 9999, })).rejects.toMatchObject(err); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ycGMtY29tbXVuaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0LnJwYy1jb21tdW5pY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQTJDO0FBQzNDLHlFQUFtRTtBQUNuRSxxQ0FBaUQ7QUFDakQsMkJBQThCO0FBRTlCLElBQUEseUNBQWtCLEVBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEVBQUU7SUFFOUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFBO0lBRWxDLElBQUksTUFBc0IsQ0FBQTtJQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDckIsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDeEQsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzNELE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLG1DQUFtQztRQUNuQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ3pDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDREQUE0RCxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQzFFLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFDbEMsTUFBTSxHQUFHLElBQUksdUJBQWMsQ0FBQztZQUMzQixNQUFNLEVBQU4sY0FBTTtZQUNOLDRCQUE0QjtZQUM1QixHQUFHLEVBQUUsa0JBQWtCLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUNqRCxDQUFDLENBQUE7UUFDRixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMs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