commit f1ce52e172858f1623862957dd514df2a319b024
parent f3964451a5f83a0f047e6cd6836c931726f4bb4c
Author: Sebastian <sebasjm@gmail.com>
Date: Fri, 13 Dec 2024 11:24:37 -0300
Merge remote-tracking branch 'origin/master'
Diffstat:
4 files changed, 39 insertions(+), 6 deletions(-)
diff --git a/packages/taler-harness/src/harness/environments.ts b/packages/taler-harness/src/harness/environments.ts
@@ -34,6 +34,7 @@ import {
Duration,
encodeCrock,
HttpStatusCode,
+ j2s,
LegitimizationRuleSet,
Logger,
MerchantApiClient,
@@ -1051,6 +1052,11 @@ export async function postAmlDecisionNoRules(
console.log(`aml decision status: ${resp.status}`);
+ if (resp.status >= 400) {
+ const body = await resp.json();
+ console.log(j2s(body));
+ }
+
t.assertDeepEqual(resp.status, HttpStatusCode.NoContent);
}
diff --git a/packages/taler-harness/src/integrationtests/test-kyc-amp-failure.ts b/packages/taler-harness/src/integrationtests/test-kyc-amp-failure.ts
@@ -27,6 +27,7 @@ import {
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import {
createKycTestkudosEnvironment,
+ postAmlDecisionNoRules,
withdrawViaBankV3,
} from "../harness/environments.js";
import { GlobalTestState } from "../harness/harness.js";
@@ -66,7 +67,11 @@ function adjustExchangeConfig(config: Configuration) {
config.setString("AML-PROGRAM-FREEZE", "description", "freeze account");
config.setString("AML-PROGRAM-FREEZE", "description_i18n", "{}");
config.setString("AML-PROGRAM-FREEZE", "fallback", "M1");
- config.setString("AML-PROGRAM-FREEZE", "command", "taler-exchange-helper-measure-freeze");
+ config.setString(
+ "AML-PROGRAM-FREEZE",
+ "command",
+ "taler-exchange-helper-measure-freeze",
+ );
config.setString;
}
@@ -104,6 +109,15 @@ export async function runKycAmpFailureTest(t: GlobalTestState) {
console.log(j2s(txDet));
+ t.assertTrue(!!txDet.kycPaytoHash);
+
+ await postAmlDecisionNoRules(t, {
+ amlPriv: amlKeypair.priv,
+ amlPub: amlKeypair.pub,
+ exchangeBaseUrl: exchange.baseUrl,
+ paytoHash: txDet.kycPaytoHash,
+ });
+
await wres.withdrawalFinishedCond;
}
diff --git a/packages/taler-harness/src/integrationtests/test-kyc-amp-timeout.ts b/packages/taler-harness/src/integrationtests/test-kyc-amp-timeout.ts
@@ -27,6 +27,7 @@ import {
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import {
createKycTestkudosEnvironment,
+ postAmlDecisionNoRules,
withdrawViaBankV3,
} from "../harness/environments.js";
import { GlobalTestState } from "../harness/harness.js";
@@ -66,7 +67,11 @@ function adjustExchangeConfig(config: Configuration) {
config.setString("AML-PROGRAM-FREEZE", "description", "freeze account");
config.setString("AML-PROGRAM-FREEZE", "description_i18n", "{}");
config.setString("AML-PROGRAM-FREEZE", "fallback", "M1");
- config.setString("AML-PROGRAM-FREEZE", "command", "taler-exchange-helper-measure-freeze");
+ config.setString(
+ "AML-PROGRAM-FREEZE",
+ "command",
+ "taler-exchange-helper-measure-freeze",
+ );
config.setString;
}
@@ -102,11 +107,18 @@ export async function runKycAmpTimeoutTest(t: GlobalTestState) {
transactionId: wres.transactionId as TransactionIdStr,
});
- console.log(j2s(txDet));
+ t.assertTrue(!!txDet.kycPaytoHash);
- // FIXME: Test incomplete. Check that fallback rules have been applied.
+ await postAmlDecisionNoRules(t, {
+ amlPriv: amlKeypair.priv,
+ amlPub: amlKeypair.pub,
+ exchangeBaseUrl: exchange.baseUrl,
+ paytoHash: txDet.kycPaytoHash,
+ });
+
+ console.log(j2s(txDet));
- //await wres.withdrawalFinishedCond;
+ await wres.withdrawalFinishedCond;
}
runKycAmpTimeoutTest.suites = ["wallet"];
diff --git a/packages/taler-wallet-core/src/dbless.ts b/packages/taler-wallet-core/src/dbless.ts
@@ -97,8 +97,9 @@ export interface TopupReserveWithBankArgs {
export async function topupReserveWithBank(args: TopupReserveWithBankArgs) {
const { http, corebankApiBaseUrl, amount, exchangeInfo, reservePub } = args;
- const bankClient = new TalerCorebankApiClient(corebankApiBaseUrl);
+ const bankClient = new TalerCorebankApiClient(corebankApiBaseUrl, { httpClient: http });
const bankUser = await bankClient.createRandomBankUser();
+ bankClient.setAuth(bankUser);
const wopi = await bankClient.createWithdrawalOperation(
bankUser.username,
amount,