aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-cli/src/integrationtests
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-10-05 15:45:10 +0200
committerFlorian Dold <florian@dold.me>2022-10-05 15:45:28 +0200
commit70d37e4ed30e69c4b3ba2d31a50fd61d82b91252 (patch)
tree7f5d2741886e3cd31c41d81a40ca12670fde36a9 /packages/taler-wallet-cli/src/integrationtests
parentefc4ac8dca3f4163aca5e208b7c35cdde140793d (diff)
downloadwallet-core-70d37e4ed30e69c4b3ba2d31a50fd61d82b91252.tar.xz
integration tests: test crypto worker
We test instantiations of both crypto workers that are available for node.
Diffstat (limited to 'packages/taler-wallet-cli/src/integrationtests')
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/test-wallet-cryptoworker.ts55
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/testrunner.ts2
2 files changed, 57 insertions, 0 deletions
diff --git a/packages/taler-wallet-cli/src/integrationtests/test-wallet-cryptoworker.ts b/packages/taler-wallet-cli/src/integrationtests/test-wallet-cryptoworker.ts
new file mode 100644
index 000000000..fefdab27a
--- /dev/null
+++ b/packages/taler-wallet-cli/src/integrationtests/test-wallet-cryptoworker.ts
@@ -0,0 +1,55 @@
+/*
+ This file is part of GNU Taler
+ (C) 2020 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 { j2s } from "@gnu-taler/taler-util";
+import {
+ checkReserve,
+ CryptoDispatcher,
+ depositCoin,
+ downloadExchangeInfo,
+ findDenomOrThrow,
+ NodeHttpLib,
+ refreshCoin,
+ SynchronousCryptoWorkerFactory,
+ TalerError,
+ topupReserveWithDemobank,
+ WalletApiOperation,
+ withdrawCoin,
+} from "@gnu-taler/taler-wallet-core";
+import { GlobalTestState, WalletCli } from "../harness/harness.js";
+import { createSimpleTestkudosEnvironment } from "../harness/helpers.js";
+
+/**
+ * Run test for the different crypto workers.
+ */
+export async function runWalletCryptoWorkerTest(t: GlobalTestState) {
+ const wallet1 = new WalletCli(t, "w1", {
+ cryptoWorkerType: "sync",
+ });
+
+ await wallet1.client.call(WalletApiOperation.CryptoTest, {});
+
+ const wallet2 = new WalletCli(t, "w2", {
+ cryptoWorkerType: "node-worker-thread",
+ });
+
+ await wallet2.client.call(WalletApiOperation.CryptoTest, {});
+}
+
+runWalletCryptoWorkerTest.suites = ["wallet"];
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index 98e56d6ff..c22689e46 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -93,6 +93,7 @@ import { runTestWithdrawalManualTest } from "./test-withdrawal-manual.js";
import { runAgeRestrictionsPeerTest } from "./test-age-restrictions-peer.js";
import { runWalletBalanceTest } from "./test-wallet-balance.js";
import { runAgeRestrictionsMixedMerchantTest } from "./test-age-restrictions-mixed-merchant.js";
+import { runWalletCryptoWorkerTest } from "./test-wallet-cryptoworker.js";
/**
* Test runner.
@@ -115,6 +116,7 @@ const allTests: TestMainFunction[] = [
runBankApiTest,
runClaimLoopTest,
runClauseSchnorrTest,
+ runWalletCryptoWorkerTest,
runDepositTest,
runDenomUnofferedTest,
runExchangeManagementTest,