commit 7418438f1189174482f75e5e9e7460b5b4160887
parent 8928496bcb990c89d191194df5aa80c2621f144f
Author: Florian Dold <dold@taler.net>
Date: Thu, 30 Jul 2026 22:36:02 +0200
harness: check the reason reported for a purse that is gone
Issue: https://bugs.taler.net/n/11654
Diffstat:
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/packages/taler-harness/src/integrationtests/test-peer-pull.ts b/packages/taler-harness/src/integrationtests/test-peer-pull.ts
@@ -385,6 +385,16 @@ export async function runPeerPullTest(t: GlobalTestState) {
}),
]);
+ const aborted_debit = await wallet2.call(
+ WalletApiOperation.GetTransactionById,
+ { transactionId: prepare2.transactionId },
+ );
+ t.assertDeepEqual(
+ aborted_debit.abortReason?.code,
+ TalerErrorCode.WALLET_PEER_PULL_DEBIT_PURSE_GONE,
+ );
+ t.assertDeepEqual((aborted_debit.abortReason as any)?.purseExpired, false);
+
const aborted_contract = await t.assertThrowsTalerErrorAsync(() =>
wallet1.call(WalletApiOperation.PreparePeerPullDebit, {
talerUri: tx.talerUri!,
diff --git a/packages/taler-harness/src/integrationtests/test-peer-push.ts b/packages/taler-harness/src/integrationtests/test-peer-push.ts
@@ -404,6 +404,18 @@ export async function runPeerPushTest(t: GlobalTestState) {
major: TransactionMajorState.Aborted,
},
});
+
+ const abandoned = await wallet3.call(
+ WalletApiOperation.GetTransactionById,
+ {
+ transactionId: prepare3.transactionId,
+ },
+ );
+ t.assertDeepEqual(
+ abandoned.abortReason?.code,
+ TalerErrorCode.WALLET_PEER_PUSH_CREDIT_PURSE_GONE,
+ );
+ t.assertDeepEqual((abandoned.abortReason as any)?.purseExpired, false);
});
await t.runSpanAsync(