taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 54289ce4b23828a7178cf0f80c657fe5dfee2e11
parent d6c8cc274c5350c86dbd0440b5531c171188e75e
Author: Florian Dold <florian@dold.me>
Date:   Wed, 30 Oct 2024 19:37:45 +0100

harness: test WIP

Diffstat:
Mpackages/taler-harness/src/harness/harness.ts | 6++++++
Mpackages/taler-harness/src/integrationtests/test-kyc-skip-expiration.ts | 15++++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts @@ -2437,3 +2437,9 @@ export function generateRandomTestIban(salt: string | null = null): string { export function getTestHarnessPaytoForLabel(label: string): string { return `payto://x-taler-bank/localhost/${label}?receiver-name=${label}`; } + +export function waitMs(tMs: number): Promise<void> { + return new Promise<void>((resolve) => { + setTimeout(() => resolve(), tMs); + }); +} diff --git a/packages/taler-harness/src/integrationtests/test-kyc-skip-expiration.ts b/packages/taler-harness/src/integrationtests/test-kyc-skip-expiration.ts @@ -38,7 +38,7 @@ import { postAmlDecision, withdrawViaBankV3, } from "../harness/environments.js"; -import { GlobalTestState, harnessHttpLib } from "../harness/harness.js"; +import { GlobalTestState, harnessHttpLib, waitMs } from "../harness/harness.js"; function adjustExchangeConfig(config: Configuration) { config.setString("exchange", "enable_kyc", "yes"); @@ -211,18 +211,27 @@ export async function runKycSkipExpirationTest(t: GlobalTestState) { t.assertDeepEqual(decisionsResp.status, 200); } - { + // Wait for the KYC program to run + while (true) { const infoResp = await harnessHttpLib.fetch( new URL(`kyc-info/${accessToken}`, exchange.baseUrl).href, ); + console.log(`kyc-info status: ${infoResp.status}`); + if (infoResp.status == 202) { + await waitMs(1000); + continue; + } + t.assertDeepEqual(infoResp.status, 200); + const clientInfo = await readResponseJsonOrThrow( infoResp, codecOptional(codecForKycProcessClientInformation()), ); console.log(j2s(clientInfo)); - t.assertDeepEqual(infoResp.status, 200); + + break; } }