aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-harness/src/harness/harness.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-01-29 12:24:46 +0100
committerFlorian Dold <florian@dold.me>2024-01-29 12:24:46 +0100
commit64e340541ffcf10df4ef6400232c423aaecf81b9 (patch)
tree849ed0ec0e7d075ecf6f9cba718671ba9eb7fa7d /packages/taler-harness/src/harness/harness.ts
parent9dc9f464689d4294a1767e35fdae88e9689298c8 (diff)
downloadwallet-core-64e340541ffcf10df4ef6400232c423aaecf81b9.tar.xz
wallet-core: implement db migration check
Diffstat (limited to 'packages/taler-harness/src/harness/harness.ts')
-rw-r--r--packages/taler-harness/src/harness/harness.ts34
1 files changed, 25 insertions, 9 deletions
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<void> {
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<void> {