From c83d9465eb8ea775a5dafa11d4a27396e532211d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 1 Mar 2024 00:05:10 +0100 Subject: taler-harness: test for dev experiment --- .../test-wallet-dev-experiments.ts | 48 ++++++++++++++++++++++ .../src/integrationtests/testrunner.ts | 6 ++- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 packages/taler-harness/src/integrationtests/test-wallet-dev-experiments.ts (limited to 'packages/taler-harness/src') diff --git a/packages/taler-harness/src/integrationtests/test-wallet-dev-experiments.ts b/packages/taler-harness/src/integrationtests/test-wallet-dev-experiments.ts new file mode 100644 index 000000000..1f1187d80 --- /dev/null +++ b/packages/taler-harness/src/integrationtests/test-wallet-dev-experiments.ts @@ -0,0 +1,48 @@ +/* + 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 + */ + +/** + * Imports. + */ +import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; +import { GlobalTestState } from "../harness/harness.js"; +import { createWalletDaemonWithClient } from "../harness/helpers.js"; + +export async function runWalletDevExperimentsTest(t: GlobalTestState) { + const w1 = await createWalletDaemonWithClient(t, { + name: "w1", + config: { + testing: { + devModeActive: true, + }, + }, + }); + + await w1.walletClient.call(WalletApiOperation.ApplyDevExperiment, { + devExperimentUri: "taler://dev-experiment/insert-pending-refresh", + }); + + const txnResp = await w1.walletClient.call( + WalletApiOperation.GetTransactions, + { + includeRefreshes: true, + }, + ); + + t.assertTrue(txnResp.transactions.length > 0); +} + +runWalletDevExperimentsTest.suites = ["wallet"]; diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts b/packages/taler-harness/src/integrationtests/testrunner.ts index e6b409f59..07bf8e34d 100644 --- a/packages/taler-harness/src/integrationtests/testrunner.ts +++ b/packages/taler-harness/src/integrationtests/testrunner.ts @@ -93,8 +93,10 @@ import { runWalletConfigTest } from "./test-wallet-config.js"; import { runWalletCryptoWorkerTest } from "./test-wallet-cryptoworker.js"; import { runWalletDblessTest } from "./test-wallet-dbless.js"; import { runWalletDd48Test } from "./test-wallet-dd48.js"; +import { runWalletDevExperimentsTest } from "./test-wallet-dev-experiments.js"; import { runWalletGenDbTest } from "./test-wallet-gendb.js"; import { runWalletNotificationsTest } from "./test-wallet-notifications.js"; +import { runWalletObservabilityTest } from "./test-wallet-observability.js"; import { runWalletRefreshTest } from "./test-wallet-refresh.js"; import { runWallettestingTest } from "./test-wallettesting.js"; import { runWithdrawalAbortBankTest } from "./test-withdrawal-abort-bank.js"; @@ -104,7 +106,6 @@ import { runWithdrawalFakebankTest } from "./test-withdrawal-fakebank.js"; import { runWithdrawalFeesTest } from "./test-withdrawal-fees.js"; import { runWithdrawalHugeTest } from "./test-withdrawal-huge.js"; import { runWithdrawalManualTest } from "./test-withdrawal-manual.js"; -import { runWalletObservabilityTest } from "./test-wallet-observability.js"; /** * Test runner. @@ -199,7 +200,8 @@ const allTests: TestMainFunction[] = [ runWalletBalanceNotificationsTest, runExchangeManagementTest, runWalletConfigTest, - runWalletObservabilityTest + runWalletObservabilityTest, + runWalletDevExperimentsTest, ]; export interface TestRunSpec { -- cgit v1.2.3