summaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2023-12-21 09:43:33 +0800
committerChristian Grothoff <grothoff@gnunet.org>2023-12-21 09:43:33 +0800
commit4f8d213a56eaff3d9841c73656faf669663564c9 (patch)
tree18c56cd332e9e391628159f9d256153a9ebf2326 /src/testing
parente41f0babfc13a18c0dd3889a6801a3e7944925c5 (diff)
downloadmerchant-4f8d213a56eaff3d9841c73656faf669663564c9.tar.gz
merchant-4f8d213a56eaff3d9841c73656faf669663564c9.tar.bz2
merchant-4f8d213a56eaff3d9841c73656faf669663564c9.zip
fix tests: check for libeufin-bank, not libeufin-cli
Diffstat (limited to 'src/testing')
-rw-r--r--src/testing/Makefile.am1
-rwxr-xr-xsrc/testing/initialize_taler_system.sh286
-rwxr-xr-xsrc/testing/setup.sh11
-rwxr-xr-xsrc/testing/test-merchant-walletharness.sh5
-rwxr-xr-xsrc/testing/test_merchant_order_autocleanup.sh13
-rwxr-xr-xsrc/testing/test_merchant_order_creation.sh36
-rwxr-xr-xsrc/testing/test_merchant_product_creation.sh9
-rwxr-xr-xsrc/testing/test_merchant_reserve_creation.sh2
-rwxr-xr-xsrc/testing/test_merchant_transfer_tracking.sh41
-rwxr-xr-xsrc/testing/test_merchant_wirewatch.sh11
10 files changed, 42 insertions, 373 deletions
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/"