gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-exchange] branch master updated: add test 14


From: gnunet
Subject: [GNUnet-SVN] [taler-exchange] branch master updated: add test 14
Date: Thu, 05 Sep 2019 08:15:09 +0200

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new b7454aad add test 14
b7454aad is described below

commit b7454aadc492688bb5a00c794c7be834a7579bbb
Author: Christian Grothoff <address@hidden>
AuthorDate: Thu Sep 5 08:14:58 2019 +0200

    add test 14
---
 contrib/auditor-report.tex.j2 |  2 +-
 src/auditor/test-auditor.sh   | 84 +++++++++++++++++++++++++++++--------------
 2 files changed, 58 insertions(+), 28 deletions(-)

diff --git a/contrib/auditor-report.tex.j2 b/contrib/auditor-report.tex.j2
index 73dda63b..e6154127 100644
--- a/contrib/auditor-report.tex.j2
+++ b/contrib/auditor-report.tex.j2
@@ -791,7 +791,7 @@ impact.
 {% if data.row_inconsistencies|length() == 0 %}
   {\bf No row inconsistencies found.}
 {% else %}
-  \begin{longtable}{p{1.5cm}|l|p{5.5cm}}
+  \begin{longtable}{p{1.5cm}|l|p{6cm}}
   {\bf Table} & {\bf Row} & {\bf Diagnostic} \\
   \hline \hline
 \endfirsthead
diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index d7ee79e9..c038910c 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -36,11 +36,9 @@ function exit_fail() {
     exit 1
 }
 
-# Run audit process on current database, including report
-# generation.  Pass "aggregator" as $1 to run
-# $ taler-exchange-aggregator
-# before auditor (to trigger pending wire transfers).
-function run_audit () {
+
+# Operations to run before the actual audit
+function pre_audit () {
     # Launch bank
     echo -n "Launching bank "
     taler-bank-manage -c $CONF serve-http 2>bank.err >bank.log &
@@ -58,14 +56,21 @@ function run_audit () {
         taler-exchange-aggregator -t -c $CONF 2> aggregator.log
         echo " DONE"
     fi
+}
 
+# actual audit run
+function audit_only () {
     # Run the auditor!
     echo -n "Running audit(s) ..."
     taler-auditor -r -c $CONF -m $MASTER_PUB > test-audit.json 2> 
test-audit.log || exit_fail "auditor failed"
 
     taler-wire-auditor -r -c $CONF -m $MASTER_PUB > test-wire-audit.json 2> 
test-wire-audit.log || exit_fail "wire auditor failed"
     echo " DONE"
+}
 
+
+# Cleanup to run after the auditor
+function post_audit () {
     kill `jobs -p` || true
 
     echo -n "TeXing ..."
@@ -77,6 +82,18 @@ function run_audit () {
 }
 
 
+# Run audit process on current database, including report
+# generation.  Pass "aggregator" as $1 to run
+# $ taler-exchange-aggregator
+# before auditor (to trigger pending wire transfers).
+function run_audit () {
+    pre_audit ${1:-no}
+    audit_only
+    post_audit
+
+}
+
+
 # Do a full reload of the (original) database
 full_reload()
 {
@@ -87,7 +104,7 @@ full_reload()
 }
 
 
-test_0() {
+function test_0() {
 
 echo "===========0: normal run with aggregator==========="
 run_audit aggregator
@@ -153,7 +170,7 @@ echo "DONE"
 
 # Run without aggregator, hence auditor should detect wire
 # transfer lag!
-test_1() {
+function test_1() {
 
 echo "===========1: normal run==========="
 run_audit
@@ -213,7 +230,7 @@ echo "OK"
 
 
 # Change amount of wire transfer reported by exchange
-test_2() {
+function test_2() {
 
 echo "===========2: reserves_in inconsitency==========="
 echo "UPDATE reserves_in SET credit_val=5 WHERE reserve_in_serial_id=1" | psql 
-Aqt $DB
@@ -257,7 +274,7 @@ echo "UPDATE reserves_in SET credit_val=10 WHERE 
reserve_in_serial_id=1" | psql
 
 # Check for incoming wire transfer amount given being
 # lower than what exchange claims to have received.
-test_3() {
+function test_3() {
 
 echo "===========3: reserves_in inconsitency==========="
 echo "UPDATE reserves_in SET credit_val=15 WHERE reserve_in_serial_id=1" | 
psql -Aqt $DB
@@ -320,7 +337,7 @@ echo "UPDATE reserves_in SET credit_val=10 WHERE 
reserve_in_serial_id=1" | psql
 
 # Check for incoming wire transfer amount given being
 # lower than what exchange claims to have received.
-test_4() {
+function test_4() {
 
 echo "===========4: deposit wire target wrong================="
 # Original target bank account was 43, changing to 44
@@ -362,7 +379,7 @@ echo "UPDATE deposits SET wire='$OLD_WIRE' WHERE 
deposit_serial_id=1" | psql -Aq
 
 # Test where h_contract_terms in the deposit table is wrong
 # (=> bad signature)
-test_5() {
+function test_5() {
 echo "===========5: deposit contract hash wrong================="
 # Modify h_wire hash, so it is inconsistent with 'wire'
 OLD_H=`echo 'SELECT h_contract_terms FROM deposits WHERE deposit_serial_id=1;' 
 | psql $DB -Aqt`
@@ -402,7 +419,7 @@ echo "UPDATE deposits SET h_contract_terms='${OLD_H}' WHERE 
deposit_serial_id=1"
 
 # Test where denom_sig in known_coins table is wrong
 # (=> bad signature)
-test_6() {
+function test_6() {
 echo "===========6: known_coins signature wrong================="
 # Modify denom_sig, so it is wrong
 OLD_SIG=`echo 'SELECT denom_sig FROM known_coins LIMIT 1;' | psql $DB -Aqt`
@@ -443,7 +460,7 @@ echo "UPDATE known_coins SET denom_sig='$OLD_SIG' WHERE 
coin_pub='$COIN_PUB'" |
 
 
 # Test where h_wire in the deposit table is wrong
-test_7() {
+function test_7() {
 echo "===========7: reserves_out signature wrong================="
 # Modify reserve_sig, so it is bogus
 HBE=`echo 'SELECT h_blind_ev FROM reserves_out LIMIT 1;' | psql $DB -Aqt`
@@ -494,7 +511,7 @@ echo "UPDATE reserves_out SET reserve_sig='$OLD_SIG' WHERE 
h_blind_ev='$HBE'" |
 
 
 # Test wire transfer subject disagreement!
-test_8() {
+function test_8() {
 
 echo "===========8: wire-transfer-subject disagreement==========="
 OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE 
amount='TESTKUDOS:10.00' ORDER BY id LIMIT 1;" | psql $DB -Aqt`
@@ -564,7 +581,7 @@ echo "UPDATE app_banktransaction SET subject='$OLD_WTID' 
WHERE id='$OLD_ID';" |
 
 
 # Test wire origin disagreement!
-test_9() {
+function test_9() {
 
 echo "===========9: wire-origin disagreement==========="
 OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE 
amount='TESTKUDOS:10.00' ORDER BY id LIMIT 1;" | psql $DB -Aqt`
@@ -593,7 +610,7 @@ echo "UPDATE app_banktransaction SET 
debit_account_id=$OLD_ACC;" | psql -Aqt $DB
 
 
 # Test wire_in timestamp disagreement!
-test_10() {
+function test_10() {
 
 echo "===========10: wire-timestamp disagreement==========="
 OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE 
amount='TESTKUDOS:10.00' ORDER BY id LIMIT 1;" | psql $DB -Aqt`
@@ -622,7 +639,7 @@ echo "UPDATE app_banktransaction SET date='$OLD_DATE' WHERE 
id=$OLD_ID;" | psql
 
 
 # Test for extra outgoing wire transfer.
-test_11() {
+function test_11() {
 
 echo "===========11: spurious outgoing transfer ==========="
 OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE 
amount='TESTKUDOS:10.00' ORDER BY id LIMIT 1;" | psql $DB -Aqt`
@@ -672,7 +689,7 @@ echo "UPDATE app_banktransaction SET 
debit_account_id=$OLD_ACC,credit_account_id
 
 
 # Test for hanging/pending refresh.
-test_12() {
+function test_12() {
 
 echo "===========12: incomplete refresh ==========="
 OLD_ACC=`echo "DELETE FROM refresh_revealed_coins;" | psql $DB -Aqt`
@@ -703,7 +720,7 @@ echo "DONE"
 
 
 # Test for wrong signature on refresh.
-test_13() {
+function test_13() {
 
 echo "===========13: wrong melt signature ==========="
 # Modify denom_sig, so it is wrong
@@ -742,23 +759,36 @@ echo "DONE"
 }
 
 
-# FIXME: Test for wire fee disagreement
-test_98() {
+# Test for wire fee disagreement
+function test_14() {
+
+echo "===========14: wire-fee disagreement==========="
 
-echo "===========11: wire-fee disagreement==========="
-echo "UPDATE wire_fee SET wire_fee_frac='100';" | psql -Aqt $DB
 
 # Wire fees are only checked/generated once there are
 # actual outgoing wire transfers, so we need to run the
 # aggregator here.
-run_audit aggregator
+pre_audit aggregator
+echo "UPDATE wire_fee SET wire_fee_frac=100;" | psql -Aqt $DB
+audit_only
+post_audit
 
-# FIXME: needs new DB where aggregator does stuff!
-# FIXME: check report generation!
+echo -n "Testing inconsistency detection... "
+TABLE=`jq -r .row_inconsistencies[0].table < test-audit.json`
+if test "x$TABLE" != "xwire-fee"
+then
+    exit_fail "Reported table wrong: $TABLE"
+fi
+DIAG=`jq -r .row_inconsistencies[0].diagnostic < test-audit.json`
+if test "x$DIAG" != "xwire fee signature invalid at given time"
+then
+    exit_fail "Reported diagnostic wrong: $DIAG"
+fi
+echo PASS
 
 # cannot easily undo aggregator, hence full reload
 echo -n "Reloading database ..."
-full_reload
+# full_reload
 echo "DONE"
 
 }

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



reply via email to

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