diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2023-12-21 09:43:33 +0800 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2023-12-21 09:43:33 +0800 |
commit | 4f8d213a56eaff3d9841c73656faf669663564c9 (patch) | |
tree | 18c56cd332e9e391628159f9d256153a9ebf2326 | |
parent | e41f0babfc13a18c0dd3889a6801a3e7944925c5 (diff) |
fix tests: check for libeufin-bank, not libeufin-cli
m--------- | contrib/wallet-core | 0 | ||||
-rw-r--r-- | src/testing/Makefile.am | 1 | ||||
-rwxr-xr-x | src/testing/initialize_taler_system.sh | 286 | ||||
-rwxr-xr-x | src/testing/setup.sh | 11 | ||||
-rwxr-xr-x | src/testing/test-merchant-walletharness.sh | 5 | ||||
-rwxr-xr-x | src/testing/test_merchant_order_autocleanup.sh | 13 | ||||
-rwxr-xr-x | src/testing/test_merchant_order_creation.sh | 36 | ||||
-rwxr-xr-x | src/testing/test_merchant_product_creation.sh | 9 | ||||
-rwxr-xr-x | src/testing/test_merchant_reserve_creation.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_transfer_tracking.sh | 41 | ||||
-rwxr-xr-x | src/testing/test_merchant_wirewatch.sh | 11 |
11 files changed, 42 insertions, 373 deletions
diff --git a/contrib/wallet-core b/contrib/wallet-core -Subproject 0c211082e0b8372f8fa1cef8102e477c7363d9b +Subproject 2347be694c713959528ad59f3f157d866d7ad42 diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am index b009fce8..341d6711 100644 --- a/src/testing/Makefile.am +++ b/src/testing/Makefile.am @@ -227,7 +227,6 @@ test_kyc_api_LDADD = \ EXTRA_DIST = \ setup.sh \ - initialize_taler_system.sh \ test_key_rotation.conf \ test_kyc_api.conf \ test_merchant_api.conf \ diff --git a/src/testing/initialize_taler_system.sh b/src/testing/initialize_taler_system.sh deleted file mode 100755 index 2b74683b..00000000 --- a/src/testing/initialize_taler_system.sh +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/bash -# This file is part of TALER -# Copyright (C) 2014-2023 Taler Systems SA -# -# 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. -# -# 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 TALER; see the file COPYING. If not, see -# <http://www.gnu.org/licenses/> -# - -set -eu - -# FIXME: migrate to taler-unified-setup.sh - -# Exit, with status code "skip" (no 'real' failure) -function exit_skip() { - echo " SKIP: $1" - exit 77 -} - -# Exit, with error message (hard failure) -function exit_fail() { - echo " FAIL: $1" - exit 1 -} - -# Cleanup to run whenever we exit -function cleanup() -{ - # kill main HTTP servers first - kill "${MERCHANT_HTTPD_PID:-X}" &> /dev/null || true - kill "${EXCHANGE_HTTPD_PID:-X}" &> /dev/null || true - for n in $(jobs -p) - do - kill "$n" 2> /dev/null || true - done - wait - # kill euFin - kill "$(cat libeufin-sandbox.pid 2> /dev/null)" &> /dev/null || true - kill "$(cat libeufin-nexus.pid 2> /dev/null)" &> /dev/null || true -} - -NEXUS_PORT=8082 -SANDBOX_URL="http://localhost:1$NEXUS_PORT" -export BANK_URL="$SANDBOX_URL/demobanks/default" -function get_payto_uri() { - export LIBEUFIN_SANDBOX_USERNAME="$1" - export LIBEUFIN_SANDBOX_PASSWORD="$2" - export LIBEUFIN_SANDBOX_URL="$SANDBOX_URL" - libeufin-cli sandbox demobank info --bank-account "$1" | jq --raw-output '.paytoUri' -} -export get_payto_uri - -function get_bankaccount_balance() { - export LIBEUFIN_SANDBOX_USERNAME="$1" - export LIBEUFIN_SANDBOX_PASSWORD="$2" - export LIBEUFIN_SANDBOX_URL="$SANDBOX_URL" - libeufin-cli sandbox demobank info --bank-account "$1" | jq --raw-output '.balance.amount' -} -export get_bankaccount_balance - -function get_bankaccount_transactions() { - export LIBEUFIN_SANDBOX_USERNAME="$1" - export LIBEUFIN_SANDBOX_PASSWORD="$2" - export LIBEUFIN_SANDBOX_URL=$SANDBOX_URL - libeufin-cli sandbox demobank list-transactions --bank-account "$1" -} -export get_bankaccount_transactions - -# Exchange configuration file will be edited, so we create one -# from the template. -TMP_DIR=$(mktemp -p "${TMPDIR:-/tmp}" -d taler-merchant-test-XXXXXX) -echo "Writing test log files to $TMP_DIR" -CONF="$TMP_DIR/test_template.conf" -cp test_template.conf "$CONF" -LAST_RESPONSE="$TMP_DIR/last_response.log" - -# Install cleanup handler (except for kill -9) -trap cleanup EXIT - -# Check we can actually run -echo -n "Testing for jq" -jq -h > /dev/null || exit_skip "jq required" -echo " FOUND" - -# Check we can actually run -echo -n "Testing for curl" -curl -h 2> /dev/null > /dev/null || exit_skip "curl required" -echo " FOUND" - -echo -n "Testing for taler" -taler-exchange-httpd -h > /dev/null || exit_skip " taler-exchange required" -taler-merchant-httpd -h > /dev/null || exit_skip " taler-merchant required" -echo " FOUND" - -echo -n "Testing for libeufin-cli" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" -echo -n "Testing for taler-wallet-cli" -taler-wallet-cli -v >/dev/null </dev/null 2> /dev/null || exit_skip " MISSING" -echo " FOUND" - -echo -n "Generating Taler auditor, exchange and merchant configurations ..." - -DATA_DIR=$(taler-config -f -c "$CONF" -s PATHS -o TALER_HOME) -rm -rf "$DATA_DIR" - -# obtain key configuration data -MASTER_PRIV_FILE=$(taler-config -f -c "${CONF}" -s "EXCHANGE-OFFLINE" -o "MASTER_PRIV_FILE") -MASTER_PRIV_DIR=$(dirname "$MASTER_PRIV_FILE") -mkdir -p "$MASTER_PRIV_DIR" -gnunet-ecc -g1 "$MASTER_PRIV_FILE" > /dev/null 2> /dev/null -MASTER_PUB=$(gnunet-ecc -p "${MASTER_PRIV_FILE}") -EXCHANGE_URL=$(taler-config -c "$CONF" -s EXCHANGE -o BASE_URL) -AUDITOR_URL="http://localhost:8083/" -AUDITOR_PRIV_FILE=$(taler-config -f -c "$CONF" -s AUDITOR -o AUDITOR_PRIV_FILE) -AUDITOR_PRIV_DIR=$(dirname "$AUDITOR_PRIV_FILE") -mkdir -p "$AUDITOR_PRIV_DIR" -gnunet-ecc -g1 "$AUDITOR_PRIV_FILE" > /dev/null 2> /dev/null -AUDITOR_PUB=$(gnunet-ecc -p "$AUDITOR_PRIV_FILE") - -# patch configuration -export TALER_DB=talercheck -taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY -V "$MASTER_PUB" -taler-config -c "$CONF" -s merchant-exchange-default -o MASTER_KEY -V "$MASTER_PUB" -taler-config -c "$CONF" -s exchangedb-postgres -o CONFIG -V "postgres:///$TALER_DB" -taler-config -c "$CONF" -s auditordb-postgres -o CONFIG -V "postgres:///$TALER_DB" -taler-config -c "$CONF" -s merchantdb-postgres -o CONFIG -V "postgres:///$TALER_DB" -taler-config -c "$CONF" -s exchange -o KEYDIR -V "${TMP_DIR}/keydir/" -taler-config -c "$CONF" -s exchange -o REVOCATION_DIR -V "${TMP_DIR}/revdir/" - -echo " OK" - -echo "Printing software versions..." - -echo -n "taler-wallet-cli " -taler-wallet-cli --version -taler-exchange-httpd --version -taler-merchant-httpd --version -libeufin-cli --version - -# Setup libeuFin before the exchange, because we must set -# the PAYTO_URI config option (with unguessable IBAN) -# before the exchange starts. -echo "Setting up libeufin ..." -# reset libeufin database -rm -f "$TALER_DB" -taler-bank-manage-testing "$NEXUS_PORT" "$TALER_DB" "$EXCHANGE_URL" "$CONF" - - - - -echo -n "Setting up exchange ..." -# reset database -dropdb $TALER_DB >/dev/null 2>/dev/null || true -createdb $TALER_DB || exit_skip "Could not create database $TALER_DB" -taler-exchange-dbinit -c "$CONF" -taler-merchant-dbinit -c "$CONF" -taler-auditor-dbinit -c "$CONF" -taler-auditor-exchange -c "$CONF" -m "$MASTER_PUB" -u "$EXCHANGE_URL" -taler-exchange-secmod-eddsa -c "$CONF" -L DEBUG 2> taler-exchange-secmod-eddsa.log & -taler-exchange-secmod-rsa -c "$CONF" -L DEBUG 2> taler-exchange-secmod-rsa.log & -taler-exchange-secmod-cs -c "$CONF" -L DEBUG 2> taler-exchange-secmod-cs.log & -taler-exchange-httpd -c "$CONF" -L DEBUG 2> taler-exchange-httpd.log & -EXCHANGE_HTTPD_PID=$! -taler-merchant-httpd -c "$CONF" -L DEBUG 2> taler-merchant-httpd.log & -MERCHANT_HTTPD_PID=$! -taler-exchange-wirewatch -c "$CONF" 2> taler-exchange-wirewatch.log & -taler-auditor-httpd -L INFO -c "$CONF" 2> taler-auditor-httpd.log & -echo " OK" -# Launch services - -echo -n "Waiting for the bank" -# Wait for bank to be available (usually the slowest) -for n in $(seq 1 300) -do - echo -n "." - sleep 0.1 - OK=0 - # bank - wget --waitretry=0 --timeout=1 \ - --user admin --password secret \ - http://localhost:8082/ \ - -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 "Waiting for taler services " -# Wait for all other taler services to be available -for n in $(seq 1 20) -do - echo -n "." - sleep 0.1 - OK=0 - # exchange - wget --tries=1 --timeout=1 http://localhost:8081/seed -o /dev/null -O /dev/null >/dev/null || continue - # merchant - wget --tries=1 --timeout=1 http://localhost:9966/ -o /dev/null -O /dev/null >/dev/null || continue - # auditor - wget --tries=1 --timeout=1 http://localhost:8083/ -o /dev/null -O /dev/null >/dev/null || continue - OK=1 - break -done - -if [ 1 != "$OK" ] -then - exit_skip "Failed to launch taler services" -fi - -echo "OK" - -set +e -echo -n 'Wait the exchange for gather its keys ' -for n in $(seq 1 50) -do - echo -n "." - sleep 0.1 - OK=0 - # exchange - wget --tries=3 --waitretry=0 --timeout=1 http://localhost:8081/management/keys -o /dev/null -O "$LAST_RESPONSE" >/dev/null - DENOMS_COUNT=$(jq '.future_denoms|length' < "$LAST_RESPONSE") - SIGNKEYS_COUNT=$(jq '.future_signkeys|length' < "$LAST_RESPONSE") - [[ -z "$SIGNKEYS_COUNT" || "$SIGNKEYS_COUNT" == "0" || -z "$DENOMS_COUNT" || "$DENOMS_COUNT" == "0" ]] && continue - OK=1 - break; -done -set -e - -if [ 1 != "$OK" ] -then - exit_skip "Failed to setup exchange keys, check secmod logs" -fi - -echo " OK" - -echo -n "Setting up keys ..." -taler-exchange-offline -c "$CONF" \ - download \ - sign \ - enable-account "$(taler-config -c "$CONF" -s exchange-account-1 -o PAYTO_URI)" \ - enable-auditor "$AUDITOR_PUB" "$AUDITOR_URL" "TESTKUDOS Auditor" \ - wire-fee now iban TESTKUDOS:0.01 TESTKUDOS:0.01 \ - global-fee now TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 1h 1year 5 \ - upload &> taler-exchange-offline.log - -echo -n "." - -for n in $(seq 1 3) -do - echo -n "." - OK=0 - wget --tries=1 --timeout=1 \ - http://localhost:8081/keys \ - -o /dev/null -O /dev/null >/dev/null || continue - OK=1 - break -done - -if [ 1 != "$OK" ] -then - exit_skip "Failed to setup keys" -fi - -echo " OK" - -echo -n "Setting up auditor signatures ..." -taler-auditor-offline -c "$CONF" \ - download sign upload &> taler-auditor-offline.log -echo " OK" diff --git a/src/testing/setup.sh b/src/testing/setup.sh index 51ca3381..80933149 100755 --- a/src/testing/setup.sh +++ b/src/testing/setup.sh @@ -62,15 +62,6 @@ function exit_skip() { } function get_payto_uri() { - export LIBEUFIN_SANDBOX_USERNAME="$1" - export LIBEUFIN_SANDBOX_PASSWORD="$2" - export LIBEUFIN_SANDBOX_URL="http://localhost:18082" - libeufin-cli sandbox demobank info --bank-account "$1" | jq --raw-output '.paytoUri' + libeufin-bank create-account -u "$1" -p "$2" --name "$1" 2> /dev/null } -function get_bankaccount_transactions() { - export LIBEUFIN_SANDBOX_USERNAME=$1 - export LIBEUFIN_SANDBOX_PASSWORD=$2 - export LIBEUFIN_SANDBOX_URL="http://localhost:18082" - libeufin-cli sandbox demobank list-transactions --bank-account $1 -} diff --git a/src/testing/test-merchant-walletharness.sh b/src/testing/test-merchant-walletharness.sh index fe63f3fa..c3c048d1 100755 --- a/src/testing/test-merchant-walletharness.sh +++ b/src/testing/test-merchant-walletharness.sh @@ -27,9 +27,8 @@ unset XDG_CONFIG_HOME . setup.sh -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" +echo -n "Testing for libeufin-bank" +libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" echo " FOUND" echo -n "Testing for taler-harness" diff --git a/src/testing/test_merchant_order_autocleanup.sh b/src/testing/test_merchant_order_autocleanup.sh index 80fd611c..73dd4cad 100755 --- a/src/testing/test_merchant_order_autocleanup.sh +++ b/src/testing/test_merchant_order_autocleanup.sh @@ -3,6 +3,8 @@ set -eu +. setup.sh + # Replace with 0 for nexus... USE_FAKEBANK=1 @@ -17,14 +19,11 @@ else WIRE_METHOD="iban" BANK_FLAGS="-ns -d $WIRE_METHOD -u $ACCOUNT" BANK_URL="http://localhost:18082/" -fi + echo -n "Testing for libeufin-bank" + libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" + echo " FOUND" -. setup.sh - -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" +fi echo -n "Testing for taler-harness" taler-harness --help >/dev/null </dev/null || exit_skip " MISSING" diff --git a/src/testing/test_merchant_order_creation.sh b/src/testing/test_merchant_order_creation.sh index 6c7db54b..38508cfb 100755 --- a/src/testing/test_merchant_order_creation.sh +++ b/src/testing/test_merchant_order_creation.sh @@ -20,15 +20,14 @@ else ACCOUNT="exchange-account-1" BANK_FLAGS="-ns -d iban -u $ACCOUNT" BANK_URL="http://localhost:18082/" + echo -n "Testing for libeufin-bank" + libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" + echo " FOUND" + fi . setup.sh -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" - echo -n "Testing for taler-harness" taler-harness --help >/dev/null </dev/null || exit_skip " MISSING" echo " FOUND" @@ -431,27 +430,11 @@ echo " DONE" echo -n "Obtaining wire transfer details from bank ($USE_FAKEBANK)..." -if [ 1 = "$USE_FAKEBANK" ] -then - BANKDATA="$(curl 'http://localhost:8082/accounts/exchange/taler-wire-gateway/history/outgoing?delta=1' -s)" - WTID=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].wtid) - WURL=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].exchange_base_url) - CREDIT_AMOUNT=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].amount) - TARGET_PAYTO=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].credit_account) -else - # Emulating the previous pybank-based logic of getting - # the wire transfer information _via the exchange_ bank - # account. NOTE: grabbing tx == 0, since the latest - # transaction appear first in the bank's history. - BANKDATA=$(get_bankaccount_transactions exchange x | jq '.transactions[0]') - SUBJECT=$(echo "$BANKDATA" | jq -r .subject) - WTID=$(echo "$SUBJECT" | awk '{print $1}') - WURL=$(echo "$SUBJECT" | awk '{print $2}') - CREDIT_AMOUNT="$(echo "$BANKDATA" | jq -r .currency):$(echo "$BANKDATA" | jq -r .amount)" - TARGET=$(echo "$BANKDATA" | jq -r .creditorIban) - # 'TARGET' is now the IBAN. - TARGET_PAYTO="payto://iban/SANDBOXX/$TARGET?receiver-name=Forty+Three" -fi +BANKDATA="$(curl 'http://localhost:8082/accounts/exchange/taler-wire-gateway/history/outgoing?delta=1' -s)" +WTID=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].wtid) +WURL=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].exchange_base_url) +CREDIT_AMOUNT=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].amount) +TARGET_PAYTO=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].credit_account) if [ "$EXCHANGE_URL" != "$WURL" ] then @@ -612,7 +595,6 @@ then else ACCOUNT_PASSWORD="fortythree:x" BANK_HOST="localhost:18082" - # Can be replaced by the libeufin-cli way. STATUS=$(curl "http://$ACCOUNT_PASSWORD@$BANK_HOST/accounts/fortythree" \ -w "%{http_code}" -s -o "$LAST_RESPONSE") if [ "$STATUS" != "200" ] diff --git a/src/testing/test_merchant_product_creation.sh b/src/testing/test_merchant_product_creation.sh index a660e8b4..10ae765c 100755 --- a/src/testing/test_merchant_product_creation.sh +++ b/src/testing/test_merchant_product_creation.sh @@ -28,6 +28,10 @@ then BANK_FLAGS="-f -d $WIRE_METHOD -u $ACCOUNT" BANK_URL="http://localhost:8082/" else + echo -n "Testing for libeufin-bank" + libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" + echo " FOUND" + ACCOUNT="exchange-account-1" WIRE_METHOD="iban" BANK_FLAGS="-ns -d $WIRE_METHOD -u $ACCOUNT" @@ -37,11 +41,6 @@ fi . setup.sh -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" - echo -n "Testing for taler-harness" taler-harness --help >/dev/null </dev/null || exit_skip " MISSING" echo " FOUND" diff --git a/src/testing/test_merchant_reserve_creation.sh b/src/testing/test_merchant_reserve_creation.sh index 8fafb551..207fd821 100755 --- a/src/testing/test_merchant_reserve_creation.sh +++ b/src/testing/test_merchant_reserve_creation.sh @@ -109,6 +109,8 @@ then http://localhost:8082/accounts/exchange/taler-wire-gateway/admin/add-incoming \ > /dev/null else + echo "FIXME: not implemented for current libeufin" + exit 1 EXCHANGE_PAYTO=$(get_payto_uri exchange x) export LIBEUFIN_SANDBOX_USERNAME=fortythree export LIBEUFIN_SANDBOX_PASSWORD=x diff --git a/src/testing/test_merchant_transfer_tracking.sh b/src/testing/test_merchant_transfer_tracking.sh index b9c8cb2f..6be6b7a5 100755 --- a/src/testing/test_merchant_transfer_tracking.sh +++ b/src/testing/test_merchant_transfer_tracking.sh @@ -20,6 +20,8 @@ set -eu +. setup.sh + # Replace with 0 for nexus... USE_FAKEBANK=1 if [ 1 = "$USE_FAKEBANK" ] @@ -29,18 +31,15 @@ then BANK_FLAGS="-f -d $WIRE_METHOD -u $ACCOUNT" BANK_URL="http://localhost:8082/" else + echo -n "Testing for libeufin-bank" + libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" + echo " FOUND" ACCOUNT="exchange-account-1" WIRE_METHOD="iban" BANK_FLAGS="-ns -d $WIRE_METHOD -u $ACCOUNT" BANK_URL="http://localhost:18082/" fi -. setup.sh - -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" echo -n "Testing for taler-harness" taler-harness --help >/dev/null </dev/null || exit_skip " MISSING" @@ -256,29 +255,13 @@ echo " DONE" echo -n "Obtaining wire transfer details from bank..." -if [ 1 = "$USE_FAKEBANK" ] -then - BANKDATA="$(curl 'http://localhost:8082/accounts/exchange/taler-wire-gateway/history/outgoing?delta=1' -s)" - WTID=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].wtid) - WURL=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].exchange_base_url) - CREDIT_AMOUNT=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].amount) - TARGET_PAYTO=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].credit_account) - TARGET=$(echo "$TARGET_PAYTO" | awk -F = '{print $2}') -else - echo -n "waiting for Nexus and Sandbox to settle the payment .." - sleep 3 - echo " DONE" - # Emulating the previous pybank-based logic of getting - # the wire transfer information _via the exchange_ bank - # account. NOTE: grabbing tx == 0, since the latest - # transaction appear first in the bank's history. - BANKDATA=$(get_bankaccount_transactions exchange x | jq '.transactions[0]') - SUBJECT=$(echo "$BANKDATA" | jq -r .subject) - WTID=$(echo "$SUBJECT" | awk '{print $1}') - WURL=$(echo "$SUBJECT" | awk '{print $2}') - CREDIT_AMOUNT=$(echo "$BANKDATA" | jq -r .currency):$(echo "$BANKDATA" | jq -r .amount) - TARGET=$(echo "$BANKDATA" | jq -r .creditorIban) -fi +BANKDATA="$(curl 'http://localhost:8082/accounts/exchange/taler-wire-gateway/history/outgoing?delta=1' -s)" +WTID=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].wtid) +WURL=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].exchange_base_url) +CREDIT_AMOUNT=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].amount) +TARGET_PAYTO=$(echo "$BANKDATA" | jq -r .outgoing_transactions[0].credit_account) +TARGET=$(echo "$TARGET_PAYTO" | awk -F = '{print $2}') + # Figure out which account got paid, in order to # resort the right (and complete: including the receiver-name) # TARGET_PAYTO diff --git a/src/testing/test_merchant_wirewatch.sh b/src/testing/test_merchant_wirewatch.sh index eb6de851..df576cfd 100755 --- a/src/testing/test_merchant_wirewatch.sh +++ b/src/testing/test_merchant_wirewatch.sh @@ -25,11 +25,6 @@ function exit_skip() { exit 77 } -# If CLI is installed, assume all the suite is. -echo -n "Testing for libeufin(-cli)" -libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING" -echo " FOUND" - echo -n "Testing for taler-harness" taler-harness --help >/dev/null </dev/null || exit_skip " MISSING" echo " FOUND" @@ -44,6 +39,10 @@ then BANK_FLAGS="-f -d $WIRE_METHOD -u $ACCOUNT" BANK_URL="http://localhost:8082/" else + echo -n "Testing for libeufin-bank" + libeufin-bank --help >/dev/null </dev/null || exit_skip " MISSING" + echo " FOUND" + ACCOUNT="exchange-account-1" WIRE_METHOD="iban" BANK_FLAGS="-ns -d $WIRE_METHOD -u $ACCOUNT" @@ -67,6 +66,8 @@ then FACADE_USERNAME="gnunet" FACADE_PASSWORD="x" else + echo "not implemented for current libeufin-bank" + exit 1 export LIBEUFIN_SANDBOX_DB_CONNECTION='postgresql:///talercheck' export LIBEUFIN_SANDBOX_ADMIN_PASSWORD="secret" export LIBEUFIN_SANDBOX_URL="http://localhost:18082/" |