taler-typescript-core

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

commit b133f5233738442ac98092f914a728ae7ed578a1
parent 4b9479a0a59a7fafbfc1851c7a75a7b15f582008
Author: Florian Dold <florian@dold.me>
Date:   Fri, 29 May 2026 15:27:48 +0200

harness: make merchant-bank-bad-wire-target more robust w.r.t. request timing

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-merchant-bank-bad-wire-target.ts | 34++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-merchant-bank-bad-wire-target.ts b/packages/taler-harness/src/integrationtests/test-merchant-bank-bad-wire-target.ts @@ -26,7 +26,7 @@ import { succeedOrThrow, } from "@gnu-taler/taler-util"; import { createSimpleTestkudosEnvironmentV3 } from "../harness/environments.js"; -import { GlobalTestState } from "../harness/harness.js"; +import { GlobalTestState, waitMs } from "../harness/harness.js"; /** * Test APIs related to merchant wire transfers. @@ -64,18 +64,28 @@ export async function runMerchantBankBadWireTargetTest(t: GlobalTestState) { merchant.makeInstanceBaseUrl("minst2"), ); - const d = await merchantClient.getCurrentInstanceKycStatus(accessToken); - t.assertDeepEqual(d.type, "ok"); - const kycStatus = d.body; + while (true) { + const kycStatus = succeedOrThrow( + await merchantClient.getCurrentInstanceKycStatus(accessToken), + ); - t.assertTrue(!!kycStatus); - - console.log(j2s(kycStatus)); - t.assertDeepEqual(kycStatus.kyc_data.length, 1); - t.assertDeepEqual( - kycStatus.kyc_data[0].status, - TalerMerchantApi.MerchantAccountKycStatus.UNSUPPORTED_ACCOUNT, - ); + console.log(j2s(kycStatus)); + t.assertDeepEqual(kycStatus.kyc_data.length, 1); + const acc0 = kycStatus.kyc_data[0]; + if ( + acc0.status === + TalerMerchantApi.MerchantAccountKycStatus.EXCHANGE_UNREACHABLE + ) { + // Merchant needs more time to talk to the exchange + await waitMs(200); + continue; + } + t.assertDeepEqual( + acc0.status, + TalerMerchantApi.MerchantAccountKycStatus.UNSUPPORTED_ACCOUNT, + ); + break; + } } runMerchantBankBadWireTargetTest.suites = ["merchant"];