Files
xahau.js/test/setup-client-web.ts
Mayukha Vadari 52f1789ecd Remove ledger methods from Connection (#1543)
* remove ledger subscription from connection

* remove more client ledger stuff

* resolve TS concerns

* fix all tests except broadcast tests

* fix broadcast tests

* clean up more ledger stuff in testing

* respond to comments
2021-10-04 14:10:09 -04:00

56 lines
1.3 KiB
TypeScript

import {Client, BroadcastClient} from 'xrpl-local'
const port = 34371
const baseUrl = 'ws://testripple.circleci.com:'
function setup(this: any, port_ = port) {
const tclient = new Client(baseUrl + port_)
return tclient
.connect()
.then(() => {
return tclient.connection.request({
// TODO: resolve when we redo the testing framework
// @ts-ignore
command: 'test_command',
data: {openOnOtherPort: true}
})
})
.then((got) => {
return new Promise<void>((resolve, reject) => {
// @ts-ignore
this.client = new Client(baseUrl + got.port)
this.client
.connect()
.then(resolve)
.catch(reject)
})
})
.then(() => {
return tclient.disconnect()
})
}
function setupBroadcast(this: any) {
const servers = [port, port + 1].map((port_) => baseUrl + port_)
this.client = new BroadcastClient(servers)
return new Promise<void>((resolve, reject) => {
this.client
.connect()
.then(resolve)
.catch(reject)
})
}
function teardown(this: any) {
if (this.client.isConnected()) {
return this.client.disconnect()
}
return undefined
}
export default {
setup: setup,
teardown: teardown,
setupBroadcast: setupBroadcast
}