gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: Libeufin testing: testing use


From: gnunet
Subject: [taler-wallet-core] branch master updated: Libeufin testing: testing users creation/update
Date: Mon, 10 May 2021 11:55:10 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 9772e583 Libeufin testing: testing users creation/update
9772e583 is described below

commit 9772e5837ea861b23690b6727f1a67c7b2edf1da
Author: MS <ms@taler.net>
AuthorDate: Mon May 10 11:54:59 2021 +0200

    Libeufin testing: testing users creation/update
---
 .../src/integrationtests/libeufin.ts               | 33 +++++++++-
 .../integrationtests/test-libeufin-api-users.ts    | 70 ++++++++++++++++++++++
 .../src/integrationtests/testrunner.ts             |  2 +
 3 files changed, 103 insertions(+), 2 deletions(-)

diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts 
b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
index f90b22f3..638926a4 100644
--- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
@@ -755,6 +755,17 @@ export interface CreateTalerWireGatewayFacadeRequest {
   reserveTransferLevel: "report" | "statement" | "notification";
 }
 
+export interface UpdateNexusUserRequest {
+  newPassword: string;
+}
+
+export interface NexusAuth {
+  auth: {
+    username: string;
+    password: string;
+  }
+}
+
 export interface CreateNexusUserRequest {
   username: string;
   password: string;
@@ -949,7 +960,6 @@ export namespace LibeufinNexusApi {
     );
   }
 
-
   export async function fetchAllTransactions(
     libeufinNexusService: LibeufinNexusService,
     accountName: string,
@@ -976,6 +986,25 @@ export namespace LibeufinNexusApi {
     );
   }
 
+  export async function changePassword(
+    libeufinNexusService: LibeufinNexusServiceInterface,
+    req: UpdateNexusUserRequest,
+    auth: NexusAuth,
+  ) {
+    const baseUrl = libeufinNexusService.baseUrl;
+    let url = new URL(`/users/password`, baseUrl);
+    await axios.post(url.href, req, auth);
+  }
+
+  export async function getUser(
+    libeufinNexusService: LibeufinNexusServiceInterface,
+    auth: NexusAuth,
+  ): Promise<any> {
+    const baseUrl = libeufinNexusService.baseUrl;
+    let url = new URL(`/user`, baseUrl);
+    return await axios.get(url.href, auth);
+  }
+
   export async function createUser(
     libeufinNexusService: LibeufinNexusServiceInterface,
     req: CreateNexusUserRequest,
@@ -992,7 +1021,7 @@ export namespace LibeufinNexusApi {
 
   export async function getAllPermissions(
     libeufinNexusService: LibeufinNexusServiceInterface,
-  ):Promise<any> {
+  ): Promise<any> {
     const baseUrl = libeufinNexusService.baseUrl;
     let url = new URL(`/permissions`, baseUrl);
     return await axios.get(url.href, {
diff --git 
a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-users.ts 
b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-users.ts
new file mode 100644
index 00000000..fa443305
--- /dev/null
+++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-api-users.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 <http://www.gnu.org/licenses/>
+ */
+
+/**
+ * Imports.
+ */
+import { GlobalTestState } from "./harness";
+import {
+  NexusUserBundle,
+  LibeufinNexusApi,
+  LibeufinNexusService,
+} from "./libeufin";
+
+/**
+ * Run basic test with LibEuFin.
+ */
+export async function runLibeufinApiUsersTest(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: "will-be-changed",
+    }
+  );
+
+  await LibeufinNexusApi.changePassword(
+    nexus,
+    {
+      newPassword: "got-changed",
+    },
+    {
+      auth: {
+        username: "one",
+        password: "will-be-changed",
+      }
+    },
+  );
+
+  let resp = await LibeufinNexusApi.getUser(
+    nexus,
+    {
+      auth: {
+        username: "one",
+        password: "got-changed",
+      }
+    }
+  );
+  console.log(resp.data);
+  t.assertTrue(resp.data["username"] == "one" && !resp.data["superuser"]);
+}
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts 
b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index b064ebb0..c57cd8d1 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 { runLibeufinApiUsersTest } from "./test-libeufin-api-users";
 import { runDepositTest } from "./test-deposit";
 import CancellationToken from "cancellationtoken";
 import { runMerchantInstancesTest } from "./test-merchant-instances";
@@ -91,6 +92,7 @@ const allTests: TestMainFunction[] = [
   runLibeufinRefundTest,
   runLibeufinRefundMultipleUsersTest,
   runLibeufinApiPermissionsTest,
+  runLibeufinApiUsersTest,
   runMerchantExchangeConfusionTest,
   runMerchantInstancesTest,
   runMerchantInstancesDeleteTest,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]