diff options
author | Florian Dold <florian@dold.me> | 2023-01-11 17:12:08 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-01-11 17:14:49 +0100 |
commit | 143a4fe4ac5b8724cf6e13a704e88daa99dd4202 (patch) | |
tree | 07b2fe6d993ae46838bc4072db8eba609bbb1801 /packages/taler-harness | |
parent | 5fc0cb7927e7a81a80129f6165b2027e72b89d33 (diff) | |
download | wallet-core-143a4fe4ac5b8724cf6e13a704e88daa99dd4202.tar.xz |
wallet-core: refresh when aborting payments
Diffstat (limited to 'packages/taler-harness')
-rw-r--r-- | packages/taler-harness/src/harness/faultInjection.ts | 17 | ||||
-rw-r--r-- | packages/taler-harness/src/integrationtests/testrunner.ts | 2 |
2 files changed, 18 insertions, 1 deletions
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<string, string | string[] | undefined>; requestBody?: Buffer; dropRequest: boolean; + // These are only used when the request is dropped + substituteResponseBody?: Buffer; + substituteResponseStatusCode?: number; + substituteResponseHeaders?: Record<string, string | string[] | undefined>; } 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, |