aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/Makefile.am3
-rwxr-xr-xcontrib/taler-nexus-prepare57
2 files changed, 59 insertions, 1 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 2e1160f53..b706202d7 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 000000000..3e30d3930
--- /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),
+ )
+)