commit 7a5ed5b74af312da25a6dd969664574909ce0026
parent 86b82d146d0835a2bf85de820c5757d19b079cef
Author: Florian Dold <florian@dold.me>
Date: Fri, 14 Nov 2025 20:25:06 +0100
harness: test for mechant behavior when donau keys change
Diffstat:
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/packages/taler-harness/src/harness/harness-donau.ts b/packages/taler-harness/src/harness/harness-donau.ts
@@ -269,6 +269,13 @@ export class DonauService {
const url = `http://localhost:${this.donauConfig.httpPort}/config`;
await pingProc(this.donauHttpProc, url, `donau (${this.name})`);
}
+
+ async purgeSecmodKeys(): Promise<void> {
+ const cfg = Configuration.load(this.configFilename, ConfigSources["donau"]);
+ const rsaKeydir = cfg.getPath("donau-secmod-rsa", "KEY_DIR").required();
+ // Be *VERY* careful when changing this, or you will accidentally delete user data.
+ await sh(this.globalState, "rm-secmod-keys", `rm -rf ${rsaKeydir}/DOCO_*`);
+ }
}
/**
diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts b/packages/taler-harness/src/integrationtests/testrunner.ts
@@ -54,6 +54,7 @@ import { runDepositTest } from "./test-deposit.js";
import { runDonauCharityManagementTest } from "./test-donau-charity-management.js";
import { runDonauCompatTest } from "./test-donau-compat.js";
import { runDonauIdempotencyTest } from "./test-donau-idempotency.js";
+import { runDonauKeychangeTest } from "./test-donau-keychange.js";
import { runDonauMinusTTest } from "./test-donau-minus-t.js";
import { runDonauMultiTest } from "./test-donau-multi.js";
import { runDonauTest } from "./test-donau.js";
@@ -397,6 +398,7 @@ const allTests: TestMainFunction[] = [
runDonauCharityManagementTest,
runDonauMultiTest,
runDonauIdempotencyTest,
+ runDonauKeychangeTest,
];
export interface TestRunSpec {