gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: improving test-auditor.sh


From: gnunet
Subject: [taler-exchange] branch master updated: improving test-auditor.sh
Date: Sun, 15 Sep 2024 00:08:15 +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 d0a419ba5 improving test-auditor.sh
d0a419ba5 is described below

commit d0a419ba5c7ef0f5631df939e7fc40ea91dc8e20
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Sep 15 00:08:12 2024 +0200

    improving test-auditor.sh
---
 src/auditor/test-auditor.sh | 223 +++++++++++++++++---------------------------
 1 file changed, 88 insertions(+), 135 deletions(-)

diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index 6b22d739d..e08acbd08 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -775,43 +775,35 @@ function test_3() {
         "reserve-balance-summary-wrong-inconsistency" \
         "exchange_amount" "TESTKUDOS:0.01"
 
-    #TODO: we receive 22.96 instead of 0 - check what it should be
-    #call_endpoint "balances" "reserves_reserve_loss"
-    #WIRED=$(jq -r .balances[0].balance_value < 
"${MY_TMP_DIR}/reserves_reserve_loss.json")
-    #if [ "$WIRED" != "TESTKUDOS:0" ]
-    #then
-    #    exit_fail "Wrong total loss from insufficient balance, got $WIRED"
-    #fi
-    #TODO: fix helper wire
-    #ROW=$(jq -e .reserve_in_amount_inconsistencies[0].row < 
test-audit-wire.json")
-    #if [ "$ROW" != 1 ]
-    #then
-    #    exit_fail "Row wrong, got $ROW"
-    #fi
-
-    #WIRED=$(jq -r 
.reserve_in_amount_inconsistencies[0].amount_exchange_expected < 
test-audit-wire.json")
-    #if [ "$WIRED" != "TESTKUDOS:15" ]
-    #then
-    #    exit_fail "Wrong amount_exchange_expected, got $WIRED"
-    #fi
-
-    #WIRED=$(jq -r .reserve_in_amount_inconsistencies[0].amount_wired < 
test-audit-wire.json")
-    #if [ "$WIRED" != "TESTKUDOS:10" ]
-    #then
-    #    exit_fail "Wrong amount_wired, got $WIRED"
-    #fi
+    call_endpoint "balances"
+    check_balance \
+        "reserves_reserve_loss" \
+        "TESTKUDOS:0" \
+        "Wrong total loss from insufficient balance"
 
-    #WIRED=$(jq -r .total_wire_in_delta_minus < test-audit-wire.json")
-    #if [ "$WIRED" != "TESTKUDOS:5" ]
-    #then
-    #    exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
-    #fi
+    echo -n "Testing inconsistency detection ... "
+    check_report \
+        "reserve-in-inconsistency" \
+        "row_id" 1
+    echo -n "Testing inconsistency detection amount wired ... "
+    check_report \
+        "reserve-in-inconsistency" \
+        "amount_wired" "TESTKUDOS:10"
+    echo -n "Testing inconsistency detection amount expected ... "
+    check_report \
+        "reserve-in-inconsistency" \
+        "amount_exchange_expected" "TESTKUDOS:15"
 
-    #WIRED=$(jq -r .total_wire_in_delta_plus < test-audit-wire.json")
-    #if [ "$WIRED" != "TESTKUDOS:0" ]
-    #then
-    #    exit_fail "Wrong total wire_in_delta_plus, got $WIRED"
-    #fi
+    echo -n "Checking wire credit balance minus ... "
+    check_balance \
+        "total_bad_amount_in_minus" \
+        "TESTKUDOS:5" \
+        "Wrong total_bad_amount_in_minus"
+    echo -n "Checking wire credit balance plus ... "
+    check_balance \
+        "total_bad_amount_in_plus" \
+        "TESTKUDOS:0" \
+        "Wrong total_bad_amount_in_plus"
 
     # Undo database modification
     echo "UPDATE exchange.reserves_in SET credit.val=10 WHERE 
reserve_in_serial_id=1" | psql -Aqt "$DB"
@@ -991,20 +983,11 @@ function test_7() {
     run_audit
     check_auditor_running
 
-    call_endpoint "bad-sig-losses"
-    OP=$(jq -r .bad_sig_losses[0].operation < 
"${MY_TMP_DIR}/bad-sig-losses.json")
-    if [ "$OP" != "withdraw" ]
-    then
-        exit_fail "Wrong operation, got $OP"
-    fi
-
-    call_endpoint "balances" "reserves_total_bad_sig_loss"
-    LOSS=$(jq -r .bad_sig_losses[0].loss < "${MY_TMP_DIR}/bad-sig-losses.json")
-    LOSS_TOTAL=$(jq -r .balances[0].balance_value < 
"${MY_TMP_DIR}/reserves_total_bad_sig_loss.json")
-    if [ "$LOSS" != "$LOSS_TOTAL" ]
-    then
-        exit_fail "Expected loss $LOSS and total loss $LOSS_TOTAL do not match"
-    fi
+    echo -n "Checking bad signature was detected ..."
+    check_report \
+        "bad-sig-losses" \
+        "operation" "withdraw"
+    echo -n "Checking loss was reported ..."
     if [ "$A_FRAC" != 0 ]
     then
         if [ "$A_FRAC" -lt 10 ]
@@ -1013,16 +996,18 @@ function test_7() {
         else
             A_PREV=""
         fi
-        if [ "$LOSS" != "TESTKUDOS:$A_VAL.$A_PREV$A_FRAC" ]
-        then
-            exit_fail "Expected loss TESTKUDOS:$A_VAL.$A_PREV$A_FRAC but got 
$LOSS"
-        fi
+        EXPECTED_LOSS="TESTKUDOS:$A_VAL.$A_PREV$A_FRAC"
     else
-        if [ "$LOSS" != "TESTKUDOS:$A_VAL" ]
-        then
-            exit_fail "Expected loss TESTKUDOS:$A_VAL but got $LOSS"
-        fi
+        EXPECTED_LOSS="TESTKUDOS:$A_VAL"
     fi
+    check_report \
+        "bad-sig-losses" \
+        "loss" "$EXPECTED_LOSS"
+    echo "Checking loss was totaled up ..."
+    check_balance \
+        "reserves_total_bad_sig_loss" \
+        "$EXPECTED_LOSS" \
+        "wrong total bad sig loss"
 
     # Undo:
     echo "UPDATE exchange.reserves_out SET reserve_sig='$OLD_SIG' WHERE 
h_blind_ev='$HBE'" | psql -Aqt "$DB"
@@ -1272,22 +1257,16 @@ function test_12() {
     run_audit
     check_auditor_running
 
-    echo -n "Testing hung refresh detection... "
-
-    call_endpoint "refreshes-hanging"
     call_endpoint "balances"
-    call_endpoint "balances" "total_refresh_hanging"
-    HANG=$(jq -er .refreshes_hanging[0].amount < 
"${MY_TMP_DIR}/refreshes-hanging.json")
-    TOTAL_HANG=$(jq -er .balances[0].balance_value < 
"${MY_TMP_DIR}/total_refresh_hanging.json")
-    if [ "$HANG" = "TESTKUDOS:0" ]
-    then
-        exit_fail "Hanging amount zero"
-    fi
-    if [ "$TOTAL_HANG" = "TESTKUDOS:0" ]
-    then
-        exit_fail "Total hanging amount zero"
-    fi
-    echo "PASS"
+    echo -n "Checking hanging refresh detected ... "
+    check_report_neg \
+        "refreshes-hanging" \
+        "amount" "TESTKUDOS:0"
+    echo -n "Checking total balance updated ... "
+    check_not_balance \
+        "total_refresh_hanging" \
+        "TESTKUDOS:0" \
+        "Hanging amount zero"
 
     # cannot easily undo DELETE, hence full reload
     full_reload
@@ -1311,27 +1290,18 @@ function test_13() {
 
     echo -n "Testing inconsistency detection... "
 
-    call_endpoint "bad-sig-losses"
-    call_endpoint "balances" "coin_irregular_loss"
-
-    OP=$(jq -er .bad_sig_losses[0].operation < 
"${MY_TMP_DIR}/bad-sig-losses.json")
-    if [ "$OP" != "melt" ]
-    then
-        exit_fail "Operation wrong, got $OP"
-    fi
-
-    LOSS=$(jq -er .bad_sig_losses[0].loss < 
"${MY_TMP_DIR}/bad-sig-losses.json")
-    TOTAL_LOSS=$(jq -er .balances[0].balance_value < 
"${MY_TMP_DIR}/coin_irregular_loss.json")
-    if [ "$LOSS" != "$TOTAL_LOSS" ]
-    then
-        exit_fail "Loss inconsistent, got $LOSS and $TOTAL_LOSS"
-    fi
-    if [ "$TOTAL_LOSS" = "TESTKUDOS:0" ]
-    then
-        exit_fail "Loss zero"
-    fi
-
-    echo "PASS"
+    check_report \
+        "bad-sig-losses" \
+        "operation" "melt"
+    echo -n "Checking loss amount reported ..."
+    check_report \
+        "bad-sig-losses" \
+        "loss" "TESTKUDOS:3.96"
+    echo -n "Checking loss amount totaled ..."
+    check_balance \
+        "coin_irregular_loss" \
+        "TESTKUDOS:3.96" \
+        "Loss inconsistent"
 
     # cannot easily undo DELETE, hence full reload
     full_reload
@@ -1354,20 +1324,14 @@ function test_14() {
     post_audit
     check_auditor_running
 
-    call_endpoint "row-inconsistency"
-
-    echo -n "Testing inconsistency detection... "
-    TABLE=$(jq -r .row_inconsistency[0].row_table < 
"${MY_TMP_DIR}/row-inconsistency.json")
-    if [ "$TABLE" != "wire-fee" ]
-    then
-        exit_fail "Reported table wrong: $TABLE"
-    fi
-    DIAG=$(jq -r .row_inconsistency[0].diagnostic < 
"${MY_TMP_DIR}/row-inconsistency.json")
-    if [ "$DIAG" != "wire fee signature invalid at given time" ]
-    then
-        exit_fail "Reported diagnostic wrong: $DIAG"
-    fi
-    echo "PASS"
+    echo -n "Checking wire-fee inconsistency was detected ..."
+    check_report \
+        "row-inconsistency" \
+        "row_table" "wire-fee"
+    echo -n "Checking diagnostic was set correctly ..."
+    check_report \
+        "row-inconsistency" \
+        "diagnostic" "wire fee signature invalid at given time"
 
     # cannot easily undo aggregator, hence full reload
     full_reload
@@ -1389,15 +1353,10 @@ function test_15() {
     run_audit
     check_auditor_running
 
-    call_endpoint "bad-sig-losses"
-
-    echo -n "Testing inconsistency detection... "
-    OP=$(jq -r .bad_sig_losses[0].operation < 
"${MY_TMP_DIR}/bad-sig-losses.json")
-    if [ "$OP" != "deposit" ]
-    then
-        exit_fail "Reported operation wrong: $OP"
-    fi
-    echo "PASS"
+    echo -n "Checking broken deposit signature detected ..."
+    check_report \
+        "bad-sig-losses" \
+        "operation" "deposit"
 
     # Restore DB
     echo "UPDATE exchange.batch_deposits SET wire_salt='$SALT' WHERE 
batch_deposit_serial_id=1;" \
@@ -1543,45 +1502,39 @@ function test_18() {
     run_audit
     check_auditor_running
 
-    call_endpoint "reserve-balance-summary-wrong-inconsistency"
-    call_endpoint "emergency"
-    call_endpoint "emergency-by-count"
-    call_endpoint "amount-arithmetic-inconsistency"
-    call_endpoint "balances" "coins_emergencies_loss_by_count"
-    call_endpoint "balances" "coins_emergencies_loss"
-
     echo -n "Testing emergency detection... "
+    call_endpoint "reserve-balance-summary-wrong-inconsistency"
     jq -e .reserve_balance_summary_wrong_inconsistency[0] \
        < "${MY_TMP_DIR}/reserve-balance-summary-wrong-inconsistency.json" \
        > /dev/null \
         || exit_fail "Reserve balance inconsistency not detected"
+    call_endpoint "emergency"
     jq -e .emergency[0] \
        < "${MY_TMP_DIR}/emergency.json" \
        > /dev/null \
         || exit_fail "Emergency not detected"
+    call_endpoint "emergency-by-count"
     jq -e .emergency_by_count[0] \
        < "${MY_TMP_DIR}/emergency-by-count.json" \
        > /dev/null \
         || exit_fail "Emergency by count not detected"
+    call_endpoint "amount-arithmetic-inconsistency"
     jq -e .amount_arithmetic_inconsistency[0] \
        < "${MY_TMP_DIR}/amount-arithmetic-inconsistency.json" \
        > /dev/null \
         || exit_fail "Escrow balance calculation impossibility not detected"
     echo "PASS"
 
+    echo -n "Testing loss calculation by count... "
+    check_not_balance \
+        "coins_emergencies_loss_by_count" \
+        "TESTKUDOS:0" \
+        "Emergency by count loss not reported"
     echo -n "Testing loss calculation... "
-    AMOUNT=$(jq -r .balances[0].balance_value < 
"${MY_TMP_DIR}/coins_emergencies_loss_by_count.json")
-    if [ "$AMOUNT" == "TESTKUDOS:0" ]
-    then
-        exit_fail "Reported amount wrong: $AMOUNT"
-    fi
-    AMOUNT=$(jq -r .balances[0].balance_value < 
"${MY_TMP_DIR}/coins_emergencies_loss.json")
-    if [ "$AMOUNT" == "TESTKUDOS:0" ]
-    then
-        exit_fail "Reported amount wrong: $AMOUNT"
-    fi
-    echo "PASS"
-
+    check_not_balance \
+        "coins_emergencies_loss" \
+        "TESTKUDOS:0" \
+        "Emergency loss not reported"
     # cannot easily undo broad DELETE operation, hence full reload
     full_reload
     stop_auditor_httpd

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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