@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
JavaScript
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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
;