difftreelog
Disconnect detection test.
in: master
4 files changed
tests/package-lock.jsondiffbeforeafterboth4538 "integrity": "sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ==",4538 "integrity": "sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ==",4539 "dev": true4539 "dev": true4540 },4540 },4541 "@types/chai-as-promised": {4542 "version": "7.1.3",4543 "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz",4544 "integrity": "sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==",4545 "dev": true,4546 "requires": {4547 "@types/chai": "*"4548 }4549 },4541 "@types/chrome": {4550 "@types/chrome": {4542 "version": "0.0.122",4551 "version": "0.0.122",4543 "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.122.tgz",4552 "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.122.tgz",6952 "type-detect": "^4.0.5"6961 "type-detect": "^4.0.5"6953 }6962 }6954 },6963 },6964 "chai-as-promised": {6965 "version": "7.1.1",6966 "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",6967 "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",6968 "requires": {6969 "check-error": "^1.0.2"6970 }6971 },6955 "chalk": {6972 "chalk": {6956 "version": "4.1.0",6973 "version": "4.1.0",6957 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",6974 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",6976 "check-error": {6993 "check-error": {6977 "version": "1.0.2",6994 "version": "1.0.2",6978 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",6995 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",6979 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",6996 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII="6980 "dev": true6981 },6997 },6982 "chokidar": {6998 "chokidar": {6983 "version": "2.1.8",6999 "version": "2.1.8",tests/package.jsondiffbeforeafterboth8 "@polkadot/ts": "^0.3.41",8 "@polkadot/ts": "^0.3.41",9 "@types/bn.js": "^4.11.6",9 "@types/bn.js": "^4.11.6",10 "@types/chai": "^4.2.12",10 "@types/chai": "^4.2.12",11 "@types/chai-as-promised": "^7.1.3",11 "@types/mocha": "^8.0.3",12 "@types/mocha": "^8.0.3",12 "chai": "^4.2.0",13 "chai": "^4.2.0",13 "mocha": "^8.1.1",14 "mocha": "^8.1.1",25 "@polkadot/api": "^1.31.2",26 "@polkadot/api": "^1.31.2",26 "@polkadot/types": "^1.31.2",27 "@polkadot/types": "^1.31.2",27 "@polkadot/util": "^2.18.1",28 "@polkadot/util": "^2.18.1",28 "@types/bn.js": "^4.11.6"29 "@types/bn.js": "^4.11.6",30 "chai-as-promised": "^7.1.1"29 },31 },30 "standard": {32 "standard": {31 "globals": [33 "globals": [tests/src/connection.test.tsdiffbeforeafterboth1import {expect} from 'chai';1import usingApi from "./substrate/substrate-api";2import { WsProvider } from '@polkadot/api';3import * as chai from 'chai';2import usingApi from "./substrate/substrate-api";4import chaiAsPromised from 'chai-as-promised';56chai.use(chaiAsPromised);78const expect = chai.expect;394describe('Connection', () => {10describe('Connection', () => {5 it('Connection can be established', async () => {11 it('Connection can be established', async () => {9 });15 });10 });16 });1718 it('Cannot connect to 0.0.0.0', () => {19 const neverConnectProvider = new WsProvider('ws://0.0.0.0:9944');20 expect((async () => {21 await usingApi(async api => {22 const health = await api.rpc.system.health();23 }, { provider: neverConnectProvider });24 })()).to.be.eventually.rejected;25 });11});26});tests/src/substrate/substrate-api.tsdiffbeforeafterboth3import promisifySubstrate from "./promisify-substrate";3import promisifySubstrate from "./promisify-substrate";4import { ApiOptions } from "@polkadot/api/types";4import { ApiOptions } from "@polkadot/api/types";56function defaultApiOptions(): ApiOptions {7 const wsProvider = new WsProvider(config.substrateUrl);8 return { provider: wsProvider, types: JSON.parse(config.customTypes) };9}5106export default async function usingApi(action: (api: ApiPromise) => Promise<void>): Promise<void> {11export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {7 const wsProvider = new WsProvider(config.substrateUrl);8 const settings: ApiOptions = { provider: wsProvider, types: JSON.parse(config.customTypes) };12 settings = settings || defaultApiOptions();9 let api: ApiPromise | undefined = undefined;13 let api: ApiPromise | undefined = undefined;101411 try {15 try {12 api = await ApiPromise.create(settings);16 api = new ApiPromise(settings);13 await promisifySubstrate(api, () => api && api.isReady)();17 await promisifySubstrate(api, () => api && api.isReady)();14 await action(api);18 await action(api);15 } finally {19 } finally {