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:
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"];