diff options
| author | MS <ms@taler.net> | 2021-05-12 11:52:38 +0200 | 
|---|---|---|
| committer | MS <ms@taler.net> | 2021-05-12 11:52:38 +0200 | 
| commit | 83b02069c931306c72c470e0285693719f65d0ca (patch) | |
| tree | d2a2656b767af4bba2de181f5d5c728522451370 /packages/taler-wallet-cli/src/integrationtests | |
| parent | 41b65e90b9eb1a0a4a999bce75df29a0ea3aedcc (diff) | |
libeufin, testing bank connection removal
Diffstat (limited to 'packages/taler-wallet-cli/src/integrationtests')
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,  | 
