From 64e340541ffcf10df4ef6400232c423aaecf81b9 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 29 Jan 2024 12:24:46 +0100 Subject: wallet-core: implement db migration check --- packages/taler-harness/src/harness/harness.ts | 34 ++++++++++++++++++++------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'packages/taler-harness/src/harness/harness.ts') diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts index b2714f496..b9164a968 100644 --- a/packages/taler-harness/src/harness/harness.ts +++ b/packages/taler-harness/src/harness/harness.ts @@ -1885,16 +1885,39 @@ function tryUnixConnect(socketPath: string): Promise { export interface WalletServiceOptions { useInMemoryDb?: boolean; + /** + * Use a particular DB path instead of the default one in the + * test environment. + */ + overrideDbPath?: string; name: string; } +/** + * A wallet service that listens on a unix domain socket for commands. + */ export class WalletService { walletProc: ProcessWrapper | undefined; + private internalDbPath: string; + constructor( private globalState: GlobalTestState, private opts: WalletServiceOptions, - ) {} + ) { + if (this.opts.overrideDbPath) { + this.internalDbPath = this.opts.overrideDbPath; + } else { + if (this.opts.useInMemoryDb) { + this.internalDbPath = ":memory:"; + } else { + this.internalDbPath = path.join( + this.globalState.testDir, + `walletdb-${this.opts.name}.sqlite3`, + ); + } + } + } get socketPath() { const unixPath = path.join( @@ -1905,14 +1928,7 @@ export class WalletService { } get dbPath() { - if (this.opts.useInMemoryDb) { - return ":memory:"; - } else { - return path.join( - this.globalState.testDir, - `walletdb-${this.opts.name}.sqlite3`, - ); - } + return this.internalDbPath; } async stop(): Promise { -- cgit v1.2.3