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:
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)",
);