@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 • 4.42 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.describeWithServer = void 0;
const client_socket_1 = require("../client/utils/client-socket");
const config_1 = require("../config");
const server_1 = require("../server");
const mock_provider_server_1 = require("../tests/mock-provider-server");
const mocks_1 = require("../tests/mocks");
const utils_1 = require("../tests/utils");
const utils_2 = require("../utils");
/**
* Boots up a attestor server, a mock https server,
* and a client that is renewed for each test.
*/
const describeWithServer = (name, fn) => describe(name, () => {
let wsServer;
let wsServerUrl;
let privateKeyHex;
let client;
const wsServerPort = (0, utils_1.getRandomPort)();
const httpsServerPort = (0, utils_1.getRandomPort)();
const mockHttpsServer = (0, mock_provider_server_1.createMockServer)(httpsServerPort);
beforeAll(async () => {
wsServer = await (0, server_1.createServer)(wsServerPort);
wsServerUrl = `ws://localhost:${wsServerPort}${config_1.WS_PATHNAME}`;
});
afterAll(() => {
wsServer.close();
mockHttpsServer.server.close();
});
beforeEach(async () => {
mocks_1.SPY_PREPARER.mockClear();
privateKeyHex = (0, utils_1.randomPrivateKey)();
client = new client_socket_1.AttestorClient({
logger: utils_2.logger.child({ client: 1 }),
url: wsServerUrl,
});
await client.waitForInit();
});
afterEach(async () => {
await client.terminateConnection();
});
fn({
getClientOnServer,
get client() {
return client;
},
get privateKeyHex() {
return privateKeyHex;
},
get serverUrl() {
return wsServerUrl;
},
mockHttpsServer,
mockhttpsServerPort: httpsServerPort,
});
function getClientOnServer() {
var _a;
const serverSockets = [...wsServer.clients.values()];
return (_a = serverSockets.at(-1)) === null || _a === void 0 ? void 0 : _a.serverSocket;
}
});
exports.describeWithServer = describeWithServer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtd2l0aC1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvZGVzY3JpYmUtd2l0aC1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQStEO0FBQy9ELHVDQUF3QztBQUN4Qyx1Q0FBeUM7QUFDekMseUVBQWlFO0FBQ2pFLDJDQUE4QztBQUM5QywyQ0FBaUU7QUFFakUscUNBQWtDO0FBZ0JsQzs7O0dBR0c7QUFDSSxNQUFNLGtCQUFrQixHQUFHLENBQ2pDLElBQVksRUFDWixFQUE4QixFQUM3QixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7SUFDeEIsSUFBSSxRQUF5QixDQUFBO0lBRTdCLElBQUksV0FBbUIsQ0FBQTtJQUV2QixJQUFJLGFBQXFCLENBQUE7SUFDekIsSUFBSSxNQUFzQixDQUFBO0lBRTFCLE1BQU0sWUFBWSxHQUFHLElBQUEscUJBQWEsR0FBRSxDQUFBO0lBQ3BDLE1BQU0sZUFBZSxHQUFHLElBQUEscUJBQWEsR0FBRSxDQUFBO0lBRXZDLE1BQU0sZUFBZSxHQUFHLElBQUEsdUNBQWdCLEVBQUMsZUFBZSxDQUFDLENBQUE7SUFFekQsU0FBUyxDQUFDLEtBQUssSUFBRyxFQUFFO1FBQ25CLFFBQVEsR0FBRyxNQUFNLElBQUEscUJBQVksRUFBQyxZQUFZLENBQUMsQ0FBQTtRQUMzQyxXQUFXLEdBQUcsa0JBQWtCLFlBQVksR0FBRyxvQkFBVyxFQUFFLENBQUE7SUFDN0QsQ0FBQyxDQUFDLENBQUE7SUFFRixRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2IsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2hCLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDL0IsQ0FBQyxDQUFDLENBQUE7SUFFRixVQUFVLENBQUMsS0FBSyxJQUFHLEVBQUU7UUFDcEIsb0JBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUV4QixhQUFhLEdBQUcsSUFBQSx3QkFBZ0IsR0FBRSxDQUFBO1FBQ2xDLE1BQU0sR0FBRyxJQUFJLDhCQUFjLENBQUM7WUFDM0IsTUFBTSxFQUFFLGNBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsR0FBRyxFQUFFLFdBQVc7U0FDaEIsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0IsQ0FBQyxDQUFDLENBQUE7SUFFRixTQUFTLENBQUMsS0FBSyxJQUFHLEVBQUU7UUFDbkIsTUFBTSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQztRQUNGLGlCQUFpQjtRQUNqQixJQUFJLE1BQU07WUFDVCxPQUFPLE1BQU0sQ0FBQTtRQUNkLENBQUM7UUFDRCxJQUFJLGFBQWE7WUFDaEIsT0FBTyxhQUFhLENBQUE7UUFDckIsQ0FBQztRQUNELElBQUksU0FBUztZQUNaLE9BQU8sV0FBVyxDQUFBO1FBQ25CLENBQUM7UUFDRCxlQUFlO1FBQ2YsbUJBQW1CLEVBQUUsZUFBZTtLQUNwQyxDQUFDLENBQUE7SUFFRixTQUFTLGlCQUFpQjs7UUFDekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQWdCLENBQUE7UUFDbkUsT0FBTyxNQUFBLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsMENBQUUsWUFBWSxDQUFBO0lBQzFDLENBQUM7QUFDRixDQUFDLENBQUMsQ0FBQTtBQTVEVyxRQUFBLGtCQUFrQixzQkE0RDdCIn0=
;