From de7e4ee015d2ac9e9a9b3f302968dd604b4a460b Mon Sep 17 00:00:00 2001 From: MS Date: Sat, 14 Aug 2021 22:35:39 -1100 Subject: tests: POSTing malformed facade creation. See bug 6971. --- .../test-libeufin-api-facade-bad-request.ts | 70 ++++++++++++++++++++++ .../src/integrationtests/testrunner.ts | 2 + 2 files changed, 72 insertions(+) create mode 100644 packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade-bad-request.ts (limited to 'packages/taler-wallet-cli') diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade-bad-request.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade-bad-request.ts new file mode 100644 index 000000000..3f0928a90 --- /dev/null +++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-facade-bad-request.ts @@ -0,0 +1,70 @@ +/* + 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 axios from "axios"; +import { URL } from "@gnu-taler/taler-util"; +import { GlobalTestState } from "./harness"; +import { + SandboxUserBundle, + NexusUserBundle, + launchLibeufinServices, + LibeufinNexusApi, +} from "./libeufin"; + +export async function runLibeufinApiFacadeBadRequestTest(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], + ); + console.log("malformed facade"); + const baseUrl = libeufinServices.libeufinNexus.baseUrl; + let url = new URL("facades", baseUrl); + let resp = await axios.post( + url.href, + { + name: "malformed-facade", + type: "taler-wire-gateway", + config: {}, // malformation here. + }, + { + validateStatus: () => true, + auth: { + username: "admin", + password: "test", + }, + }, + ); + t.assertTrue(resp.status == 400); +} + +runLibeufinApiFacadeBadRequestTest.suites = ["libeufin"]; diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts index c2e626436..6f68706af 100644 --- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts +++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts @@ -62,6 +62,7 @@ import { runLibeufinRefundMultipleUsersTest } from "./test-libeufin-refund-multi import { runLibeufinTutorialTest } from "./test-libeufin-tutorial"; import { runLibeufinApiPermissionsTest } from "./test-libeufin-api-permissions"; import { runLibeufinApiFacadeTest } from "./test-libeufin-api-facade"; +import { runLibeufinApiFacadeBadRequestTest } from "./test-libeufin-api-facade-bad-request"; import { runLibeufinApiSchedulingTest } from "./test-libeufin-api-scheduling"; import { runLibeufinApiBankconnectionTest } from "./test-libeufin-api-bankconnection"; import { runLibeufinApiUsersTest } from "./test-libeufin-api-users"; @@ -104,6 +105,7 @@ const allTests: TestMainFunction[] = [ runLibeufinRefundMultipleUsersTest, runLibeufinApiPermissionsTest, runLibeufinApiFacadeTest, + runLibeufinApiFacadeBadRequestTest, runLibeufinApiSchedulingTest, runLibeufinApiUsersTest, runLibeufinApiBankaccountTest, -- cgit v1.2.3