diff options
Diffstat (limited to 'src/bank-lib/test_bank.sh')
-rwxr-xr-x | src/bank-lib/test_bank.sh | 99 |
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 |