[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: -missing file, internal benchmark,
gnunet <=