taler-typescript-core

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

commit 2bbf1822cfd725d9360161d233e8cdf105ed9940
parent f8f5fac48f12ad4c9844f062a143e5fb7aa92539
Author: Florian Dold <dold@taler.net>
Date:   Fri, 11 Sep 2026 09:50:51 +0200

taler-harness: stop KYC refresh during notification assertions

Keep the checker from replacing the synthetic KYC status while the
notification report is rendered. Report generation requests a refresh,
so setting the next poll time alone does not prevent a second alert.

Diffstat:
Mpackages/taler-harness/src/harness/harness.ts | 4++++
Mpackages/taler-harness/src/integrationtests/test-merchant-kyc-notifications.ts | 9+++++----
2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts @@ -2792,6 +2792,10 @@ export class MerchantService implements MerchantServiceInterface { logger.info(`done killing merchant donaukeyupdate`); this.procDonaukeyupdate = undefined; } + await this.stopKyccheck(); + } + + async stopKyccheck(): Promise<void> { const kyccheck = this.procKyccheck; if (kyccheck) { logger.info(`killing merchant kyccheck`); diff --git a/packages/taler-harness/src/integrationtests/test-merchant-kyc-notifications.ts b/packages/taler-harness/src/integrationtests/test-merchant-kyc-notifications.ts @@ -189,6 +189,9 @@ export async function runMerchantKycNotificationsTest(t: GlobalTestState) { const instanceSchema = await getInstanceSchema(t, commonDb.connStr); await waitForKycRecord(t, commonDb.connStr, instanceSchema, merchant); + // Rendering the report requests fresh KYC data. Stop the checker so it + // cannot overwrite the synthetic status below and trigger another alert. + await merchant.stopKyccheck(); await psql( t, @@ -209,16 +212,14 @@ export async function runMerchantKycNotificationsTest(t: GlobalTestState) { // last_rule_gen is part of the user-visible KYC status and is one of the // fields guarded by merchant_kyc_update_trigger(). Moving it forward gives // us a deterministic status transition without relying on an external KYC - // provider. Keep the row out of the background checker's work queue while - // the notification is inspected. + // provider. await psql( t, commonDb.connStr, "trigger-kyc-notification", `SET search_path TO ${instanceSchema}, merchant;` + " UPDATE merchant_kyc" + - " SET last_rule_gen=last_rule_gen+1," + - " next_kyc_poll=9223372036854775807" + + " SET last_rule_gen=last_rule_gen+1" + " WHERE kyc_serial_id=(" + " SELECT MIN(kyc_serial_id) FROM merchant_kyc)", );