gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis] branch master updated: bugfixes in test logic, adding


From: gnunet
Subject: [taler-anastasis] branch master updated: bugfixes in test logic, adding new test without payment
Date: Fri, 21 Jan 2022 11:03:23 +0100

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

grothoff pushed a commit to branch master
in repository anastasis.

The following commit(s) were added to refs/heads/master by this push:
     new d8ef045  bugfixes in test logic, adding new test without payment
d8ef045 is described below

commit d8ef0458721116c268af7a5fc69f7f7ac3b14385
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Fri Jan 21 11:03:16 2022 +0100

    bugfixes in test logic, adding new test without payment
---
 src/cli/Makefile.am                                |   6 +
 ...tasis_reducer_recovery_enter_user_attributes.sh |   9 +-
 ...h => test_anastasis_reducer_recovery_no_pay.sh} | 238 ++-------------------
 src/reducer/anastasis_api_recovery_redux.c         |  16 +-
 4 files changed, 35 insertions(+), 234 deletions(-)

diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
index ca7bfc2..dccd9af 100644
--- a/src/cli/Makefile.am
+++ b/src/cli/Makefile.am
@@ -20,6 +20,7 @@ check_SCRIPTS = \
   test_anastasis_reducer_done_policy_review.sh \
   test_anastasis_reducer_enter_secret.sh \
   test_anastasis_reducer_recovery_enter_user_attributes.sh \
+  test_anastasis_reducer_recovery_no_pay.sh \
   test_iban.sh
 
 
@@ -31,11 +32,16 @@ TESTS = \
 EXTRA_DIST = \
   $(check_SCRIPTS) \
   test_reducer.conf \
+  test_reducer_free.conf \
   test_free_reducer.conf \
   test_anastasis_reducer_1.conf \
   test_anastasis_reducer_2.conf \
   test_anastasis_reducer_3.conf \
   test_anastasis_reducer_4.conf \
+  test_anastasis_reducer_free_1.conf \
+  test_anastasis_reducer_free_2.conf \
+  test_anastasis_reducer_free_3.conf \
+  test_anastasis_reducer_free_4.conf \
   resources/00-backup.json \
   resources/01-backup.json \
   resources/02-backup.json \
diff --git a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh 
b/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh
index d65020e..be04f96 100755
--- a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh
+++ b/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh
@@ -422,9 +422,12 @@ then
 fi
 echo " OK"
 
-echo -n "Selecting default secret"
-mv $R2FILE $R1FILE
-anastasis-reducer next < $R1FILE > $R2FILE
+echo -n "Adding provider (to ensure it is loaded)"
+anastasis-reducer -a '{"provider_url" : "http://localhost:8086/"; }' 
add_provider < $R2FILE > $R1FILE
+echo " OK"
+
+echo -n "Selecting secret to recover"
+anastasis-reducer -a '{"version": 0, "mask": 0, "provider_url" : 
"http://localhost:8086/"; }' next < $R1FILE > $R2FILE
 
 STATE=`jq -r -e .recovery_state < $R2FILE`
 if test "$STATE" != "CHALLENGE_SELECTING"
diff --git a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh 
b/src/cli/test_anastasis_reducer_recovery_no_pay.sh
similarity index 53%
copy from src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh
copy to src/cli/test_anastasis_reducer_recovery_no_pay.sh
index d65020e..10f6968 100755
--- a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh
+++ b/src/cli/test_anastasis_reducer_recovery_no_pay.sh
@@ -22,15 +22,15 @@ function cleanup()
     do
         kill $n 2> /dev/null || true
     done
-    rm -rf $CONF $WALLET_DB $R1FILE $R2FILE $B1FILE $B2FILE $TMP_DIR
+    rm -rf $CONF $R1FILE $R2FILE $B1FILE $B2FILE $TMP_DIR
     wait
 }
 
 
-CONF_1="test_anastasis_reducer_1.conf"
-CONF_2="test_anastasis_reducer_2.conf"
-CONF_3="test_anastasis_reducer_3.conf"
-CONF_4="test_anastasis_reducer_4.conf"
+CONF_1="test_anastasis_reducer_free_1.conf"
+CONF_2="test_anastasis_reducer_free_2.conf"
+CONF_3="test_anastasis_reducer_free_3.conf"
+CONF_4="test_anastasis_reducer_free_4.conf"
 
 
 # Configuration file will be edited, so we create one
@@ -39,11 +39,14 @@ CONF=`mktemp test_reducerXXXXXX.conf`
 cp test_reducer.conf $CONF
 
 TMP_DIR=`mktemp -d keys-tmp-XXXXXX`
-WALLET_DB=`mktemp test_reducer_walletXXXXXX.json`
 B1FILE=`mktemp test_reducer_stateB1XXXXXX`
 B2FILE=`mktemp test_reducer_stateB2XXXXXX`
 R1FILE=`mktemp test_reducer_stateR1XXXXXX`
 R2FILE=`mktemp test_reducer_stateR2XXXXXX`
+export B1FILE
+export B2FILE
+export R1FILE
+export R2FILE
 
 # Install cleanup handler (except for kill -9)
 trap cleanup EXIT
@@ -56,18 +59,6 @@ echo -n "Testing for anastasis-reducer ..."
 anastasis-reducer -h > /dev/null || exit_skip "anastasis-reducer 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 taler-bank-manage"
-taler-bank-manage --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 || exit_skip " MISSING"
-echo " FOUND"
-
 echo -n "Testing for anastasis-httpd"
 anastasis-httpd -h >/dev/null </dev/null || exit_skip " MISSING"
 echo " FOUND"
@@ -96,66 +87,6 @@ anastasis-dbinit -c $CONF_4 2> anastasis-dbinit_4.log
 
 echo " OK"
 
-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`
-MERCHANT_PORT=`taler-config -c $CONF -s MERCHANT -o PORT`
-MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
-BANK_PORT=`taler-config -c $CONF -s BANK -o HTTP_PORT`
-BANK_URL=http://localhost:${BANK_PORT}/
-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
-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 bank -o database -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 -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
-
-echo " OK"
-
-# Launch services
-echo -n "Launching taler services ..."
-taler-bank-manage-testing $CONF postgres:///$TALER_DB serve > taler-bank.log 
2> taler-bank.err &
-taler-exchange-secmod-eddsa -c $CONF 2> taler-exchange-secmod-eddsa.log &
-taler-exchange-secmod-rsa -c $CONF 2> taler-exchange-secmod-rsa.log &
-taler-exchange-httpd -c $CONF 2> taler-exchange-httpd.log &
-taler-merchant-httpd -c $CONF -L INFO 2> taler-merchant-httpd.log &
-taler-exchange-wirewatch -c $CONF 2> taler-exchange-wirewatch.log &
-taler-auditor-httpd -L INFO -c $CONF 2> taler-auditor-httpd.log &
-
-echo " OK"
-
 echo -n "Launching anastasis services ..."
 PREFIX="" #valgrind
 $PREFIX anastasis-httpd -c $CONF_1 2> anastasis-httpd_1.log &
@@ -163,78 +94,6 @@ $PREFIX anastasis-httpd -c $CONF_2 2> anastasis-httpd_2.log 
&
 $PREFIX anastasis-httpd -c $CONF_3 2> anastasis-httpd_3.log &
 $PREFIX anastasis-httpd -c $CONF_4 2> anastasis-httpd_4.log &
 
-# Wait for bank to be available (usually the slowest)
-for n in `seq 1 50`
-do
-    echo -n "."
-    sleep 0.2
-    OK=0
-    # bank
-    wget --tries=1 --timeout=1 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
-
-# Wait for all other taler services to be available
-for n in `seq 1 50`
-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"
-
-echo -n "Setting up keys ..."
-taler-exchange-offline -c $CONF \
-  download \
-  sign \
-  enable-account payto://x-taler-bank/localhost/Exchange \
-  enable-auditor $AUDITOR_PUB $AUDITOR_URL "TESTKUDOS Auditor" \
-  wire-fee now x-taler-bank TESTKUDOS:0.01 TESTKUDOS:0.01 \
-  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"
-
 echo -n "Waiting for anastasis services ..."
 
 # Wait for anastasis services to be available
@@ -261,14 +120,6 @@ then
 fi
 echo "OK"
 
-echo -n "Configuring merchant instance ..."
-# Setup merchant
-
-curl -H "Content-Type: application/json" -X POST -d 
'{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1",
 
"default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_ms"
 : 3600000},"default_pay_delay":{"d_ms": 3600000}}' 
http://localhost:9966/management/instances
-
-
-echo " DONE"
-
 echo -n "Running backup logic ...,"
 anastasis-reducer -b > $B1FILE
 echo -n "."
@@ -330,68 +181,9 @@ echo -n "."
 anastasis-reducer -a \
   '{"secret": { "value" : "VERYHARDT0GVESSSECRET", "mime" : "text/plain" }}' \
   enter_secret < $B1FILE > $B2FILE
-mv $B2FILE $B1FILE
-anastasis-reducer next $B1FILE $B2FILE
-echo " OK"
-
-
-echo -n "Preparing wallet"
-rm $WALLET_DB
-taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'withdrawTestBalance' \
-  "$(jq -n '
-    {
-        amount: "TESTKUDOS:100",
-        bankBaseUrl: $BANK_URL,
-        exchangeBaseUrl: $EXCHANGE_URL
-    }' \
-    --arg BANK_URL "$BANK_URL" \
-    --arg EXCHANGE_URL "$EXCHANGE_URL"
-  )" 2> /dev/null >/dev/null
-taler-wallet-cli --wallet-db=$WALLET_DB run-until-done 2>/dev/null >/dev/null
-echo " OK"
-
-echo -en "Making payments for truth uploads ... "
-OBJECT_SIZE=`jq -r -e '.payments | length' < $B2FILE`
-for ((INDEX=0; INDEX < $OBJECT_SIZE; INDEX++))
-do
-    PAY_URI=`jq --argjson INDEX $INDEX -r -e '.payments[$INDEX]' < $B2FILE`
-    # run wallet CLI
-    echo -n "$INDEX"
-    taler-wallet-cli --wallet-db=$WALLET_DB handle-uri $PAY_URI -y 2>/dev/null 
>/dev/null
-    echo -n ", "
-done
-echo "OK"
-echo -e "Running wallet run-pending..."
-taler-wallet-cli --wallet-db=$WALLET_DB run-pending 2>/dev/null >/dev/null
-echo -e "Payments done"
-
-export B2FILE
-export B1FILE
-
-echo -en "Try to upload again ..."
-$PREFIX anastasis-reducer pay $B2FILE $B1FILE
-mv $B1FILE $B2FILE
+anastasis-reducer next $B2FILE $B1FILE
 echo " OK"
 
-echo -en "Making payments for policy uploads ... "
-OBJECT_SIZE=`jq -r -e '.policy_payment_requests | length' < $B2FILE`
-for ((INDEX=0; INDEX < $OBJECT_SIZE; INDEX++))
-do
-    PAY_URI=`jq --argjson INDEX $INDEX -r -e 
'.policy_payment_requests[$INDEX].payto' < $B2FILE`
-    # run wallet CLI
-    echo -n "$INDEX"
-    taler-wallet-cli --wallet-db=$WALLET_DB handle-uri $PAY_URI -y 2>/dev/null 
>/dev/null
-    echo -n ", "
-done
-echo " OK"
-echo -en "Running wallet run-pending..."
-taler-wallet-cli --wallet-db=$WALLET_DB run-pending 2>/dev/null >/dev/null
-echo -e " payments DONE"
-
-echo -en "Try to upload again ..."
-anastasis-reducer \
-  pay < $B2FILE > $B1FILE
-echo " OK: Backup finished"
 echo -n "Final backup checks ..."
 STATE=`jq -r -e .backup_state < $B1FILE`
 if test "$STATE" != "BACKUP_FINISHED"
@@ -403,6 +195,7 @@ jq -r -e .core_secret < $B1FILE > /dev/null && exit_fail 
"'core_secret' was not
 
 echo " OK"
 
+
 echo -n "Running recovery basic logic ..."
 anastasis-reducer -r > $R1FILE
 anastasis-reducer -a \
@@ -422,9 +215,12 @@ then
 fi
 echo " OK"
 
-echo -n "Selecting default secret"
-mv $R2FILE $R1FILE
-anastasis-reducer next < $R1FILE > $R2FILE
+echo -n "Adding provider (to ensure it is loaded)"
+anastasis-reducer -a '{"provider_url" : "http://localhost:8086/"; }' 
add_provider < $R2FILE > $R1FILE
+echo " OK"
+
+echo -n "Selecting secret to recover"
+anastasis-reducer -a '{"version": 0, "mask": 0, "provider_url" : 
"http://localhost:8086/"; }' next < $R1FILE > $R2FILE
 
 STATE=`jq -r -e .recovery_state < $R2FILE`
 if test "$STATE" != "CHALLENGE_SELECTING"
diff --git a/src/reducer/anastasis_api_recovery_redux.c 
b/src/reducer/anastasis_api_recovery_redux.c
index 2cee0ec..b93b5e6 100644
--- a/src/reducer/anastasis_api_recovery_redux.c
+++ b/src/reducer/anastasis_api_recovery_redux.c
@@ -1933,16 +1933,6 @@ struct PolicyDownloadEntry
    */
   char *backend_url;
 
-  /**
-   * Salt to be used to derive the id for this provider
-   */
-  struct ANASTASIS_CRYPTO_ProviderSaltP salt;
-
-  /**
-   * Context we operate in.
-   */
-  struct RecoverSecretState *rss;
-
   /**
    * The /policy GET operation handle.
    */
@@ -2333,6 +2323,9 @@ done_secret_selecting (json_t *state,
                          NULL, NULL))
   {
     GNUNET_break (0);
+    json_dumpf (arguments,
+                stderr,
+                JSON_INDENT (2));
     ANASTASIS_redux_fail_ (cb,
                            cb_cls,
                            TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
@@ -2389,6 +2382,9 @@ done_secret_selecting (json_t *state,
   {
     struct PolicyDownloadEntry *pd = GNUNET_new (struct PolicyDownloadEntry);
 
+    pd->cb = cb;
+    pd->cb_cls = cb_cls;
+    pd->state = json_incref (state);
     pd->backend_url = GNUNET_strdup (provider_url);
     pd->recovery = ANASTASIS_recovery_begin (ANASTASIS_REDUX_ctx_,
                                              id_data,

-- 
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]