From 143a4fe4ac5b8724cf6e13a704e88daa99dd4202 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 11 Jan 2023 17:12:08 +0100 Subject: wallet-core: refresh when aborting payments --- packages/taler-harness/src/harness/faultInjection.ts | 17 ++++++++++++++++- .../taler-harness/src/integrationtests/testrunner.ts | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'packages/taler-harness') diff --git a/packages/taler-harness/src/harness/faultInjection.ts b/packages/taler-harness/src/harness/faultInjection.ts index 4c3d0c123..f4d7fc4b9 100644 --- a/packages/taler-harness/src/harness/faultInjection.ts +++ b/packages/taler-harness/src/harness/faultInjection.ts @@ -47,6 +47,10 @@ export interface FaultInjectionRequestContext { requestHeaders: Record; requestBody?: Buffer; dropRequest: boolean; + // These are only used when the request is dropped + substituteResponseBody?: Buffer; + substituteResponseStatusCode?: number; + substituteResponseHeaders?: Record; } export interface FaultInjectionResponseContext { @@ -101,7 +105,18 @@ export class FaultProxy { } if (faultReqContext.dropRequest) { - res.destroy(); + if (faultReqContext.substituteResponseStatusCode) { + const statusCode = faultReqContext.substituteResponseStatusCode; + res.writeHead( + statusCode, + http.STATUS_CODES[statusCode], + faultReqContext.substituteResponseHeaders, + ); + res.write(faultReqContext.substituteResponseBody); + res.end(); + } else { + res.destroy(); + } return; } diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts b/packages/taler-harness/src/integrationtests/testrunner.ts index 9e64a151a..b5afa5d5b 100644 --- a/packages/taler-harness/src/integrationtests/testrunner.ts +++ b/packages/taler-harness/src/integrationtests/testrunner.ts @@ -97,6 +97,7 @@ import { runAgeRestrictionsMixedMerchantTest } from "./test-age-restrictions-mix import { runWalletCryptoWorkerTest } from "./test-wallet-cryptoworker.js"; import { runWithdrawalHighTest } from "./test-withdrawal-high.js"; import { runKycTest } from "./test-kyc.js"; +import { runPaymentAbortTest } from "./test-payment-abort.js"; /** * Test runner. @@ -159,6 +160,7 @@ const allTests: TestMainFunction[] = [ runPaymentIdempotencyTest, runPaymentMultipleTest, runPaymentTest, + runPaymentAbortTest, runPaymentTransientTest, runPaymentZeroTest, runPayPaidTest, -- cgit v1.2.3