gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: Nexus testing.


From: gnunet
Subject: [taler-exchange] branch master updated: Nexus testing.
Date: Mon, 01 Jun 2020 14:18:52 +0200

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

ms pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 7f14b239 Nexus testing.
7f14b239 is described below

commit 7f14b23914e43c3062facfd82f4430be218a9b2a
Author: MS <ms@taler.net>
AuthorDate: Mon Jun 1 14:17:05 2020 +0200

    Nexus testing.
    
    Up to the point where Nexus gets launched and
    the Exchange user & bank connection get created.
    
    The test fails because the bank connection of
    type "loopback" is not implemented in the nexus
    yet.
---
 contrib/Makefile.am                    |  3 +-
 contrib/taler-nexus-prepare            | 57 ++++++++++++++++++++++++++++++++++
 src/testing/test_bank_api_nexus.conf   |  4 +--
 src/testing/testing_api_helpers_bank.c | 16 +++++-----
 4 files changed, 69 insertions(+), 11 deletions(-)

diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 2e1160f5..b706202d 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -27,7 +27,8 @@ rdata_DATA = \
 
 bin_SCRIPTS = \
   taler-bank-manage-testing \
-  taler-exchange-revoke
+  taler-exchange-revoke \
+  taler-nexus-prepare
 
 EXTRA_DIST = \
   $(bin_SCRIPTS) \
diff --git a/contrib/taler-nexus-prepare b/contrib/taler-nexus-prepare
new file mode 100755
index 00000000..3e30d393
--- /dev/null
+++ b/contrib/taler-nexus-prepare
@@ -0,0 +1,57 @@
+#!/usr/bin/env python3
+# This file is in the public domain.
+
+from requests import get, post
+from subprocess import call
+import base64
+
+USERNAME="Exchange"
+USER_AUTHORIZATION_HEADER = "basic {}".format(
+    base64.b64encode(b"Exchange:x").decode("utf-8")
+)
+
+def assertResponse(response):
+    if response.status_code != 200:
+        print("Test failed on URL: {}".format(response.url))
+        # stdout/stderr from both services is A LOT of text.
+        # Confusing to dump all that to console.
+        print("Check nexus.log and sandbox.log, probably under /tmp")
+        exit(1)
+    # Allows for finer grained checks.
+    return response
+
+# Create a nexus (super-) user
+call(["nexus", "superuser", "Exchange", "--password", "x"])
+# Create a loopback bank connection.
+assertResponse(
+    post(
+        "http://localhost:5001/bank-connections";,
+        json=dict(
+            name="my-local",
+            source="new",
+            type="local",
+            data=dict(
+                bankAccount="my-bank-account"
+            )
+        ),
+        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+    )
+)
+# Create a facade
+assertResponse(
+    post(
+        "http://localhost:5001/facades";,
+        json=dict(
+            name="my-facade",
+            type="taler-wire-gateway",
+            creator=USERNAME,
+            config=dict(
+                bankAccount="my-bank-account",
+                bankConnection="my-local",
+                reserveTransferLevel="UNUSED",
+                intervalIncremental="UNUSED"
+            )
+        ),
+        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+    )
+)
diff --git a/src/testing/test_bank_api_nexus.conf 
b/src/testing/test_bank_api_nexus.conf
index 127cfbb8..620e2073 100644
--- a/src/testing/test_bank_api_nexus.conf
+++ b/src/testing/test_bank_api_nexus.conf
@@ -6,11 +6,11 @@ currency = KUDOS
 [exchange-account-2]
 PAYTO_URI = payto://iban/IBAN/UNUSED
 METHOD = x-taler-bank
-WIRE_GATEWAY_URL = http://localhost:5001/facades/made-up-facade-id/taler
+WIRE_GATEWAY_URL = http://localhost:5001/facades/my-facade/taler/
 WIRE_GATEWAY_AUTH_METHOD = basic
 # the exchange authenticates as the 'admin' user,
 # since that makes the test preparation just easier.
-USERNAME = admin
+USERNAME = Exchange
 PASSWORD = x
 
 [bank]
diff --git a/src/testing/testing_api_helpers_bank.c 
b/src/testing/testing_api_helpers_bank.c
index b0d736fe..16073554 100644
--- a/src/testing/testing_api_helpers_bank.c
+++ b/src/testing/testing_api_helpers_bank.c
@@ -106,7 +106,6 @@ TALER_TESTING_has_in_name (const char *prog,
  * bank" function to do such tasks.  This function is also
  * responsible to create the exchange user at Nexus.
  *
- * @param config_filename configuration filename.  Used to 
  * @return the process, or NULL if the process could not
  *         be started.
  */
@@ -117,10 +116,6 @@ TALER_TESTING_run_nexus (const struct 
TALER_TESTING_BankConfiguration *bc)
   unsigned int iter;
   char *curl_check_cmd;
 
-  /* make the 'admin' user at nexus; note: this is the user
-     under which the exchange will request the services.  */
-  system ("nexus superuser admin --password x");
-
   bank_proc = GNUNET_OS_start_process
                 (GNUNET_NO,
                 GNUNET_OS_INHERIT_STD_NONE,
@@ -160,11 +155,16 @@ TALER_TESTING_run_nexus (const struct 
TALER_TESTING_BankConfiguration *bc)
     iter++;
   }
   while (0 != system (curl_check_cmd));
-
-
   GNUNET_free (curl_check_cmd);
   fprintf (stderr, "\n");
-
+  // Creates nexus user + bank loopback connection + Taler facade.
+  if (0 != system ("taler-nexus-prepare"))
+  {
+    GNUNET_OS_process_kill (bank_proc, SIGTERM);
+    GNUNET_OS_process_wait (bank_proc);
+    GNUNET_OS_process_destroy (bank_proc);
+    BANK_FAIL ();
+  }
   return bank_proc;
 }
 

-- 
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]