mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-12 16:45:49 +00:00
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
/* eslint-disable max-nested-callbacks */
|
|
'use strict';
|
|
|
|
const {RippleAPI, RippleAPIBroadcast} = require('ripple-api');
|
|
const ledgerClosed = require('./fixtures/rippled/ledger-close');
|
|
|
|
const port = 34371;
|
|
const baseUrl = 'ws://testripple.circleci.com:';
|
|
|
|
function setup(port_ = port) {
|
|
return new Promise((resolve, reject) => {
|
|
this.api = new RippleAPI({server: baseUrl + port_});
|
|
this.api.connect().then(() => {
|
|
this.api.once('ledger', () => resolve());
|
|
this.api.connection._ws.emit('message', JSON.stringify(ledgerClosed));
|
|
}).catch(reject);
|
|
});
|
|
}
|
|
|
|
function setupBroadcast() {
|
|
const servers = [port, port + 1].map(port_ => baseUrl + port_);
|
|
this.api = new RippleAPIBroadcast(servers);
|
|
return new Promise((resolve, reject) => {
|
|
this.api.connect().then(() => {
|
|
this.api.once('ledger', () => resolve());
|
|
this.api._apis[0].connection._ws.emit('message',
|
|
JSON.stringify(ledgerClosed));
|
|
}).catch(reject);
|
|
});
|
|
}
|
|
|
|
function teardown() {
|
|
if (this.api.isConnected()) {
|
|
return this.api.disconnect();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
setup: setup,
|
|
teardown: teardown,
|
|
setupBroadcast: setupBroadcast
|
|
};
|