From 1a0610f222f841237f9940a3a3a55635eec7d324 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 Mar 2021 21:20:05 +0100 Subject: WIP: wallet backup integration test --- .../src/integrationtests/harness.ts | 29 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'packages/taler-wallet-cli/src/integrationtests/harness.ts') diff --git a/packages/taler-wallet-cli/src/integrationtests/harness.ts b/packages/taler-wallet-cli/src/integrationtests/harness.ts index 118bc35d4..a2d2b8e13 100644 --- a/packages/taler-wallet-cli/src/integrationtests/harness.ts +++ b/packages/taler-wallet-cli/src/integrationtests/harness.ts @@ -99,6 +99,7 @@ import { import { ApplyRefundResponse } from "@gnu-taler/taler-wallet-core"; import { PendingOperationsResponse } from "@gnu-taler/taler-wallet-core"; import { CoinConfig } from "./denomStructures"; +import { AddBackupProviderRequest, BackupInfo } from "@gnu-taler/taler-wallet-core/src/operations/backup"; const exec = util.promisify(require("child_process").exec); @@ -396,7 +397,11 @@ export interface TalerConfig { } export interface DbInfo { + /** + * Postgres connection string. + */ connStr: string; + dbname: string; } @@ -418,7 +423,7 @@ export interface BankConfig { maxDebt?: string; } -function setPaths(config: Configuration, home: string) { +function setTalerPaths(config: Configuration, home: string) { config.setString("paths", "taler_home", home); // We need to make sure that the path of taler_runtime_dir isn't too long, // as it contains unix domain sockets (108 character limit). @@ -647,7 +652,7 @@ export class BankService implements BankServiceInterface { bc: BankConfig, ): Promise { const config = new Configuration(); - setPaths(config, gc.testDir + "/talerhome"); + setTalerPaths(config, gc.testDir + "/talerhome"); config.setString("taler", "currency", bc.currency); config.setString("bank", "database", bc.database); config.setString("bank", "http_port", `${bc.httpPort}`); @@ -860,7 +865,7 @@ export class ExchangeService implements ExchangeServiceInterface { "currency_round_unit", e.roundUnit ?? `${e.currency}:0.01`, ); - setPaths(config, gc.testDir + "/talerhome"); + setTalerPaths(config, gc.testDir + "/talerhome"); config.setString( "exchange", @@ -1425,7 +1430,7 @@ export class MerchantService implements MerchantServiceInterface { config.setString("taler", "currency", mc.currency); const cfgFilename = gc.testDir + `/merchant-${mc.name}.conf`; - setPaths(config, gc.testDir + "/talerhome"); + setTalerPaths(config, gc.testDir + "/talerhome"); config.setString("merchant", "serve", "tcp"); config.setString("merchant", "port", `${mc.httpPort}`); config.setString( @@ -1846,4 +1851,20 @@ export class WalletCli { } throw new OperationFailedError(resp.error); } + + async addBackupProvider(req: AddBackupProviderRequest): Promise { + const resp = await this.apiRequest("addBackupProvider", req); + if (resp.type === "response") { + return; + } + throw new OperationFailedError(resp.error); + } + + async getBackupInfo(): Promise { + const resp = await this.apiRequest("getBackupInfo", {}); + if (resp.type === "response") { + return resp.result as BackupInfo; + } + throw new OperationFailedError(resp.error); + } } -- cgit v1.2.3