libeufin, testing bank connection removal

This commit is contained in:
MS 2021-05-12 11:52:38 +02:00
parent 41b65e90b9
commit 83b02069c9
No known key found for this signature in database
GPG Key ID: 8D526861953F4C0F
3 changed files with 111 additions and 1 deletions

View File

@ -54,6 +54,10 @@ export interface LibeufinNexusConfig {
databaseJdbcUri: string;
}
export interface DeleteBankConnectionRequest {
bankConnectionId: string;
}
interface LibeufinNexusMoneyMovement {
amount: string;
creditDebitIndicator: string;
@ -837,6 +841,40 @@ export interface PostNexusPermissionRequest {
export namespace LibeufinNexusApi {
export async function getAllConnections(
nexus: LibeufinNexusServiceInterface,
): Promise<any> {
let url = new URL("bank-connections", nexus.baseUrl);
const res = await axios.get(
url.href,
{
auth: {
username: "admin",
password: "test",
},
},
);
return res;
}
export async function deleteBankConnection(
libeufinNexusService: LibeufinNexusServiceInterface,
req: DeleteBankConnectionRequest,
): Promise<any> {
const baseUrl = libeufinNexusService.baseUrl;
let url = new URL("bank-connections/delete-connection", baseUrl);
return await axios.post(
url.href,
req,
{
auth: {
username: "admin",
password: "test",
}
}
);
}
export async function createEbicsBankConnection(
libeufinNexusService: LibeufinNexusServiceInterface,
req: CreateEbicsBankConnectionRequest,
@ -953,7 +991,6 @@ export namespace LibeufinNexusApi {
);
}
export async function getPaymentInitiations(
libeufinNexusService: LibeufinNexusService,
accountName: string,

View File

@ -0,0 +1,71 @@
/*
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";
/**
* Run basic test with LibEuFin.
*/
export async function runLibeufinApiBankconnectionTest(t: GlobalTestState) {
const nexus = await LibeufinNexusService.create(t, {
httpPort: 5011,
databaseJdbcUri: `jdbc:sqlite:${t.testDir}/libeufin-nexus.sqlite3`,
});
await nexus.start();
await nexus.pingUntilAvailable();
await LibeufinNexusApi.createUser(
nexus,
{
username: "one",
password: "testing-the-bankconnection-api",
}
);
await LibeufinNexusApi.createEbicsBankConnection(
nexus,
{
name: "bankconnection-api-test-connection",
ebicsURL: "http://localhost:5012/ebicsweb",
hostID: "mock",
userID: "mock",
partnerID: "mock",
}
);
let connections = await LibeufinNexusApi.getAllConnections(nexus);
t.assertTrue(connections.data["bankConnections"].length == 1);
await LibeufinNexusApi.deleteBankConnection(
nexus,
{
bankConnectionId: "bankconnection-api-test-connection",
}
);
connections = await LibeufinNexusApi.getAllConnections(nexus);
t.assertTrue(connections.data["bankConnections"].length == 0);
}

View File

@ -59,6 +59,7 @@ import { runLibeufinRefundTest } from "./test-libeufin-refund";
import { runLibeufinRefundMultipleUsersTest } from "./test-libeufin-refund-multiple-users";
import { runLibeufinTutorialTest } from "./test-libeufin-tutorial";
import { runLibeufinApiPermissionsTest } from "./test-libeufin-api-permissions";
import { runLibeufinApiBankconnectionTest } from "./test-libeufin-api-bankconnection";
import { runLibeufinApiUsersTest } from "./test-libeufin-api-users";
import { runLibeufinApiBankaccountTest } from "./test-libeufin-api-bankaccount";
import { runDepositTest } from "./test-deposit";
@ -95,6 +96,7 @@ const allTests: TestMainFunction[] = [
runLibeufinApiPermissionsTest,
runLibeufinApiUsersTest,
runLibeufinApiBankaccountTest,
runLibeufinApiBankconnectionTest,
runMerchantExchangeConfusionTest,
runMerchantInstancesTest,
runMerchantInstancesDeleteTest,