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:
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