aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-harness/src/harness
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-02-02 20:37:15 +0100
committerFlorian Dold <florian@dold.me>2023-02-02 20:37:15 +0100
commit9d6613619e052aba429e042a25744f1160950d15 (patch)
tree4ee187d3c06eee7ed790492b515678a1d7416ec3 /packages/taler-harness/src/harness
parent96101238afb82d200cf9d5005ffc2fc0391f23e4 (diff)
downloadwallet-core-9d6613619e052aba429e042a25744f1160950d15.tar.xz
harness,wallet-cli: allow in-memory DB
Diffstat (limited to 'packages/taler-harness/src/harness')
-rw-r--r--packages/taler-harness/src/harness/harness.ts39
1 files changed, 24 insertions, 15 deletions
diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts
index 83c8f60d1..e95dea0c6 100644
--- a/packages/taler-harness/src/harness/harness.ts
+++ b/packages/taler-harness/src/harness/harness.ts
@@ -1906,33 +1906,42 @@ function tryUnixConnect(socketPath: string): Promise<void> {
});
}
+export interface WalletServiceOptions {
+ useInMemoryDb?: boolean;
+ name: string;
+}
+
export class WalletService {
walletProc: ProcessWrapper | undefined;
- constructor(private globalState: GlobalTestState, private name: string) {}
+ constructor(
+ private globalState: GlobalTestState,
+ private opts: WalletServiceOptions,
+ ) {}
get socketPath() {
- const unixPath = path.join(this.globalState.testDir, `${this.name}.sock`);
+ const unixPath = path.join(
+ this.globalState.testDir,
+ `${this.opts.name}.sock`,
+ );
return unixPath;
}
async start(): Promise<void> {
- const dbPath = path.join(
- this.globalState.testDir,
- `walletdb-${this.name}.json`,
- );
+ let dbPath: string;
+ if (this.opts.useInMemoryDb) {
+ dbPath = ":memory:";
+ } else {
+ dbPath = path.join(
+ this.globalState.testDir,
+ `walletdb-${this.opts.name}.json`,
+ );
+ }
const unixPath = this.socketPath;
this.globalState.spawnService(
"taler-wallet-cli",
- [
- "--wallet-db",
- dbPath,
- "advanced",
- "serve",
- "--unix-path",
- unixPath,
- ],
- `wallet-${this.name}`,
+ ["--wallet-db", dbPath, "advanced", "serve", "--unix-path", unixPath],
+ `wallet-${this.opts.name}`,
);
}