diff options
author | Florian Dold <florian@dold.me> | 2023-02-13 13:15:47 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-02-13 13:15:47 +0100 |
commit | 22cb8adaa6d9584ad7638b9019b6d0c3eb7158bf (patch) | |
tree | 53544a96cca4bafd9b284f53a960585e20d74d0c /packages/taler-harness/src/harness/harness.ts | |
parent | 79b77a0c3c5a9a07d22c276a63ed81eb30507eba (diff) | |
download | wallet-core-22cb8adaa6d9584ad7638b9019b6d0c3eb7158bf.tar.xz |
wallet-core,harness: introduce reserveIsReady flag, test tx lifeycle
Diffstat (limited to 'packages/taler-harness/src/harness/harness.ts')
-rw-r--r-- | packages/taler-harness/src/harness/harness.ts | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts index 275592091..0b7ba14cf 100644 --- a/packages/taler-harness/src/harness/harness.ts +++ b/packages/taler-harness/src/harness/harness.ts @@ -1169,6 +1169,29 @@ export class ExchangeService implements ExchangeServiceInterface { return !!this.exchangeWirewatchProc || !!this.exchangeHttpProc; } + /** + * Stop the wirewatch service (which runs by default). + * + * Useful for some tests. + */ + async stopWirewatch(): Promise<void> { + const wirewatch = this.exchangeWirewatchProc; + if (wirewatch) { + wirewatch.proc.kill("SIGTERM"); + await wirewatch.wait(); + this.exchangeWirewatchProc = undefined; + } + } + + async startWirewatch(): Promise<void> { + const wirewatch = this.exchangeWirewatchProc; + if (wirewatch) { + logger.warn("wirewatch already running"); + } else { + this.internalCreateWirewatchProc(); + } + } + async stop(): Promise<void> { const wirewatch = this.exchangeWirewatchProc; if (wirewatch) { @@ -1332,6 +1355,19 @@ export class ExchangeService implements ExchangeServiceInterface { ); } + private internalCreateWirewatchProc() { + this.exchangeWirewatchProc = this.globalState.spawnService( + "taler-exchange-wirewatch", + [ + "-c", + this.configFilename, + "--longpoll-timeout=5s", + ...this.timetravelArgArr, + ], + `exchange-wirewatch-${this.name}`, + ); + } + async start(): Promise<void> { if (this.isRunning()) { throw Error("exchange is already running"); @@ -1360,16 +1396,7 @@ export class ExchangeService implements ExchangeServiceInterface { `exchange-crypto-rsa-${this.name}`, ); - this.exchangeWirewatchProc = this.globalState.spawnService( - "taler-exchange-wirewatch", - [ - "-c", - this.configFilename, - "--longpoll-timeout=5s", - ...this.timetravelArgArr, - ], - `exchange-wirewatch-${this.name}`, - ); + this.internalCreateWirewatchProc(); this.exchangeHttpProc = this.globalState.spawnService( "taler-exchange-httpd", |