taler-typescript-core

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

commit 9d61443de48ae1809674e1c895dfd0508403b7c8
parent e9b8c0362647307636d2d7391a12d816f1335209
Author: Florian Dold <florian@dold.me>
Date:   Thu,  8 May 2025 01:53:21 +0200

harness: strip payto

Diffstat:
Mpackages/taler-harness/src/index.ts | 39+++++++++++++++++++++------------------
1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/packages/taler-harness/src/index.ts b/packages/taler-harness/src/index.ts @@ -23,7 +23,6 @@ import { AmountString, Amounts, BalancesResponse, - CancellationToken, Configuration, Duration, EddsaPrivP, @@ -31,8 +30,6 @@ import { Logger, MerchantAuthMethod, PaytoString, - ReserveAccount, - ReservePub, TalerBankConversionHttpClient, TalerCoreBankHttpClient, TalerExchangeHttpClient, @@ -48,13 +45,11 @@ import { generateIban, getRandomBytes, hashNormalizedPaytoUri, - isOperationFail, j2s, parsePaytoUri, randomBytes, rsaBlind, setGlobalLogLevelFromString, - setPrintHttpRequestAsCurl, stringifyPayTemplateUri, succeedOrThrow, } from "@gnu-taler/taler-util"; @@ -79,6 +74,8 @@ import { AML_PROGRAM_NEXT_MEASURE_FORM } from "integrationtests/test-kyc-two-for import fs from "node:fs"; import os from "node:os"; import path from "node:path"; +import postgres from "postgres"; +import { URLImpl } from "../../taler-util/src/whatwg-url.js"; import { runBench1 } from "./bench1.js"; import { runBench2 } from "./bench2.js"; import { runBench3 } from "./bench3.js"; @@ -98,8 +95,6 @@ import { import { AML_PROGRAM_TEST_KYC_NEW_MEASURES_PROG } from "./integrationtests/test-kyc-new-measures-prog.js"; import { getTestInfo, runTests } from "./integrationtests/testrunner.js"; import { lintExchangeDeployment, lintExchangeUrl } from "./lint.js"; -import postgres from "postgres"; -import { URLImpl } from "../../taler-util/src/whatwg-url.js"; const logger = new Logger("taler-harness:index.ts"); @@ -920,9 +915,9 @@ deploymentCli contact_data: email || phone ? { - email: email, - phone: phone, - } + email: email, + phone: phone, + } : undefined, }); @@ -1267,10 +1262,10 @@ deploymentCli credit_facade_credentials: bankUser && bankPassword ? { - type: "basic", - username: bankUser, - password: bankPassword, - } + type: "basic", + username: bankUser, + password: bankPassword, + } : undefined, }, ); @@ -1300,6 +1295,14 @@ deploymentCli const baseUrl = args.provisionBankAccount.corebankApiBaseUrl; const api = new TalerCoreBankHttpClient(baseUrl, httpLib); + // Strip question mark part from payto URI, + // as libeufin wants a plain payto here. + let payto = args.provisionBankAccount.internalPayto; + let idxQm = payto?.indexOf("?"); + if (payto && idxQm != null && idxQm >= 0) { + payto = payto.substring(0, idxQm); + } + const accountLogin = args.provisionBankAccount.login; const resp = await api.createAccount(undefined, { name: args.provisionBankAccount.name, @@ -1307,7 +1310,7 @@ deploymentCli username: accountLogin, is_public: !!args.provisionBankAccount.public, is_taler_exchange: !!args.provisionBankAccount.exchange, - payto_uri: args.provisionBankAccount.internalPayto as PaytoString, + payto_uri: args.provisionBankAccount.internalPayto, }); if (resp.type === "ok") { @@ -1502,7 +1505,7 @@ talerHarnessCli verbosity: args.runIntegrationtests.quiet ? 0 : 1, includeExperimental: args.runIntegrationtests.experimental ?? false, noTimeout: args.runIntegrationtests.noTimeout, - testDir: args.runIntegrationtests.testDir + testDir: args.runIntegrationtests.testDir, }); }); @@ -1739,13 +1742,13 @@ merchantCli const { merchant_priv } = await db.getInstancePrivateKey(instanceId); const allAccounts = await db.getInstanceKycStatus(instanceId); - + const info = await Promise.all( allAccounts.map(async ({ exchange_url, payto_uri }) => { const exchangeApi = new TalerExchangeHttpClient(exchange_url, {}); const kyc_status = await exchangeApi.checkKycStatus( merchant_priv, - encodeCrock(hashNormalizedPaytoUri(parsePaytoUri(payto_uri)!)) + encodeCrock(hashNormalizedPaytoUri(parsePaytoUri(payto_uri)!)), ); return { payto_uri,