taler-typescript-core

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

commit a44650e95bcbcca9322d0d0cc296c685f88a9628
parent 050f83209862511b4dfc83dda871960cd9129423
Author: Florian Dold <florian@dold.me>
Date:   Thu,  5 Jun 2025 13:40:15 +0200

harness: fix bank auth in tests

Diffstat:
Mpackages/taler-harness/src/harness/environments.ts | 3+++
Mpackages/taler-harness/src/harness/harness.ts | 9+++++++++
Mpackages/taler-harness/src/harness/tops.ts | 3+++
Mpackages/taler-harness/src/integrationtests/test-bank-api.ts | 2+-
Mpackages/taler-harness/src/integrationtests/test-exchange-kyc-auth.ts | 7++++---
Mpackages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal-change-manual.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal.ts | 3++-
Mpackages/taler-harness/src/integrationtests/test-kyc-decisions.ts | 3++-
Mpackages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-kyc-deposit-deposit-kyctransfer.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-kyc-merchant-activate-bank-account.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-form.ts | 16+++++-----------
Mpackages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-rewrite.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-tops-aml-basic.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-postal.ts | 5++---
Mpackages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-sms.ts | 11+++--------
Mpackages/taler-harness/src/integrationtests/test-withdrawal-amount.ts | 4++--
Mpackages/taler-harness/src/integrationtests/test-withdrawal-conversion.ts | 2+-
Mpackages/taler-harness/src/integrationtests/test-withdrawal-manual.ts | 4++--
20 files changed, 53 insertions(+), 47 deletions(-)

diff --git a/packages/taler-harness/src/harness/environments.ts b/packages/taler-harness/src/harness/environments.ts @@ -68,6 +68,7 @@ import { } from "./faultInjection.js"; import { BankService, + BankServiceHandle, DbInfo, ExchangeService, ExchangeServiceInterface, @@ -1101,6 +1102,7 @@ export interface KycTestEnv { exchangeApi: TalerExchangeHttpClient; wireGatewayApi: TalerWireGatewayHttpClient; merchantApi: TalerMerchantInstanceHttpClient; + bank: BankServiceHandle; } export async function createKycTestkudosEnvironment( @@ -1289,6 +1291,7 @@ export async function createKycTestkudosEnvironment( wireGatewayApi, merchantApi, exchangeApi, + bank, }; } diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts @@ -687,6 +687,14 @@ class BankServiceBase { protected bankConfig: BankConfig, protected configFile: string, ) {} + + getAdminAuth(): { username: string; password: string } { + // Bank admin PW is brutally hard-coded in tests right now. + return { + username: "admin", + password: "admin-password", + }; + } } export type RestrictionFlag = "credit-restriction" | "debit-restriction"; @@ -1062,6 +1070,7 @@ export interface BankServiceHandle { start(): Promise<void>; pingUntilAvailable(): Promise<void>; stop(): Promise<void>; + getAdminAuth(): { username: string; password: string }; } export type BankService = BankServiceHandle; diff --git a/packages/taler-harness/src/harness/tops.ts b/packages/taler-harness/src/harness/tops.ts @@ -54,6 +54,7 @@ import { } from "./fake-challenger.js"; import { BankService, + BankServiceHandle, DbInfo, ExchangeService, getTestHarnessPaytoForLabel, @@ -572,6 +573,7 @@ export interface TopsTestEnv { wireGatewayApi: TalerWireGatewayHttpClient; merchantApi: TalerMerchantInstanceHttpClient; officerAcc: OfficerAccount; + bank: BankServiceHandle; } export async function createTopsEnvironment( @@ -753,6 +755,7 @@ export async function createTopsEnvironment( wireGatewayApi, merchantApi, exchangeApi, + bank, }; } diff --git a/packages/taler-harness/src/integrationtests/test-bank-api.ts b/packages/taler-harness/src/integrationtests/test-bank-api.ts @@ -153,7 +153,7 @@ export async function runBankApiTest(t: GlobalTestState) { ); await wireGatewayApiClient.addIncoming({ - auth: wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:115", debit_account: bankUser.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-exchange-kyc-auth.ts b/packages/taler-harness/src/integrationtests/test-exchange-kyc-auth.ts @@ -105,6 +105,7 @@ export async function runExchangeKycAuthTest(t: GlobalTestState) { amlKeypair, exchangeBankAccount, exchangeApi, + bank, } = await createKycTestkudosEnvironment(t, { adjustExchangeConfig }); const merchantPayto = getTestHarnessPaytoForLabel("merchant-default"); @@ -207,7 +208,7 @@ export async function runExchangeKycAuthTest(t: GlobalTestState) { amount: "TESTKUDOS:5", debit_account: merchantPayto, }, - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), }); await wireGatewayApiClient.addIncoming({ @@ -216,7 +217,7 @@ export async function runExchangeKycAuthTest(t: GlobalTestState) { amount: "TESTKUDOS:5", debit_account: merchantPayto, }, - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), }); await wireGatewayApiClient.addIncoming({ @@ -225,7 +226,7 @@ export async function runExchangeKycAuthTest(t: GlobalTestState) { amount: "TESTKUDOS:5", debit_account: getTestHarnessPaytoForLabel("bob"), }, - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), }); await exchange.runWirewatchOnce(); diff --git a/packages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal-change-manual.ts b/packages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal-change-manual.ts @@ -55,7 +55,7 @@ export async function runKycBalanceWithdrawalChangeManualTest( ) { // Set up test environment - const { walletClient, bankClient, exchange, exchangeBankAccount } = + const { walletClient, bankClient, exchange, exchangeBankAccount, bank } = await createKycTestkudosEnvironment(t, { adjustExchangeConfig, }); @@ -87,7 +87,7 @@ export async function runKycBalanceWithdrawalChangeManualTest( const reservePub = mwResp.reservePub; await wireGatewayApiClient.addIncoming({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:20", debit_account: user.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal.ts b/packages/taler-harness/src/integrationtests/test-kyc-balance-withdrawal.ts @@ -77,6 +77,7 @@ export async function runKycBalanceWithdrawalTest(t: GlobalTestState) { exchange, amlKeypair, exchangeBankAccount, + bank, } = await createKycTestkudosEnvironment(t, { adjustExchangeConfig, }); @@ -206,7 +207,7 @@ export async function runKycBalanceWithdrawalTest(t: GlobalTestState) { const reservePub = mwResp.reservePub; await wireGatewayApiClient.addIncoming({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:5", debit_account: user.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-decisions.ts b/packages/taler-harness/src/integrationtests/test-kyc-decisions.ts @@ -76,6 +76,7 @@ export async function runKycDecisionsTest(t: GlobalTestState) { const { walletClient, bankClient, + bank, exchange, amlKeypair, exchangeBankAccount, @@ -171,7 +172,7 @@ export async function runKycDecisionsTest(t: GlobalTestState) { succeedOrThrow( await wireGatewayApiClient.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", debit_account: merchantPayto, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts b/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts @@ -60,7 +60,7 @@ export async function runKycDepositAggregateTest(t: GlobalTestState) { walletClient, bankClient, exchange, - exchangeBankAccount, + bank, wireGatewayApi, amlKeypair, } = await createKycTestkudosEnvironment(t, { @@ -105,7 +105,7 @@ export async function runKycDepositAggregateTest(t: GlobalTestState) { succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", debit_account: wres.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-deposit-deposit-kyctransfer.ts b/packages/taler-harness/src/integrationtests/test-kyc-deposit-deposit-kyctransfer.ts @@ -68,7 +68,7 @@ export async function runKycDepositDepositKyctransferTest(t: GlobalTestState) { bankClient, exchange, amlKeypair, - exchangeBankAccount, + bank, wireGatewayApi, } = await createKycTestkudosEnvironment(t, { adjustExchangeConfig, @@ -139,7 +139,7 @@ export async function runKycDepositDepositKyctransferTest(t: GlobalTestState) { succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", debit_account: depositPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-activate-bank-account.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-activate-bank-account.ts @@ -40,7 +40,7 @@ export async function runKycMerchantActivateBankAccountTest( t: GlobalTestState, ) { // Set up test environment - const { merchant, bankClient, exchangeBankAccount, wireGatewayApi } = + const { merchant, bankClient, bank, wireGatewayApi } = await createKycTestkudosEnvironment(t, { adjustExchangeConfig(config) { config.setString("exchange", "enable_kyc", "yes"); @@ -117,7 +117,7 @@ export async function runKycMerchantActivateBankAccountTest( succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", debit_account: kycRespOne.kyc_data[0].payto_uri, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-form.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-form.ts @@ -96,16 +96,10 @@ function adjustExchangeConfig(config: Configuration) { export async function runKycMerchantDepositFormTest(t: GlobalTestState) { // Set up test environment - const { - merchant, - bankClient, - exchange, - exchangeBankAccount, - amlKeypair, - wireGatewayApi, - } = await createKycTestkudosEnvironment(t, { - adjustExchangeConfig, - }); + const { merchant, bankClient, exchange, bank, wireGatewayApi } = + await createKycTestkudosEnvironment(t, { + adjustExchangeConfig, + }); let accountPub: string; @@ -182,7 +176,7 @@ export async function runKycMerchantDepositFormTest(t: GlobalTestState) { }); succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", account_pub: accountPub, diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-rewrite.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-rewrite.ts @@ -102,7 +102,7 @@ export async function runKycMerchantDepositRewriteTest(t: GlobalTestState) { // Set up test environment const { - exchangeBankAccount, + bank, amlKeypair, bankApi, merchantApi, @@ -178,7 +178,7 @@ export async function runKycMerchantDepositRewriteTest(t: GlobalTestState) { succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { account_pub: info.merchant_pub, amount: "TESTKUDOS:0.1", diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts @@ -84,7 +84,7 @@ export async function runKycMerchantDepositTest(t: GlobalTestState) { merchant, bankClient, exchange, - exchangeBankAccount, + bank, amlKeypair, wireGatewayApi, } = await createKycTestkudosEnvironment(t, { @@ -166,7 +166,7 @@ export async function runKycMerchantDepositTest(t: GlobalTestState) { }); succeedOrThrow( await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:0.1", account_pub: accountPub, diff --git a/packages/taler-harness/src/integrationtests/test-tops-aml-basic.ts b/packages/taler-harness/src/integrationtests/test-tops-aml-basic.ts @@ -49,8 +49,8 @@ export async function runTopsAmlBasicTest(t: GlobalTestState) { exchange, amlKeypair, merchant, - exchangeBankAccount, wireGatewayApi, + bank, } = await createTopsEnvironment(t); const challenger = await startFakeChallenger({ @@ -97,7 +97,7 @@ export async function runTopsAmlBasicTest(t: GlobalTestState) { const accountPub = authTxMessage.substring(4); logger.info(`merchant account pub: ${accountPub}`); await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "CHF:0.1", debit_account: depositPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-postal.ts b/packages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-postal.ts @@ -47,10 +47,9 @@ export async function runTopsAmlCustomAddrPostalTest(t: GlobalTestState) { const { exchange, - amlKeypair, + bank, officerAcc, merchant, - exchangeBankAccount, wireGatewayApi, } = await createTopsEnvironment(t); @@ -88,7 +87,7 @@ export async function runTopsAmlCustomAddrPostalTest(t: GlobalTestState) { const accountPub = authTxMessage.substring(4); logger.info(`merchant account pub: ${accountPub}`); await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "CHF:0.1", debit_account: depositPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-sms.ts b/packages/taler-harness/src/integrationtests/test-tops-aml-custom-addr-sms.ts @@ -45,13 +45,8 @@ const logger = new Logger("test-tops-aml.ts"); export async function runTopsAmlCustomAddrSmsTest(t: GlobalTestState) { // Set up test environment - const { - exchange, - amlKeypair, - merchant, - exchangeBankAccount, - wireGatewayApi, - } = await createTopsEnvironment(t); + const { exchange, amlKeypair, merchant, bank, wireGatewayApi } = + await createTopsEnvironment(t); const challengerSms = await startFakeChallenger({ port: 6002, @@ -87,7 +82,7 @@ export async function runTopsAmlCustomAddrSmsTest(t: GlobalTestState) { const accountPub = authTxMessage.substring(4); logger.info(`merchant account pub: ${accountPub}`); await wireGatewayApi.addKycAuth({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "CHF:0.1", debit_account: depositPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-amount.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-amount.ts @@ -35,7 +35,7 @@ const logger = new Logger("test-withdrawal-manual.ts"); export async function runWithdrawalAmountTest(t: GlobalTestState) { // Set up test environment - const { walletClient, bankClient, exchange, exchangeBankAccount } = + const { walletClient, bankClient, exchange, exchangeBankAccount, bank } = await createSimpleTestkudosEnvironmentV3(t); const wireGatewayApiClient = new TalerWireGatewayHttpClient( @@ -66,7 +66,7 @@ export async function runWithdrawalAmountTest(t: GlobalTestState) { const reservePub: string = wres.reservePub; await wireGatewayApiClient.addIncoming({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:5", debit_account: user.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-conversion.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-conversion.ts @@ -299,7 +299,7 @@ export async function runWithdrawalConversionTest(t: GlobalTestState) { ); await wireGatewayApiClient.addIncoming({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:10", debit_account: user.accountPaytoUri, diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts @@ -37,7 +37,7 @@ const logger = new Logger("test-withdrawal-manual.ts"); export async function runWithdrawalManualTest(t: GlobalTestState) { // Set up test environment - const { walletClient, bankClient, exchange, exchangeBankAccount } = + const { walletClient, bankClient, exchange, exchangeBankAccount, bank } = await createSimpleTestkudosEnvironmentV3(t); { @@ -106,7 +106,7 @@ export async function runWithdrawalManualTest(t: GlobalTestState) { ); await wireGatewayApiClient.addIncoming({ - auth: exchangeBankAccount.wireGatewayAuth, + auth: bank.getAdminAuth(), body: { amount: "TESTKUDOS:10", debit_account: user.accountPaytoUri,