diff options
author | Florian Dold <florian@dold.me> | 2023-02-02 20:37:15 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-02-02 20:37:15 +0100 |
commit | 9d6613619e052aba429e042a25744f1160950d15 (patch) | |
tree | 4ee187d3c06eee7ed790492b515678a1d7416ec3 /packages/taler-harness | |
parent | 96101238afb82d200cf9d5005ffc2fc0391f23e4 (diff) |
harness,wallet-cli: allow in-memory DB
Diffstat (limited to 'packages/taler-harness')
-rw-r--r-- | packages/taler-harness/src/harness/harness.ts | 39 | ||||
-rw-r--r-- | packages/taler-harness/src/integrationtests/test-wallet-notifications.ts | 5 |
2 files changed, 28 insertions, 16 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}`, ); } 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(); |