From 0299e719ce4c97748090fa238cb5f68303fb4abf Mon Sep 17 00:00:00 2001 From: MS Date: Tue, 18 May 2021 18:01:41 +0200 Subject: test Libeufin Facade API --- .../src/integrationtests/libeufin.ts | 33 ++++++++++++ .../integrationtests/test-libeufin-api-facade.ts | 58 ++++++++++++++++++++++ .../src/integrationtests/testrunner.ts | 2 + 3 files changed, 93 insertions(+) create mode 100644 packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade.ts (limited to 'packages/taler-wallet-cli/src') diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts index 7dd0b98f0..ddc19b6ed 100644 --- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts +++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts @@ -1198,6 +1198,39 @@ export namespace LibeufinNexusApi { }); } + export async function deleteFacade( + libeufinNexusService: LibeufinNexusServiceInterface, + facadeName: string, + ): Promise { + const baseUrl = libeufinNexusService.baseUrl; + let url = new URL(`facades/${facadeName}`, baseUrl); + return await axios.delete( + url.href, + { + auth: { + username: "admin", + password: "test", + }, + } + ); + } + + export async function getAllFacades( + libeufinNexusService: LibeufinNexusServiceInterface, + ): Promise { + const baseUrl = libeufinNexusService.baseUrl; + let url = new URL("facades", baseUrl); + return await axios.get( + url.href, + { + auth: { + username: "admin", + password: "test", + }, + } + ); + } + export async function createTwgFacade( libeufinNexusService: LibeufinNexusServiceInterface, req: CreateTalerWireGatewayFacadeRequest, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade.ts new file mode 100644 index 000000000..be23cd939 --- /dev/null +++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade.ts @@ -0,0 +1,58 @@ +/* + 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 + */ + +/** + * Imports. + */ +import { GlobalTestState } from "./harness"; +import { + SandboxUserBundle, + NexusUserBundle, + launchLibeufinServices, + LibeufinSandboxApi, + LibeufinNexusApi, +} from "./libeufin"; + +/** + * Run basic test with LibEuFin. + */ +export async function runLibeufinApiFacadeTest(t: GlobalTestState) { + /** + * User saltetd "01" + */ + const user01nexus = new NexusUserBundle( + "01", + "http://localhost:5010/ebicsweb", + ); + const user01sandbox = new SandboxUserBundle("01"); + + /** + * Launch Sandbox and Nexus. + */ + const libeufinServices = await launchLibeufinServices( + t, [user01nexus], [user01sandbox], + ); + let resp = await LibeufinNexusApi.getAllFacades(libeufinServices.libeufinNexus); + // check that original facade shows up. + t.assertTrue(resp.data["facades"][0]["name"] == user01nexus.twgReq["name"]); + // delete it. + resp = await LibeufinNexusApi.deleteFacade( + libeufinServices.libeufinNexus, + user01nexus.twgReq["name"] + ); + // check that no facades show up. + t.assertTrue(!resp.data.hasOwnProperty("facades")); +} diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts index 9d4fb5575..4898a9eff 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 { runLibeufinApiFacadeTest } from "./test-libeufin-api-facade"; import { runLibeufinApiSchedulingTest } from "./test-libeufin-api-scheduling"; import { runLibeufinApiBankconnectionTest } from "./test-libeufin-api-bankconnection"; import { runLibeufinApiUsersTest } from "./test-libeufin-api-users"; @@ -95,6 +96,7 @@ const allTests: TestMainFunction[] = [ runLibeufinRefundTest, runLibeufinRefundMultipleUsersTest, runLibeufinApiPermissionsTest, + runLibeufinApiFacadeTest, runLibeufinApiSchedulingTest, runLibeufinApiUsersTest, runLibeufinApiBankaccountTest, -- cgit v1.2.3