aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-cli
diff options
context:
space:
mode:
authorMS <ms@taler.net>2021-05-12 11:52:38 +0200
committerMS <ms@taler.net>2021-05-12 11:52:38 +0200
commit83b02069c931306c72c470e0285693719f65d0ca (patch)
treed2a2656b767af4bba2de181f5d5c728522451370 /packages/taler-wallet-cli
parent41b65e90b9eb1a0a4a999bce75df29a0ea3aedcc (diff)
libeufin, testing bank connection removal
Diffstat (limited to 'packages/taler-wallet-cli')
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/libeufin.ts39
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-bankconnection.ts71
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/testrunner.ts2
3 files changed, 111 insertions, 1 deletions
diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
index eb9d63f12..709148817 100644
--- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
@@ -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,
diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-bankconnection.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-bankconnection.ts
new file mode 100644
index 000000000..9cd461a83
--- /dev/null
+++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-bankconnection.ts
@@ -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);
+}
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index 44b0a728f..173ca2442 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -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,