From ba913cd2ceccfe3b1472d95087317445df0073e9 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 21 Jun 2023 08:54:14 +0200 Subject: harness: wallet must always withdraw via fault-injected exchange Otherwise, the ports in the base URL don't match and the wallet will complain. --- .../src/integrationtests/test-payment-abort.ts | 11 +++++++---- .../src/integrationtests/test-payment-fault.ts | 17 ++++++++++------- .../src/integrationtests/test-payment-transient.ts | 9 +++++++-- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/packages/taler-harness/src/integrationtests/test-payment-abort.ts b/packages/taler-harness/src/integrationtests/test-payment-abort.ts index a165c1e09..0ac953240 100644 --- a/packages/taler-harness/src/integrationtests/test-payment-abort.ts +++ b/packages/taler-harness/src/integrationtests/test-payment-abort.ts @@ -43,12 +43,17 @@ const axios = axiosImp.default; export async function runPaymentAbortTest(t: GlobalTestState) { // Set up test environment - const { wallet, bank, exchange, faultyMerchant } = + const { wallet, bank, exchange, faultyMerchant, faultyExchange } = await createFaultInjectedMerchantTestkudosEnvironment(t); // Withdraw digital cash into the wallet. - await withdrawViaBank(t, { wallet, bank, exchange, amount: "TESTKUDOS:20" }); + await withdrawViaBank(t, { + wallet, + bank, + exchange: faultyExchange, + amount: "TESTKUDOS:20", + }); const merchant = faultyMerchant; @@ -112,8 +117,6 @@ export async function runPaymentAbortTest(t: GlobalTestState) { publicOrderStatusResp.data, ); - let faultInjected = false; - faultyMerchant.faultProxy.addFault({ async modifyRequest(ctx: FaultInjectionRequestContext) { const url = new URL(ctx.requestUrl); diff --git a/packages/taler-harness/src/integrationtests/test-payment-fault.ts b/packages/taler-harness/src/integrationtests/test-payment-fault.ts index 209830187..c1438a419 100644 --- a/packages/taler-harness/src/integrationtests/test-payment-fault.ts +++ b/packages/taler-harness/src/integrationtests/test-payment-fault.ts @@ -71,7 +71,16 @@ export async function runPaymentFaultTest(t: GlobalTestState) { "x", ); - bank.setSuggestedExchange(exchange, exchangeBankAccount.accountPaytoUri); + const faultyExchange = new FaultInjectedExchangeService(t, exchange, 8091); + // Base URL must contain port that the proxy is listening on. + await exchange.modifyConfig(async (config) => { + config.setString("exchange", "base_url", "http://localhost:8091/"); + }); + + bank.setSuggestedExchange( + faultyExchange, + exchangeBankAccount.accountPaytoUri, + ); await bank.start(); @@ -83,12 +92,6 @@ export async function runPaymentFaultTest(t: GlobalTestState) { await exchange.start(); await exchange.pingUntilAvailable(); - const faultyExchange = new FaultInjectedExchangeService(t, exchange, 8091); - // Base URL must contain port that the proxy is listening on. - await exchange.modifyConfig(async (config) => { - config.setString("exchange", "base_url", "http://localhost:8091/"); - }); - // Print all requests to the exchange faultyExchange.faultProxy.addFault({ async modifyRequest(ctx: FaultInjectionRequestContext) { diff --git a/packages/taler-harness/src/integrationtests/test-payment-transient.ts b/packages/taler-harness/src/integrationtests/test-payment-transient.ts index a837a1b33..33a9716d5 100644 --- a/packages/taler-harness/src/integrationtests/test-payment-transient.ts +++ b/packages/taler-harness/src/integrationtests/test-payment-transient.ts @@ -42,12 +42,17 @@ const axios = axiosImp.default; export async function runPaymentTransientTest(t: GlobalTestState) { // Set up test environment - const { wallet, bank, exchange, faultyMerchant } = + const { wallet, bank, exchange, faultyMerchant, faultyExchange } = await createFaultInjectedMerchantTestkudosEnvironment(t); // Withdraw digital cash into the wallet. - await withdrawViaBank(t, { wallet, bank, exchange, amount: "TESTKUDOS:20" }); + await withdrawViaBank(t, { + wallet, + bank, + exchange: faultyExchange, + amount: "TESTKUDOS:20", + }); const merchant = faultyMerchant; -- cgit v1.2.3