From 9d6613619e052aba429e042a25744f1160950d15 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 2 Feb 2023 20:37:15 +0100 Subject: harness,wallet-cli: allow in-memory DB --- packages/taler-harness/src/harness/harness.ts | 39 +++++++++++++--------- .../integrationtests/test-wallet-notifications.ts | 5 ++- 2 files changed, 28 insertions(+), 16 deletions(-) (limited to 'packages/taler-harness') 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 { }); } +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 { - 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}`, ); } diff --git a/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts b/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts index 23c71ea2f..9f591b9d0 100644 --- a/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts +++ b/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts @@ -107,7 +107,10 @@ export async function runWalletNotificationsTest(t: GlobalTestState) { console.log("setup done!"); - const walletService = new WalletService(t, "wallet"); + const walletService = new WalletService(t, { + name: "wallet", + useInMemoryDb: true, + }); await walletService.start(); await walletService.pingUntilAvailable(); -- cgit v1.2.3