summaryrefslogtreecommitdiff
path: root/src/bank-lib/test_bank.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/bank-lib/test_bank.sh')
-rwxr-xr-xsrc/bank-lib/test_bank.sh99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/bank-lib/test_bank.sh b/src/bank-lib/test_bank.sh
new file mode 100755
index 000000000..5ee2bd836
--- /dev/null
+++ b/src/bank-lib/test_bank.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+# This file is in the public domain.
+# shellcheck disable=SC2317
+set -eu
+
+# Exit, with status code "skip" (no 'real' failure)
+function exit_skip() {
+ echo "$1"
+ exit 77
+}
+
+# Cleanup to run whenever we exit
+function cleanup()
+{
+ for n in $(jobs -p)
+ do
+ kill "$n" 2> /dev/null || true
+ done
+ wait
+}
+
+# Install cleanup handler (except for kill -9)
+trap cleanup EXIT
+
+echo -n "Launching bank..."
+
+taler-fakebank-run \
+ -c test_bank.conf \
+ -L DEBUG &> bank.log &
+
+# Wait for bank to be available (usually the slowest)
+for n in $(seq 1 50)
+do
+ echo -n "."
+ sleep 0.2
+ OK=0
+ # bank
+ wget \
+ --tries=1 \
+ --timeout=1 \
+ http://localhost:8899/ \
+ -o /dev/null \
+ -O /dev/null \
+ >/dev/null \
+ || continue
+ OK=1
+ break
+done
+
+if [ 1 != "$OK" ]
+then
+ exit_skip "Failed to launch services (bank)"
+fi
+
+echo "OK"
+
+echo -n "Making wire transfer to exchange ..."
+
+taler-exchange-wire-gateway-client \
+ -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \
+ -S 0ZSX8SH0M30KHX8K3Y1DAMVGDQV82XEF9DG1HC4QMQ3QWYT4AF00 \
+ -D payto://x-taler-bank/localhost:8899/user?receiver-name=user \
+ -a TESTKUDOS:4 > /dev/null
+echo " OK"
+
+echo -n "Requesting exchange incoming transaction list ..."
+
+./taler-exchange-wire-gateway-client \
+ -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \
+ -i \
+ | grep TESTKUDOS:4 \
+ > /dev/null
+
+echo " OK"
+
+echo -n "Making wire transfer from exchange..."
+
+./taler-exchange-wire-gateway-client \
+ -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \
+ -S 0ZSX8SH0M30KHX8K3Y1DAMVGDQV82XEF9DG1HC4QMQ3QWYT4AF00 \
+ -C payto://x-taler-bank/localhost:8899/merchant?receiver-name=merchant \
+ -a TESTKUDOS:2 \
+ -L DEBUG > /dev/null
+echo " OK"
+
+
+echo -n "Requesting exchange's outgoing transaction list..."
+
+./taler-exchange-wire-gateway-client \
+ -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \
+ -o \
+ | grep TESTKUDOS:2 \
+ > /dev/null
+
+echo " OK"
+
+echo "All tests passed"
+
+exit 0