From 39be2ef1cf5910b4fb543ea6d50345425d897247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20=C3=81valos?= Date: Wed, 19 Jun 2024 13:29:20 -0600 Subject: harness: add libeufin support to last two tests --- packages/taler-harness/src/harness/harness.ts | 5 ++ .../test-wallet-cli-termination.ts | 67 +++------------------ .../src/integrationtests/test-wallettesting.ts | 70 ++++------------------ 3 files changed, 24 insertions(+), 118 deletions(-) (limited to 'packages/taler-harness/src') 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 { +): Promise { 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(), -- cgit v1.2.3