gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: -missing file, internal bench


From: gnunet
Subject: [taler-wallet-core] branch master updated: -missing file, internal benchmark
Date: Thu, 08 Dec 2022 15:02:15 +0100

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

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 68811cc5f -missing file, internal benchmark
68811cc5f is described below

commit 68811cc5f59e9f7f3e46e5a35edc3e4470a295db
Author: Florian Dold <florian@dold.me>
AuthorDate: Thu Dec 8 15:01:59 2022 +0100

    -missing file, internal benchmark
---
 packages/taler-wallet-cli/src/env-full.ts          | 101 +++++++++++++++++++++
 packages/taler-wallet-cli/src/index.ts             |  29 ++++++
 .../src/crypto/workers/cryptoDispatcher.ts         |   2 +-
 packages/taler-wallet-embedded/src/wallet-qjs.ts   |   3 +-
 4 files changed, 133 insertions(+), 2 deletions(-)

diff --git a/packages/taler-wallet-cli/src/env-full.ts 
b/packages/taler-wallet-cli/src/env-full.ts
new file mode 100644
index 000000000..3a684db0b
--- /dev/null
+++ b/packages/taler-wallet-cli/src/env-full.ts
@@ -0,0 +1,101 @@
+/*
+ This file is part of GNU Taler
+ (C) 2021 Taler Systems S.A.
+
+ GNU Taler is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+ */
+
+/**
+ * Imports.
+ */
+import { Duration, j2s, URL } from "@gnu-taler/taler-util";
+import { CoinConfig, defaultCoinConfig } from "./harness/denomStructures.js";
+import {
+  GlobalTestState,
+  setupDb,
+  ExchangeService,
+  FakebankService,
+  MerchantService,
+  getPayto,
+} from "./harness/harness.js";
+
+/**
+ * Entry point for the full Taler test environment.
+ */
+export async function runEnvFull(t: GlobalTestState): Promise<void> {
+  const db = await setupDb(t);
+
+  const bank = await FakebankService.create(t, {
+    allowRegistrations: true,
+    currency: "TESTKUDOS",
+    database: db.connStr,
+    httpPort: 8082,
+  });
+
+  const exchange = ExchangeService.create(t, {
+    name: "testexchange-1",
+    currency: "TESTKUDOS",
+    httpPort: 8081,
+    database: db.connStr,
+  });
+
+  const merchant = await MerchantService.create(t, {
+    name: "testmerchant-1",
+    currency: "TESTKUDOS",
+    httpPort: 8083,
+    database: db.connStr,
+  });
+
+  const exchangeBankAccount = await bank.createExchangeAccount(
+    "myexchange",
+    "x",
+  );
+  console.log("exchange bank account", j2s(exchangeBankAccount));
+  exchange.addBankAccount("1", exchangeBankAccount);
+
+  bank.setSuggestedExchange(exchange, exchangeBankAccount.accountPaytoUri);
+
+  await bank.start();
+
+  await bank.pingUntilAvailable();
+
+  const coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => 
x("TESTKUDOS"));
+  exchange.addCoinConfigList(coinConfig);
+
+  await exchange.start();
+  await exchange.pingUntilAvailable();
+
+  merchant.addExchange(exchange);
+
+  await merchant.start();
+  await merchant.pingUntilAvailable();
+
+  await merchant.addInstance({
+    id: "default",
+    name: "Default Instance",
+    paytoUris: [getPayto("merchant-default")],
+    defaultWireTransferDelay: Duration.toTalerProtocolDuration(
+      Duration.fromSpec({ minutes: 1 }),
+    ),
+  });
+
+  await merchant.addInstance({
+    id: "minst1",
+    name: "minst1",
+    paytoUris: [getPayto("minst1")],
+    defaultWireTransferDelay: Duration.toTalerProtocolDuration(
+      Duration.fromSpec({ minutes: 1 }),
+    ),
+  });
+
+  console.log("setup done!");
+}
diff --git a/packages/taler-wallet-cli/src/index.ts 
b/packages/taler-wallet-cli/src/index.ts
index 40f2273a7..8fad3bdbf 100644
--- a/packages/taler-wallet-cli/src/index.ts
+++ b/packages/taler-wallet-cli/src/index.ts
@@ -48,6 +48,7 @@ import {
 import {
   CryptoDispatcher,
   getDefaultNodeWallet,
+  getDefaultNodeWallet2,
   getErrorDetailFromException,
   nativeCrypto,
   NodeHttpLib,
@@ -865,6 +866,34 @@ advancedCli
     });
   });
 
+advancedCli
+  .subcommand("benchInternal", "bench-internal", {
+    help: "Run the 'bench-internal' benchmark",
+  })
+  .action(async (args) => {
+    const myHttpLib = new NodeHttpLib();
+    myHttpLib.setThrottling(false);
+    const res = await getDefaultNodeWallet2({
+      // No persistent DB storage.
+      persistentStoragePath: undefined,
+      httpLib: myHttpLib,
+    });
+    const wallet = res.wallet;
+    await wallet.client.call(WalletApiOperation.InitWallet, {});
+    await wallet.client.call(WalletApiOperation.RunIntegrationTest, {
+      amountToSpend: "TESTKUDOS:1",
+      amountToWithdraw: "TESTKUDOS:3",
+      bankBaseUrl: "http://localhost:8082/";,
+      bankAccessApiBaseUrl: "http://localhost:8082/taler-bank-access/";,
+      exchangeBaseUrl: "http://localhost:8081/";,
+      merchantBaseUrl: "http://localhost:8083/";,
+    });
+    await wallet.runTaskLoop({
+      stopWhenDone: true,
+    });
+    wallet.stop();
+  });
+
 advancedCli
   .subcommand("bench1", "bench1", {
     help: "Run the 'bench1' benchmark",
diff --git a/packages/taler-wallet-core/src/crypto/workers/cryptoDispatcher.ts 
b/packages/taler-wallet-core/src/crypto/workers/cryptoDispatcher.ts
index 1c0d509e6..88aea71b9 100644
--- a/packages/taler-wallet-core/src/crypto/workers/cryptoDispatcher.ts
+++ b/packages/taler-wallet-core/src/crypto/workers/cryptoDispatcher.ts
@@ -356,7 +356,7 @@ export class CryptoDispatcher {
     // it to make sure it doesn't keep us alive if there is no work.)
     return new Promise<T>((resolve, reject) => {
       let timedOut = false;
-      const timeout = timer.after(5000, () => {
+      const timeout = timer.after(10000, () => {
         logger.warn(`crypto RPC call ('${operation}') timed out`);
         timedOut = true;
         reject(new Error(`crypto RPC call ('${operation}') timed out`));
diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts 
b/packages/taler-wallet-embedded/src/wallet-qjs.ts
index 8cad653a8..889cbd83a 100644
--- a/packages/taler-wallet-embedded/src/wallet-qjs.ts
+++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts
@@ -431,11 +431,12 @@ export async function testWithLocal() {
     bankBaseUrl: "http://localhost:8082/";,
     bankAccessApiBaseUrl: "http://localhost:8082/taler-bank-access/";,
     exchangeBaseUrl: "http://localhost:8081/";,
-    merchantBaseUrl: "http://backend.demo.taler.net:8083/";,
+    merchantBaseUrl: "http://localhost:8083/";,
   });
   await w.wallet.runTaskLoop({
     stopWhenDone: true,
   });
+  w.wallet.stop();
 }
 
 // @ts-ignore

-- 
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]