From 7411e1caf553b75b48b9b8a78f02cb023b7ccbfb Mon Sep 17 00:00:00 2001 From: hatim boufnichel Date: Thu, 25 Apr 2024 19:35:02 +0200 Subject: [PATCH] up --- src/tests/prepareNetwork.ts | 27 +++++++++++++++++++++++++++ src/tests/testRunner.ts | 8 ++------ 2 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 src/tests/prepareNetwork.ts diff --git a/src/tests/prepareNetwork.ts b/src/tests/prepareNetwork.ts new file mode 100644 index 000000000..956cf208f --- /dev/null +++ b/src/tests/prepareNetwork.ts @@ -0,0 +1,27 @@ +import { LoadTestSettingsFromEnv } from "../services/main/settings.js" +import { BitcoinCoreWrapper } from "./bitcoinCore.js" +import LND from '../services/lnd/lnd.js' +export const prepareNetwork = async () => { + + const settings = LoadTestSettingsFromEnv() + const core = new BitcoinCoreWrapper(settings) + await core.InitAddress() + await core.Mine(1) + const lnd = new LND(settings.lndSettings, () => { }, () => { }, () => { }, () => { }) + for (let i = 0; i < 10; i++) { + try { + const info = await lnd.GetInfo() + if (!info.syncedToChain) { + throw new Error("not synced to chain") + } + if (!info.syncedToGraph) { + throw new Error("not synced to graph") + } + return + } catch (e) { + console.log("waiting for lnd to be ready") + await new Promise(resolve => setTimeout(resolve, 1000)) + } + } + throw new Error("lnd is not ready after 10 seconds") +} \ No newline at end of file diff --git a/src/tests/testRunner.ts b/src/tests/testRunner.ts index aedeed054..5177ac867 100644 --- a/src/tests/testRunner.ts +++ b/src/tests/testRunner.ts @@ -1,7 +1,6 @@ import { globby } from 'globby' -import { LoadTestSettingsFromEnv } from '../services/main/settings.js' -import { BitcoinCoreWrapper } from './bitcoinCore.js' import { setupNetwork } from './networkSetup.js' +import { prepareNetwork } from './prepareNetwork.js' import { Describe, SetupTest, teardown, TestBase } from './testBase.js' @@ -25,10 +24,7 @@ const start = async () => { if (process.argv[2] === 'setup_network') { await setupNetwork() } else { - const core = new BitcoinCoreWrapper(LoadTestSettingsFromEnv()) - await core.InitAddress() - await core.Mine(1) - await new Promise((resolve) => setTimeout(resolve, 1000)) + await prepareNetwork() } const files = await globby(["**/*.spec.js", "!**/node_modules/**"]) const modules: { file: string, module: TestModule }[] = []