Testing Sandbox CLI wire transfer.
This commit is contained in:
parent
b71addf5e0
commit
39cbad89bb
@ -229,6 +229,23 @@ export class LibeufinSandboxService implements LibeufinSandboxServiceInterface {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async makeTransaction(
|
||||||
|
debit: string,
|
||||||
|
credit: string,
|
||||||
|
amount: string,
|
||||||
|
subject: string,): Promise<string> {
|
||||||
|
const stdout = await sh(
|
||||||
|
this.globalTestState,
|
||||||
|
"libeufin-sandbox-maketransfer",
|
||||||
|
`libeufin-sandbox make-transaction --debit-account=${debit} --credit-account=${credit} ${amount} "${subject}"`,
|
||||||
|
{
|
||||||
|
...process.env,
|
||||||
|
LIBEUFIN_SANDBOX_DB_CONNECTION: this.sandboxConfig.databaseJdbcUri,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
return stdout;
|
||||||
|
}
|
||||||
|
|
||||||
async pingUntilAvailable(): Promise<void> {
|
async pingUntilAvailable(): Promise<void> {
|
||||||
const url = `${this.baseUrl}config`;
|
const url = `${this.baseUrl}config`;
|
||||||
await pingProc(this.sandboxProc, url, "libeufin-sandbox");
|
await pingProc(this.sandboxProc, url, "libeufin-sandbox");
|
||||||
@ -780,6 +797,7 @@ interface NewTalerWireGatewayReq {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export namespace LibeufinSandboxApi {
|
export namespace LibeufinSandboxApi {
|
||||||
|
|
||||||
export async function rotateKeys(
|
export async function rotateKeys(
|
||||||
libeufinSandboxService: LibeufinSandboxServiceInterface,
|
libeufinSandboxService: LibeufinSandboxServiceInterface,
|
||||||
hostID: string,
|
hostID: string,
|
||||||
|
@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
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 { GlobalTestState } from "./harness";
|
||||||
|
import {
|
||||||
|
NexusUserBundle,
|
||||||
|
LibeufinNexusApi,
|
||||||
|
LibeufinNexusService,
|
||||||
|
LibeufinSandboxService,
|
||||||
|
LibeufinSandboxApi,
|
||||||
|
findNexusPayment,
|
||||||
|
} from "./libeufin";
|
||||||
|
|
||||||
|
export async function runLibeufinSandboxWireTransferCliTest(t: GlobalTestState) {
|
||||||
|
|
||||||
|
const sandbox = await LibeufinSandboxService.create(t, {
|
||||||
|
httpPort: 5012,
|
||||||
|
databaseJdbcUri: `jdbc:sqlite:${t.testDir}/libeufin-sandbox.sqlite3`,
|
||||||
|
});
|
||||||
|
await sandbox.start();
|
||||||
|
await sandbox.pingUntilAvailable();
|
||||||
|
await LibeufinSandboxApi.createBankAccount(sandbox, {
|
||||||
|
iban: "DE71500105179674997361",
|
||||||
|
bic: "BELADEBEXXX",
|
||||||
|
name: "Mock Name",
|
||||||
|
label: "mock-account",
|
||||||
|
currency: "EUR"
|
||||||
|
});
|
||||||
|
|
||||||
|
await LibeufinSandboxApi.createBankAccount(sandbox, {
|
||||||
|
iban: "DE71500105179674997364",
|
||||||
|
bic: "BELADEBEXXX",
|
||||||
|
name: "Mock Name 2",
|
||||||
|
label: "mock-account-2",
|
||||||
|
currency: "EUR"
|
||||||
|
});
|
||||||
|
await sandbox.makeTransaction(
|
||||||
|
"mock-account", "mock-account-2", "EUR:1", "one!"
|
||||||
|
);
|
||||||
|
await sandbox.makeTransaction(
|
||||||
|
"mock-account", "mock-account-2", "EUR:1", "two!"
|
||||||
|
);
|
||||||
|
await sandbox.makeTransaction(
|
||||||
|
"mock-account", "mock-account-2", "EUR:1", "three!"
|
||||||
|
);
|
||||||
|
await sandbox.makeTransaction(
|
||||||
|
"mock-account-2", "mock-account", "EUR:1", "Give one back."
|
||||||
|
);
|
||||||
|
await sandbox.makeTransaction(
|
||||||
|
"mock-account-2", "mock-account", "EUR:0.11", "Give fraction back."
|
||||||
|
);
|
||||||
|
let ret = await LibeufinSandboxApi.getAccountInfoWithBalance(sandbox, "mock-account-2");
|
||||||
|
console.log(ret.data.balance)
|
||||||
|
t.assertTrue(ret.data.balance == "EUR:1.89")
|
||||||
|
}
|
||||||
|
runLibeufinSandboxWireTransferCliTest.suites = ["libeufin"];
|
@ -70,6 +70,7 @@ import { runLibeufinApiBankconnectionTest } from "./test-libeufin-api-bankconnec
|
|||||||
import { runLibeufinApiUsersTest } from "./test-libeufin-api-users";
|
import { runLibeufinApiUsersTest } from "./test-libeufin-api-users";
|
||||||
import { runLibeufinApiBankaccountTest } from "./test-libeufin-api-bankaccount";
|
import { runLibeufinApiBankaccountTest } from "./test-libeufin-api-bankaccount";
|
||||||
import { runLibeufinApiSandboxTransactionsTest } from "./test-libeufin-api-sandbox-transactions";
|
import { runLibeufinApiSandboxTransactionsTest } from "./test-libeufin-api-sandbox-transactions";
|
||||||
|
import { runLibeufinSandboxWireTransferCliTest } from "./test-libeufin-sandbox-wire-transfer-cli";
|
||||||
import { runDepositTest } from "./test-deposit";
|
import { runDepositTest } from "./test-deposit";
|
||||||
import CancellationToken from "cancellationtoken";
|
import CancellationToken from "cancellationtoken";
|
||||||
import { runMerchantInstancesTest } from "./test-merchant-instances";
|
import { runMerchantInstancesTest } from "./test-merchant-instances";
|
||||||
@ -117,6 +118,7 @@ const allTests: TestMainFunction[] = [
|
|||||||
runLibeufinApiBankaccountTest,
|
runLibeufinApiBankaccountTest,
|
||||||
runLibeufinApiBankconnectionTest,
|
runLibeufinApiBankconnectionTest,
|
||||||
runLibeufinApiSandboxTransactionsTest,
|
runLibeufinApiSandboxTransactionsTest,
|
||||||
|
runLibeufinSandboxWireTransferCliTest,
|
||||||
runMerchantExchangeConfusionTest,
|
runMerchantExchangeConfusionTest,
|
||||||
runMerchantInstancesTest,
|
runMerchantInstancesTest,
|
||||||
runMerchantInstancesDeleteTest,
|
runMerchantInstancesDeleteTest,
|
||||||
|
Loading…
Reference in New Issue
Block a user