gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (32318a80 -> 240a8c74)


From: gnunet
Subject: [taler-wallet-core] branch master updated (32318a80 -> 240a8c74)
Date: Fri, 29 Oct 2021 15:07:49 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a change to branch master
in repository wallet-core.

    from 32318a80 working version with improved ui
     new 1419751b test harness: abstracting import of BankService
     new 240a8c74 fix IBAN generator

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 packages/taler-wallet-cli/src/harness/harness.ts | 228 ++++++++++++-----------
 packages/taler-wallet-cli/src/harness/helpers.ts |   4 +-
 2 files changed, 119 insertions(+), 113 deletions(-)

diff --git a/packages/taler-wallet-cli/src/harness/harness.ts 
b/packages/taler-wallet-cli/src/harness/harness.ts
index b4ac16db..c607144e 100644
--- a/packages/taler-wallet-cli/src/harness/harness.ts
+++ b/packages/taler-wallet-cli/src/harness/harness.ts
@@ -607,118 +607,126 @@ export namespace BankApi {
   }
 }
 
-export class BankService implements BankServiceInterface {
-  proc: ProcessWrapper | undefined;
-
-  static fromExistingConfig(gc: GlobalTestState): BankService {
-    const cfgFilename = gc.testDir + "/bank.conf";
-    console.log("reading bank config from", cfgFilename);
-    const config = Configuration.load(cfgFilename);
-    const bc: BankConfig = {
-      allowRegistrations: config
-        .getYesNo("bank", "allow_registrations")
-        .required(),
-      currency: config.getString("taler", "currency").required(),
-      database: config.getString("bank", "database").required(),
-      httpPort: config.getNumber("bank", "http_port").required(),
-    };
-    return new BankService(gc, bc, cfgFilename);
-  }
-
-  static async create(
-    gc: GlobalTestState,
-    bc: BankConfig,
-  ): Promise<BankService> {
-    const config = new Configuration();
-    setTalerPaths(config, gc.testDir + "/talerhome");
-    config.setString("taler", "currency", bc.currency);
-    config.setString("bank", "database", bc.database);
-    config.setString("bank", "http_port", `${bc.httpPort}`);
-    config.setString("bank", "serve", "http");
-    config.setString("bank", "max_debt_bank", `${bc.currency}:999999`);
-    config.setString("bank", "max_debt", bc.maxDebt ?? `${bc.currency}:100`);
-    config.setString(
-      "bank",
-      "allow_registrations",
-      bc.allowRegistrations ? "yes" : "no",
-    );
-    const cfgFilename = gc.testDir + "/bank.conf";
-    config.write(cfgFilename);
-
-    await sh(
-      gc,
-      "taler-bank-manage_django",
-      `taler-bank-manage -c '${cfgFilename}' django migrate`,
-    );
-    await sh(
-      gc,
-      "taler-bank-manage_django",
-      `taler-bank-manage -c '${cfgFilename}' django provide_accounts`,
-    );
-
-    return new BankService(gc, bc, cfgFilename);
-  }
-
-  setSuggestedExchange(e: ExchangeServiceInterface, exchangePayto: string) {
-    const config = Configuration.load(this.configFile);
-    config.setString("bank", "suggested_exchange", e.baseUrl);
-    config.setString("bank", "suggested_exchange_payto", exchangePayto);
-  }
-
-  get baseUrl(): string {
-    return `http://localhost:${this.bankConfig.httpPort}/`;
-  }
-
-  async createExchangeAccount(
-    accountName: string,
-    password: string,
-  ): Promise<HarnessExchangeBankAccount> {
-    await sh(
-      this.globalTestState,
-      "taler-bank-manage_django",
-      `taler-bank-manage -c '${this.configFile}' django add_bank_account 
${accountName}`,
-    );
-    await sh(
-      this.globalTestState,
-      "taler-bank-manage_django",
-      `taler-bank-manage -c '${this.configFile}' django changepassword_unsafe 
${accountName} ${password}`,
-    );
-    await sh(
-      this.globalTestState,
-      "taler-bank-manage_django",
-      `taler-bank-manage -c '${this.configFile}' django top_up ${accountName} 
${this.bankConfig.currency}:100000`,
-    );
-    return {
-      accountName: accountName,
-      accountPassword: password,
-      accountPaytoUri: `payto://x-taler-bank/${accountName}`,
-      wireGatewayApiBaseUrl: 
`http://localhost:${this.bankConfig.httpPort}/taler-wire-gateway/${accountName}/`,
-    };
-  }
-
-  get port() {
-    return this.bankConfig.httpPort;
-  }
-
-  private constructor(
-    private globalTestState: GlobalTestState,
-    private bankConfig: BankConfig,
-    private configFile: string,
-  ) {}
-
-  async start(): Promise<void> {
-    this.proc = this.globalTestState.spawnService(
-      "taler-bank-manage",
-      ["-c", this.configFile, "serve"],
-      "bank",
-    );
-  }
-
-  async pingUntilAvailable(): Promise<void> {
-    const url = `http://localhost:${this.bankConfig.httpPort}/config`;
-    await pingProc(this.proc, url, "bank");
+/**
+ * Method explained here:
+ * https://github.com/microsoft/TypeScript/issues/2552
+ */
+module BankServices {
+  export class PybankService implements BankServiceInterface {
+    proc: ProcessWrapper | undefined;
+  
+    static fromExistingConfig(gc: GlobalTestState): BankService {
+      const cfgFilename = gc.testDir + "/bank.conf";
+      console.log("reading bank config from", cfgFilename);
+      const config = Configuration.load(cfgFilename);
+      const bc: BankConfig = {
+        allowRegistrations: config
+          .getYesNo("bank", "allow_registrations")
+          .required(),
+        currency: config.getString("taler", "currency").required(),
+        database: config.getString("bank", "database").required(),
+        httpPort: config.getNumber("bank", "http_port").required(),
+      };
+      return new BankService(gc, bc, cfgFilename);
+    }
+  
+    static async create(
+      gc: GlobalTestState,
+      bc: BankConfig,
+    ): Promise<BankService> {
+      const config = new Configuration();
+      setTalerPaths(config, gc.testDir + "/talerhome");
+      config.setString("taler", "currency", bc.currency);
+      config.setString("bank", "database", bc.database);
+      config.setString("bank", "http_port", `${bc.httpPort}`);
+      config.setString("bank", "serve", "http");
+      config.setString("bank", "max_debt_bank", `${bc.currency}:999999`);
+      config.setString("bank", "max_debt", bc.maxDebt ?? `${bc.currency}:100`);
+      config.setString(
+        "bank",
+        "allow_registrations",
+        bc.allowRegistrations ? "yes" : "no",
+      );
+      const cfgFilename = gc.testDir + "/bank.conf";
+      config.write(cfgFilename);
+  
+      await sh(
+        gc,
+        "taler-bank-manage_django",
+        `taler-bank-manage -c '${cfgFilename}' django migrate`,
+      );
+      await sh(
+        gc,
+        "taler-bank-manage_django",
+        `taler-bank-manage -c '${cfgFilename}' django provide_accounts`,
+      );
+  
+      return new BankService(gc, bc, cfgFilename);
+    }
+  
+    setSuggestedExchange(e: ExchangeServiceInterface, exchangePayto: string) {
+      const config = Configuration.load(this.configFile);
+      config.setString("bank", "suggested_exchange", e.baseUrl);
+      config.setString("bank", "suggested_exchange_payto", exchangePayto);
+    }
+  
+    get baseUrl(): string {
+      return `http://localhost:${this.bankConfig.httpPort}/`;
+    }
+  
+    async createExchangeAccount(
+      accountName: string,
+      password: string,
+    ): Promise<HarnessExchangeBankAccount> {
+      await sh(
+        this.globalTestState,
+        "taler-bank-manage_django",
+        `taler-bank-manage -c '${this.configFile}' django add_bank_account 
${accountName}`,
+      );
+      await sh(
+        this.globalTestState,
+        "taler-bank-manage_django",
+        `taler-bank-manage -c '${this.configFile}' django 
changepassword_unsafe ${accountName} ${password}`,
+      );
+      await sh(
+        this.globalTestState,
+        "taler-bank-manage_django",
+        `taler-bank-manage -c '${this.configFile}' django top_up 
${accountName} ${this.bankConfig.currency}:100000`,
+      );
+      return {
+        accountName: accountName,
+        accountPassword: password,
+        accountPaytoUri: `payto://x-taler-bank/${accountName}`,
+        wireGatewayApiBaseUrl: 
`http://localhost:${this.bankConfig.httpPort}/taler-wire-gateway/${accountName}/`,
+      };
+    }
+  
+    get port() {
+      return this.bankConfig.httpPort;
+    }
+  
+    private constructor(
+      private globalTestState: GlobalTestState,
+      private bankConfig: BankConfig,
+      private configFile: string,
+    ) {}
+  
+    async start(): Promise<void> {
+      this.proc = this.globalTestState.spawnService(
+        "taler-bank-manage",
+        ["-c", this.configFile, "serve"],
+        "bank",
+      );
+    }
+  
+    async pingUntilAvailable(): Promise<void> {
+      const url = `http://localhost:${this.bankConfig.httpPort}/config`;
+      await pingProc(this.proc, url, "bank");
+    }
   }
 }
+import BankService = BankServices.PybankService;
+export { BankService };
 
 export class FakeBankService {
   proc: ProcessWrapper | undefined;
diff --git a/packages/taler-wallet-cli/src/harness/helpers.ts 
b/packages/taler-wallet-cli/src/harness/helpers.ts
index 3b4e1643..1dc38f0f 100644
--- a/packages/taler-wallet-cli/src/harness/helpers.ts
+++ b/packages/taler-wallet-cli/src/harness/helpers.ts
@@ -63,9 +63,7 @@ export interface SimpleTestEnvironment {
 }
 
 export function getRandomIban(countryCode: string): string {
-  return `${countryCode}715001051796${(Math.random() * 100000000)
-    .toString()
-    .substring(0, 6)}`;
+  return `${countryCode}715001051796${Math.floor(Math.random() * 1000000)}`;
 }
 
 export function getRandomString(): string {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]