taler-typescript-core

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

commit 91cbb9ab00e38635be1de34d94954fc29b615c11
parent 4cb0ada16cc3c0b156d4809d81376b0f7007adf8
Author: Florian Dold <florian@dold.me>
Date:   Mon, 23 Sep 2024 23:03:10 +0200

harness: also test merchant long-poller for repurchase

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-repurchase.ts | 18+++++++++++++++++-
Mpackages/taler-wallet-core/src/recoup.ts | 2+-
2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-repurchase.ts b/packages/taler-harness/src/integrationtests/test-repurchase.ts @@ -24,7 +24,7 @@ import { TalerMerchantApi, } from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; -import { GlobalTestState } from "../harness/harness.js"; +import { GlobalTestState, harnessHttpLib } from "../harness/harness.js"; import { useSharedTestkudosEnvironment, withdrawViaBankV2, @@ -102,6 +102,18 @@ export async function runRepurchaseTest(t: GlobalTestState) { t.assertTrue(orderTwoStatus.order_status === "unpaid"); + const orderLongpollUrl = new URL( + `orders/${orderTwoResp.order_id}`, + merchant.makeInstanceBaseUrl(), + ); + if (orderTwoResp.token) { + orderLongpollUrl.searchParams.set("token", orderTwoResp.token); + } + orderLongpollUrl.searchParams.set("timeout_ms", "60000"); + orderLongpollUrl.searchParams.set("session_id", "session2"); + + const longpollPromise = harnessHttpLib.fetch(orderLongpollUrl.href); + const preparePayTwoResult = await walletClient.call( WalletApiOperation.PreparePayForUri, { @@ -114,6 +126,10 @@ export async function runRepurchaseTest(t: GlobalTestState) { preparePayTwoResult.status === PreparePayResultType.AlreadyConfirmed, ); + t.logStep("start-wait-longpoll-promise"); + await longpollPromise; + t.logStep("done-wait-longpoll-promise"); + // Order three const orderThreeResp = await merchantClient.createOrder({ diff --git a/packages/taler-wallet-core/src/recoup.ts b/packages/taler-wallet-core/src/recoup.ts @@ -67,7 +67,7 @@ import { constructTransactionIdentifier } from "./transactions.js"; import { WalletExecutionContext, getDenomInfo } from "./wallet.js"; import { internalCreateWithdrawalGroup } from "./withdraw.js"; -export const logger = new Logger("operations/recoup.ts"); +const logger = new Logger("operations/recoup.ts"); /** * Store a recoup group record in the database after marking