integration test for handling the same pay URI multiple times
This commit is contained in:
parent
85af5421e5
commit
b7c75bd56a
@ -14,8 +14,8 @@ function setup_config() {
|
|||||||
[[ "$(taler-merchant-httpd -v)" =~ "taler-merchant-httpd v" ]] || exit_skip " MISSING"
|
[[ "$(taler-merchant-httpd -v)" =~ "taler-merchant-httpd v" ]] || exit_skip " MISSING"
|
||||||
echo " FOUND"
|
echo " FOUND"
|
||||||
|
|
||||||
trap 'jobs -p | xargs kill &> /dev/null || true' ERR
|
trap shutdown_services ERR
|
||||||
trap 'jobs -p | xargs kill &> /dev/null || true' EXIT
|
trap shutdown_services EXIT
|
||||||
|
|
||||||
SCRIPT_NAME=$1
|
SCRIPT_NAME=$1
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ function wait_for_services() {
|
|||||||
|
|
||||||
function shutdown_services() {
|
function shutdown_services() {
|
||||||
echo "Shutting down services"
|
echo "Shutting down services"
|
||||||
jobs -p | xargs kill
|
jobs -p | xargs --no-run-if-empty kill || true
|
||||||
wait
|
wait
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
@ -151,3 +151,8 @@ function exit_skip() {
|
|||||||
echo "$1"
|
echo "$1"
|
||||||
exit 77
|
exit 77
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function exit_error() {
|
||||||
|
echo "Error: $1"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
@ -13,6 +13,4 @@ wait_for_services
|
|||||||
echo "Running wallet"
|
echo "Running wallet"
|
||||||
taler-wallet-cli testing integrationtest -e "$EXCHANGE_URL" -m "$MERCHANT_URL" -b "$BANK_URL"
|
taler-wallet-cli testing integrationtest -e "$EXCHANGE_URL" -m "$MERCHANT_URL" -b "$BANK_URL"
|
||||||
|
|
||||||
shutdown_services
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
26
integrationtests/test-double-link.sh
Executable file
26
integrationtests/test-double-link.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Script to check that Uris are properly handled when used a second time
|
||||||
|
|
||||||
|
source "common.sh"
|
||||||
|
setup_config "double-link"
|
||||||
|
setup_services
|
||||||
|
launch_services
|
||||||
|
wait_for_services
|
||||||
|
|
||||||
|
WALLET_DB=wallet-double-link.json
|
||||||
|
|
||||||
|
echo "Getting pay taler:// Uri"
|
||||||
|
PAY_URI=$(taler-wallet-cli testing gen-pay-uri -m "$MERCHANT_URL" -k sandbox -a "TESTKUDOS:1" -s "foo" | grep -E -o 'taler://.*')
|
||||||
|
echo "Trying to pay without balance"
|
||||||
|
taler-wallet-cli --wallet-db=$WALLET_DB --no-throttle handle-uri --yes "$PAY_URI" 2>&1 | grep -q "insufficient balance" || exit_error "not reporting insufficient balance"
|
||||||
|
echo "Withdrawing"
|
||||||
|
taler-wallet-cli --wallet-db=$WALLET_DB --no-throttle testing withdraw -e "$EXCHANGE_URL" -b "$BANK_URL" -a "TESTKUDOS:10" > /dev/null
|
||||||
|
echo "Trying to pay again, should work this time"
|
||||||
|
taler-wallet-cli --wallet-db=$WALLET_DB --no-throttle handle-uri --yes "$PAY_URI" > /dev/null
|
||||||
|
echo "Trying to pay what was paid already should throw error"
|
||||||
|
taler-wallet-cli --wallet-db=$WALLET_DB --no-throttle handle-uri --yes "$PAY_URI" 2>&1 | grep -q "already paid" || exit_error "not reporting already paid"
|
||||||
|
echo "Already paid properly detected"
|
||||||
|
|
||||||
|
rm $WALLET_DB || true
|
||||||
|
|
||||||
|
exit 0
|
@ -175,7 +175,6 @@ taler-wallet-cli $TIMETRAVEL --wallet-db=$WALLET_DB run-until-done
|
|||||||
|
|
||||||
echo "Bought something with refresh-recouped coin"
|
echo "Bought something with refresh-recouped coin"
|
||||||
|
|
||||||
shutdown_services
|
|
||||||
rm -r "$TMP_DIR"
|
rm -r "$TMP_DIR"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user