gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: Add functions for getting and


From: gnunet
Subject: [taler-wallet-core] branch master updated: Add functions for getting and comparing balances to integration tests
Date: Fri, 08 May 2020 20:02:46 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 7e947ca2 Add functions for getting and comparing balances to 
integration tests
7e947ca2 is described below

commit 7e947ca2cdd8e66ea49822acbad81e7d35289c0a
Author: Torsten Grote <address@hidden>
AuthorDate: Fri May 8 15:02:07 2020 -0300

    Add functions for getting and comparing balances to integration tests
---
 integrationtests/common.sh            | 23 ++++++++++++++++++++++-
 integrationtests/test-double-link.sh  |  8 ++++----
 integrationtests/test-double-spend.sh |  6 ++----
 integrationtests/test-refund.sh       | 13 ++++++++-----
 integrationtests/test-retries.sh      | 14 ++++++++------
 5 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/integrationtests/common.sh b/integrationtests/common.sh
index 57dc1a86..86158d15 100644
--- a/integrationtests/common.sh
+++ b/integrationtests/common.sh
@@ -13,6 +13,7 @@ function setup_config() {
     # TODO "taler-merchant-httpd -v" should not return an error
     [[ "$(taler-merchant-httpd -v)" =~ "taler-merchant-httpd v" ]] || 
exit_skip " MISSING"
     echo " FOUND"
+    bc -v >/dev/null </dev/null || exit_error "Please install bc"
 
     trap shutdown_services EXIT
 
@@ -149,6 +150,26 @@ function wait_for_service() {
     done
 }
 
+function get_balance() {
+    taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+}
+
+function assert_less_than() {
+    AMOUNT_1=${1//TESTKUDOS:/}
+    AMOUNT_2=${2//TESTKUDOS:/}
+    if (($(echo "$AMOUNT_1 >= $AMOUNT_2" | bc -l))); then
+        exit_error "$1 is not lower than $2"
+    fi
+}
+
+function assert_greater_than() {
+    AMOUNT_1=${1//TESTKUDOS:/}
+    AMOUNT_2=${2//TESTKUDOS:/}
+    if (($(echo "$AMOUNT_1 <= $AMOUNT_2" | bc -l))); then
+        exit_error "$1 is not greater than $2"
+    fi
+}
+
 function shutdown_services() {
     echo "Shutting down services"
     jobs -p | xargs --no-run-if-empty kill || true
@@ -171,7 +192,7 @@ function exit_skip() {
 }
 
 function exit_error() {
-    echo "\033[0;31mError: $1\033[0m"
+    echo -e "\033[0;31mError: $1\033[0m"
     exit 1
 }
 
diff --git a/integrationtests/test-double-link.sh 
b/integrationtests/test-double-link.sh
index ee4af891..d5f5d332 100755
--- a/integrationtests/test-double-link.sh
+++ b/integrationtests/test-double-link.sh
@@ -7,13 +7,13 @@ normal_start_and_wait  "double-link"
 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"
+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
+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
+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"
+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"
 
 exit_success
diff --git a/integrationtests/test-double-spend.sh 
b/integrationtests/test-double-spend.sh
index 5987ad49..81a4563a 100755
--- a/integrationtests/test-double-spend.sh
+++ b/integrationtests/test-double-spend.sh
@@ -10,12 +10,10 @@ taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle 
testing withdraw -e "$EX
 cp "$WALLET_DB" "$WALLET_DB.bak"
 echo "Spend all the money"
 taler-wallet-cli --wallet-db="$WALLET_DB" testing test-pay -m "$MERCHANT_URL" 
-k sandbox -a "TESTKUDOS:9.5" -s "foo"
-echo "New balance:"
-taler-wallet-cli --wallet-db="$WALLET_DB" balance
+echo "New balance: $(get_balance)"
 # Restore old wallet database
 mv "$WALLET_DB.bak" "$WALLET_DB"
-echo "Balance after getting old coins back:"
-taler-wallet-cli --wallet-db="$WALLET_DB" balance
+echo "Balance after getting old coins back: $(get_balance)"
 echo "Try to double-spend"
 # TODO this should probably fail more gracefully
 # "exchange_reply: { hint: 'insufficient funds', code: 1200 }
diff --git a/integrationtests/test-refund.sh b/integrationtests/test-refund.sh
index d4193dbb..7b8fbdef 100755
--- a/integrationtests/test-refund.sh
+++ b/integrationtests/test-refund.sh
@@ -6,18 +6,21 @@ normal_start_and_wait "refund"
 
 echo "Withdraw TESTKUDOS"
 taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing withdraw -e 
"$EXCHANGE_URL" -b "$BANK_URL" -a "TESTKUDOS:10" >>"$LOG" 2>>"$LOG"
-echo -n "Balance after withdrawal: "
-taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+BALANCE_1=$(get_balance)
+echo "Balance after withdrawal: $BALANCE_1"
 REFUND_URI=$(taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing 
gen-refund-uri \
     -m "$MERCHANT_URL" -k sandbox \
     -s "first refund" -a "TESTKUDOS:8" -r "TESTKUDOS:2" 2>>"$LOG" | grep -E -m 
1 -o "taler://refund.*insecure=1")
-echo -n "Balance after payment: "
+BALANCE_2=$(get_balance)
+echo "Balance after payment: $BALANCE_2"
+assert_less_than "$BALANCE_2" "$BALANCE_1"
 taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
 echo "Handling refund: $REFUND_URI"
 taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle handle-uri 
"$REFUND_URI" 2>"$LOG"
 taler-wallet-cli --wallet-db="$WALLET_DB" run-until-done 2>>"$LOG" >>"$LOG"
-echo -n "Balance after first refund: "
-taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+BALANCE_3=$(get_balance)
+echo "Balance after first refund: $BALANCE_3"
+assert_greater_than "$BALANCE_3" "$BALANCE_2"
 # TODO how to test second refund for same purchase?
 
 exit_success
diff --git a/integrationtests/test-retries.sh b/integrationtests/test-retries.sh
index 01bfa577..3d953eab 100755
--- a/integrationtests/test-retries.sh
+++ b/integrationtests/test-retries.sh
@@ -8,8 +8,8 @@ normal_start_and_wait "retries"
 
 echo "Withdraw TESTKUDOS"
 taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing withdraw -e 
"$EXCHANGE_URL" -b "$BANK_URL" -a "TESTKUDOS:10" 2>>"$LOG" >>"$LOG"
-echo -n "Balance after withdrawal: "
-taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+BALANCE_1=$(get_balance)
+echo "Balance after withdrawal: $BALANCE_1"
 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 with exchange down, will fail"
@@ -23,8 +23,9 @@ echo -n "Wait for exchange to start"
 wait_for_service "$EXCHANGE_URL"
 echo "Retrying operations with exchange up"
 taler-wallet-cli --wallet-db="$WALLET_DB" run-until-done 2>>"$LOG" >>"$LOG"
-echo -n "Balance after re-tried payment: "
-taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+BALANCE_2=$(get_balance)
+echo "Balance after re-tried payment: $BALANCE_2"
+assert_less_than "$BALANCE_2" "$BALANCE_1"
 
 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://.*')
@@ -39,7 +40,8 @@ echo -n "Wait for merchant to start"
 wait_for_service "$MERCHANT_URL"
 echo "Retrying payment with merchant up"
 taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle handle-uri --yes 
"$PAY_URI" 2>>"$LOG" >>"$LOG"
-echo -n "Balance after re-tried payment: "
-taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
+BALANCE_3=$(get_balance)
+echo "Balance after re-tried payment: $BALANCE_3"
+assert_less_than "$BALANCE_3" "$BALANCE_2"
 
 exit_success

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]