aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-harness/src
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2024-06-19 13:29:20 -0600
committerIván Ávalos <avalos@disroot.org>2024-06-19 13:29:20 -0600
commit39be2ef1cf5910b4fb543ea6d50345425d897247 (patch)
tree3f674532406849ff89cde7d1ff4c696569b30ea2 /packages/taler-harness/src
parent0695533de2354a3681ccc1d0627cbdb44eed9a75 (diff)
downloadwallet-core-39be2ef1cf5910b4fb543ea6d50345425d897247.tar.xz
harness: add libeufin support to last two tests
Diffstat (limited to 'packages/taler-harness/src')
-rw-r--r--packages/taler-harness/src/harness/harness.ts5
-rw-r--r--packages/taler-harness/src/integrationtests/test-wallet-cli-termination.ts67
-rw-r--r--packages/taler-harness/src/integrationtests/test-wallettesting.ts70
3 files changed, 24 insertions, 118 deletions
diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts
index d67ca7c48..4cdde6b8d 100644
--- a/packages/taler-harness/src/harness/harness.ts
+++ b/packages/taler-harness/src/harness/harness.ts
@@ -805,6 +805,11 @@ export class LibeufinBankService
"registration_bonus",
`${bc.currency}:100`,
);
+ config.setString(
+ "libeufin-bank",
+ "ALLOW_REGISTRATION",
+ "yes",
+ );
const cfgFilename = testDir + "/bank.conf";
config.writeTo(cfgFilename, { excludeDefaults: true });
diff --git a/packages/taler-harness/src/integrationtests/test-wallet-cli-termination.ts b/packages/taler-harness/src/integrationtests/test-wallet-cli-termination.ts
index bcd7de74b..ef4166760 100644
--- a/packages/taler-harness/src/integrationtests/test-wallet-cli-termination.ts
+++ b/packages/taler-harness/src/integrationtests/test-wallet-cli-termination.ts
@@ -21,14 +21,10 @@ import { AmountString } from "@gnu-taler/taler-util";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js";
import {
- ExchangeService,
- FakebankService,
GlobalTestState,
- MerchantService,
- WalletCli,
- generateRandomPayto,
setupDb,
} from "../harness/harness.js";
+import { createSimpleTestkudosEnvironmentV3 } from "harness/helpers.js";
/**
* Test that run-until-done of taler-wallet-cli terminates.
@@ -38,64 +34,17 @@ export async function runWalletCliTerminationTest(t: GlobalTestState) {
const coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => x("TESTKUDOS"));
- 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",
- );
- exchange.addBankAccount("1", exchangeBankAccount);
-
- bank.setSuggestedExchange(exchange, exchangeBankAccount.accountPaytoUri);
-
- await bank.start();
-
- await bank.pingUntilAvailable();
+ const {
+ exchange,
+ bankClient,
+ walletClient,
+ } = await createSimpleTestkudosEnvironmentV3(t, coinConfig, {});
- exchange.addCoinConfigList(coinConfig);
-
- await exchange.start();
- await exchange.pingUntilAvailable();
-
- merchant.addExchange(exchange);
-
- await merchant.start();
- await merchant.pingUntilAvailable();
-
- await merchant.addInstanceWithWireAccount({
- id: "default",
- name: "Default Instance",
- paytoUris: [generateRandomPayto("merchant-default")],
- });
-
- const wallet = new WalletCli(t, "wallet");
-
- await wallet.client.call(WalletApiOperation.WithdrawTestBalance, {
- corebankApiBaseUrl: bank.corebankApiBaseUrl,
+ await walletClient.call(WalletApiOperation.WithdrawTestBalance, {
+ corebankApiBaseUrl: bankClient.baseUrl,
exchangeBaseUrl: exchange.baseUrl,
amount: "TESTKUDOS:20" as AmountString,
});
-
- await wallet.runUntilDone();
}
runWalletCliTerminationTest.suites = ["wallet"];
diff --git a/packages/taler-harness/src/integrationtests/test-wallettesting.ts b/packages/taler-harness/src/integrationtests/test-wallettesting.ts
index bc5ed1004..ef9bb9073 100644
--- a/packages/taler-harness/src/integrationtests/test-wallettesting.ts
+++ b/packages/taler-harness/src/integrationtests/test-wallettesting.ts
@@ -26,15 +26,12 @@ import { AmountString, Amounts, CoinStatus } from "@gnu-taler/taler-util";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js";
import {
- ExchangeService,
GlobalTestState,
- MerchantService,
setupDb,
- generateRandomPayto,
- FakebankService,
} from "../harness/harness.js";
import {
- SimpleTestEnvironmentNg,
+ SimpleTestEnvironmentNg3,
+ createSimpleTestkudosEnvironmentV3,
createWalletDaemonWithClient,
} from "../harness/helpers.js";
@@ -47,57 +44,12 @@ const merchantAuthToken = "secret-token:sandbox";
export async function createMyEnvironment(
t: GlobalTestState,
coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => x("TESTKUDOS")),
-): Promise<SimpleTestEnvironmentNg> {
+): Promise<SimpleTestEnvironmentNg3> {
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",
- );
- exchange.addBankAccount("1", exchangeBankAccount);
-
- bank.setSuggestedExchange(exchange, exchangeBankAccount.accountPaytoUri);
+ const {bankClient, exchange, merchant, exchangeBankAccount} =
+ await createSimpleTestkudosEnvironmentV3(t, coinConfig, {});
- await bank.start();
-
- await bank.pingUntilAvailable();
-
- exchange.addCoinConfigList(coinConfig);
-
- await exchange.start();
- await exchange.pingUntilAvailable();
-
- merchant.addExchange(exchange);
-
- await merchant.start();
- await merchant.pingUntilAvailable();
-
- await merchant.addInstanceWithWireAccount({
- id: "default",
- name: "Default Instance",
- paytoUris: [generateRandomPayto("merchant-default")],
- });
console.log("setup done!");
@@ -114,7 +66,7 @@ export async function createMyEnvironment(
merchant,
walletClient,
walletService,
- bank,
+ bankClient,
exchangeBankAccount,
};
}
@@ -123,13 +75,13 @@ export async function createMyEnvironment(
* Run test for basic, bank-integrated withdrawal.
*/
export async function runWallettestingTest(t: GlobalTestState) {
- const { walletClient, bank, exchange, merchant } =
+ const { walletClient, bankClient, exchange, merchant } =
await createMyEnvironment(t);
await walletClient.call(WalletApiOperation.RunIntegrationTest, {
amountToSpend: "TESTKUDOS:5" as AmountString,
amountToWithdraw: "TESTKUDOS:10" as AmountString,
- corebankApiBaseUrl: bank.corebankApiBaseUrl,
+ corebankApiBaseUrl: bankClient.baseUrl,
exchangeBaseUrl: exchange.baseUrl,
merchantAuthToken: merchantAuthToken,
merchantBaseUrl: merchant.makeInstanceBaseUrl(),
@@ -152,7 +104,7 @@ export async function runWallettestingTest(t: GlobalTestState) {
await walletClient.call(WalletApiOperation.WithdrawTestBalance, {
amount: "TESTKUDOS:10" as AmountString,
- corebankApiBaseUrl: bank.corebankApiBaseUrl,
+ corebankApiBaseUrl: bankClient.baseUrl,
exchangeBaseUrl: exchange.baseUrl,
});
@@ -177,7 +129,7 @@ export async function runWallettestingTest(t: GlobalTestState) {
await walletClient.call(WalletApiOperation.WithdrawTestBalance, {
amount: "TESTKUDOS:10" as AmountString,
- corebankApiBaseUrl: bank.corebankApiBaseUrl,
+ corebankApiBaseUrl: bankClient.baseUrl,
exchangeBaseUrl: exchange.baseUrl,
});
@@ -237,7 +189,7 @@ export async function runWallettestingTest(t: GlobalTestState) {
await walletClient.call(WalletApiOperation.RunIntegrationTestV2, {
amountToSpend: "TESTKUDOS:5" as AmountString,
amountToWithdraw: "TESTKUDOS:10" as AmountString,
- corebankApiBaseUrl: bank.corebankApiBaseUrl,
+ corebankApiBaseUrl: bankClient.baseUrl,
exchangeBaseUrl: exchange.baseUrl,
merchantAuthToken: merchantAuthToken,
merchantBaseUrl: merchant.makeInstanceBaseUrl(),