aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-01-08 12:22:32 +0100
committerFlorian Dold <florian@dold.me>2024-01-08 12:22:32 +0100
commit82cea86785fc9ab6aa5440cc077e8f2024b33c13 (patch)
tree9eb2860b80a8637052c1ced1e4f315b6100c4a9d
parent06fb3a5c910b5be37fbd386a5e42588903bece9b (diff)
downloadwallet-core-82cea86785fc9ab6aa5440cc077e8f2024b33c13.tar.xz
harness: make libeufin-bank test work with current libeufin-bank
-rw-r--r--packages/taler-harness/src/harness/harness.ts23
-rw-r--r--packages/taler-harness/src/integrationtests/test-libeufin-bank.ts7
-rw-r--r--packages/taler-harness/src/integrationtests/test-wallet-backup-basic.ts30
-rw-r--r--packages/taler-harness/src/integrationtests/test-wallettesting.ts7
-rw-r--r--packages/taler-util/src/bank-api-client.ts6
-rw-r--r--packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts1
6 files changed, 46 insertions, 28 deletions
diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts
index 27c54b8b4..ea2406f52 100644
--- a/packages/taler-harness/src/harness/harness.ts
+++ b/packages/taler-harness/src/harness/harness.ts
@@ -729,7 +729,7 @@ export class FakebankService
}
/**
- * Implementation of the bank service using the "taler-fakebank-run" tool.
+ * Implementation of the bank service using the libeufin-bank implementation.
*/
export class LibeufinBankService
extends BankServiceBase
@@ -766,21 +766,14 @@ export class LibeufinBankService
config.setString("libeufin-bank", "serve", "tcp");
config.setString(
"libeufin-bank",
- "DEFAULT_CUSTOMER_DEBT_LIMIT",
- `${bc.currency}:500`,
- );
- config.setString(
- "libeufin-bank",
- "DEFAULT_ADMIN_DEBT_LIMIT",
- `${bc.currency}:999999`,
+ "DEFAULT_DEBT_LIMIT",
+ `${bc.currency}:100`,
);
config.setString(
"libeufin-bank",
"registration_bonus",
`${bc.currency}:100`,
);
- config.setString("libeufin-bank", "registration_bonus_enabled", `yes`);
- config.setString("libeufin-bank", "max_auth_token_duration", "1h");
const cfgFilename = testDir + "/bank.conf";
config.write(cfgFilename, { excludeDefaults: true });
@@ -804,7 +797,7 @@ export class LibeufinBankService
.required(),
httpPort: config.getNumber("libeufin-bank", "port").required(),
maxDebt: config
- .getString("libeufin-bank", "DEFAULT_CUSTOMER_DEBT_LIMIT")
+ .getString("libeufin-bank", "DEFAULT_DEBT_LIMIT")
.required(),
};
return new FakebankService(gc, bc, cfgFilename);
@@ -850,10 +843,16 @@ export class LibeufinBankService
await sh(
this.globalTestState,
- "libeufin-bank-dbinit",
+ "libeufin-bank-passwd",
`libeufin-bank passwd -c "${this.configFile}" admin adminpw`,
);
+ await sh(
+ this.globalTestState,
+ "libeufin-bank-edit-account",
+ `libeufin-bank edit-account -c "${this.configFile}" admin --debit_threshold=${this.bankConfig.currency}:1000`,
+ );
+
this.proc = this.globalTestState.spawnService(
"libeufin-bank",
["serve", "-c", this.configFile],
diff --git a/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts b/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts
index 8f5cc8a35..a3e3a9ef1 100644
--- a/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts
+++ b/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts
@@ -125,7 +125,12 @@ export async function runLibeufinBankTest(t: GlobalTestState) {
console.log("setup done!");
- const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl);
+ const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl, {
+ auth: {
+ username: "admin",
+ password: "adminpw",
+ },
+ });
// register exchange bank account
await bankClient.registerAccountExtended({
diff --git a/packages/taler-harness/src/integrationtests/test-wallet-backup-basic.ts b/packages/taler-harness/src/integrationtests/test-wallet-backup-basic.ts
index 21ac662c2..cb4a50a2b 100644
--- a/packages/taler-harness/src/integrationtests/test-wallet-backup-basic.ts
+++ b/packages/taler-harness/src/integrationtests/test-wallet-backup-basic.ts
@@ -19,7 +19,7 @@
*/
import { j2s } from "@gnu-taler/taler-util";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
-import { GlobalTestState, WalletCli } from "../harness/harness.js";
+import { GlobalTestState } from "../harness/harness.js";
import {
createSimpleTestkudosEnvironmentV2,
createWalletDaemonWithClient,
@@ -83,7 +83,12 @@ export async function runWalletBackupBasicTest(t: GlobalTestState) {
);
}
- await withdrawViaBankV2(t, { walletClient, bank, exchange, amount: "TESTKUDOS:10" });
+ await withdrawViaBankV2(t, {
+ walletClient,
+ bank,
+ exchange,
+ amount: "TESTKUDOS:10",
+ });
await walletClient.call(WalletApiOperation.TestingWaitTransactionsFinal, {});
@@ -94,7 +99,12 @@ export async function runWalletBackupBasicTest(t: GlobalTestState) {
console.log(bi);
}
- await withdrawViaBankV2(t, { walletClient, bank, exchange, amount: "TESTKUDOS:5" });
+ await withdrawViaBankV2(t, {
+ walletClient,
+ bank,
+ exchange,
+ amount: "TESTKUDOS:5",
+ });
await walletClient.call(WalletApiOperation.RunBackupCycle, {});
@@ -111,9 +121,12 @@ export async function runWalletBackupBasicTest(t: GlobalTestState) {
const txs = await walletClient.call(WalletApiOperation.GetTransactions, {});
console.log(`backed up transactions ${j2s(txs)}`);
- const { walletClient: walletClient2 } = await createWalletDaemonWithClient(t, {
- name: "w2"
- });
+ const { walletClient: walletClient2 } = await createWalletDaemonWithClient(
+ t,
+ {
+ name: "w2",
+ },
+ );
// Check that the second wallet is a fresh wallet.
{
@@ -154,7 +167,10 @@ export async function runWalletBackupBasicTest(t: GlobalTestState) {
await exchange.runWirewatchOnce();
- await walletClient2.call(WalletApiOperation.TestingWaitTransactionsFinal, {});
+ await walletClient2.call(
+ WalletApiOperation.TestingWaitTransactionsFinal,
+ {},
+ );
const txs2 = await walletClient2.call(
WalletApiOperation.GetTransactions,
diff --git a/packages/taler-harness/src/integrationtests/test-wallettesting.ts b/packages/taler-harness/src/integrationtests/test-wallettesting.ts
index 6b4444d07..ec393204f 100644
--- a/packages/taler-harness/src/integrationtests/test-wallettesting.ts
+++ b/packages/taler-harness/src/integrationtests/test-wallettesting.ts
@@ -31,11 +31,9 @@ import {
GlobalTestState,
MerchantService,
setupDb,
- WalletCli,
generateRandomPayto,
} from "../harness/harness.js";
import {
- SimpleTestEnvironment,
SimpleTestEnvironmentNg,
createWalletDaemonWithClient,
} from "../harness/helpers.js";
@@ -125,9 +123,8 @@ export async function createMyEnvironment(
* Run test for basic, bank-integrated withdrawal.
*/
export async function runWallettestingTest(t: GlobalTestState) {
- const { walletClient, bank, exchange, merchant } = await createMyEnvironment(
- t,
- );
+ const { walletClient, bank, exchange, merchant } =
+ await createMyEnvironment(t);
await walletClient.call(WalletApiOperation.RunIntegrationTest, {
amountToSpend: "TESTKUDOS:5" as AmountString,
diff --git a/packages/taler-util/src/bank-api-client.ts b/packages/taler-util/src/bank-api-client.ts
index 14c9b5f3f..bc01dc8e8 100644
--- a/packages/taler-util/src/bank-api-client.ts
+++ b/packages/taler-util/src/bank-api-client.ts
@@ -300,6 +300,7 @@ export class TalerCorebankApiClient {
const resp = await this.httpLib.fetch(url.href, {
method: "POST",
body: req,
+ headers: this.makeAuthHeader(),
});
if (
@@ -334,6 +335,7 @@ export class TalerCorebankApiClient {
password,
name: username,
},
+ headers: this.makeAuthHeader(),
});
if (
resp.status !== 200 &&
@@ -414,9 +416,7 @@ export class TalerCorebankApiClient {
// FIXME: We don't check the status here!
}
- async abortWithdrawalOperation(
- wopi: WithdrawalOperationInfo,
- ): Promise<void> {
+ async abortWithdrawalOperation(wopi: WithdrawalOperationInfo): Promise<void> {
const url = new URL(
`withdrawals/${wopi.withdrawal_id}/abort`,
this.baseUrl,
diff --git a/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts b/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
index 4c0292cc6..a11ffe774 100644
--- a/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
+++ b/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
@@ -562,6 +562,7 @@ async function processPeerPushDebitReady(
};
}
} else if (resp.status === HttpStatusCode.Gone) {
+ logger.info(`purse ${pursePub} is gone, aborting peer-push-debit`);
const transitionInfo = await ws.db
.mktx((x) => [
x.peerPushDebit,