gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis] 02/03: worked on policy upload payment


From: gnunet
Subject: [taler-anastasis] 02/03: worked on policy upload payment
Date: Thu, 10 Dec 2020 11:29:35 +0100

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

dennis-neufeld pushed a commit to branch master
in repository anastasis.

commit dbd2459132f221cb583bcaea2d0dfc9d6df01cfc
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Wed Dec 9 19:51:20 2020 +0100

    worked on policy upload payment
---
 src/backend/anastasis-httpd_policy_upload.c    |  2 +-
 src/cli/test_anastasis_reducer_enter_secret.sh | 19 +++++++++++---
 src/lib/anastasis.c                            | 32 ++++++------------------
 src/lib/testing_api_cmd_truth_store.c          | 34 ++++++++------------------
 4 files changed, 35 insertions(+), 52 deletions(-)

diff --git a/src/backend/anastasis-httpd_policy_upload.c 
b/src/backend/anastasis-httpd_policy_upload.c
index 07ceb51..331f20a 100644
--- a/src/backend/anastasis-httpd_policy_upload.c
+++ b/src/backend/anastasis-httpd_policy_upload.c
@@ -278,7 +278,7 @@ make_payment_request (const char *order_id)
     }
 
     GNUNET_asprintf (&hdr,
-                     "%spay/%s/%s/",
+                     "%spay/%s%s/",
                      pfx,
                      hn,
                      order_id);
diff --git a/src/cli/test_anastasis_reducer_enter_secret.sh 
b/src/cli/test_anastasis_reducer_enter_secret.sh
index 7d1e753..879a10f 100755
--- a/src/cli/test_anastasis_reducer_enter_secret.sh
+++ b/src/cli/test_anastasis_reducer_enter_secret.sh
@@ -26,7 +26,7 @@ function cleanup()
 }
 
 # Install cleanup handler (except for kill -9)
-WALLET_DB=`mktemp test_reducer_walletXXXXXX.wdb`
+WALLET_DB=`mktemp test_reducer_walletXXXXXX`
 CONF=`mktemp test_reducerXXXXXX.conf`
 CONF_1=`mktemp test_reducerXXXXXX_1.conf`
 CONF_2=`mktemp test_reducerXXXXXX_2.conf`
@@ -218,6 +218,19 @@ echo $POLICY_UPLOADS
 #Pay
 echo " "
 echo "Try to pay for upload"
+#First make a withdraw to wallet
+taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'withdrawTestBalance' \
+    "$(jq -n '
+        {
+            amount: "TESTKUDOS:20",
+            bankBaseUrl: $BANK_URL,
+            exchangeBaseUrl: $EXCHANGE_URL,
+        }' \
+        --arg BANK_URL "$BANK_URL" \
+        --arg EXCHANGE_URL "$EXCHANGE_URL"
+    )"
+taler-wallet-cli --wallet-db=$WALLET_DB run-pending
+
 ARRAY_LENGTH=`jq -r -e '.recovery_document_uploads | length' < $TFILE`
 for ((INDEX=0; INDEX < $ARRAY_LENGTH; INDEX++))
 do
@@ -225,9 +238,9 @@ do
     echo "PAY_URL: $PAY_URL"
     # run wallet CLI
     echo "Running wallet"
-    taler-wallet-cli --no-throttle handle-uri $PAY_URL
+    taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB handle-uri $PAY_URL  
   
 done
-taler-wallet-cli run-pending
+taler-wallet-cli --wallet-db=$WALLET_DB run-pending
 
 
 exit 0
diff --git a/src/lib/anastasis.c b/src/lib/anastasis.c
index f1f5c01..2cb7703 100644
--- a/src/lib/anastasis.c
+++ b/src/lib/anastasis.c
@@ -1096,12 +1096,11 @@ truth_store_callback (void *cls,
       break;
     case ANASTASIS_US_PAYMENT_REQUIRED:
       {
-        /* FIXME: Payment required handling */
-        const char *m;
+        struct TALER_MERCHANT_PayUriData pd;
 
-        if (0 != strncmp (ud->details.payment_request,
-                          "taler://pay/http",
-                          strlen ("taler://pay/http")))
+        if (GNUNET_OK !=
+            TALER_MERCHANT_parse_pay_uri (ud->details.payment_request,
+                                          &pd))
         {
           GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                       "Did not find `%s' in `%s'\n",
@@ -1110,26 +1109,11 @@ truth_store_callback (void *cls,
           GNUNET_break (0);
           return;
         }
-        m = strstr (ud->details.payment_request, "/-/-/");
-        if (NULL == m)
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                      "Did not find `%s' in `%s'\n",
-                      "/-/-/",
-                      ud->details.payment_request);
-          GNUNET_break (0);
-          /* NOTE: The above is a simplifying assumption for the
-             test-logic, hitting this code merely means that
-             the assumptions for the test (i.e. no instance) are
-             not satisfied, it is not inherently the case that
-             the above token must appear in the payment request!
-
-             So if you hit this, you might just want to modify
-             the code here to handle this better! */return;
-        }
-        tu->paid_order_id = GNUNET_strdup (&m[strlen ("/-/-/")]);
+        tu->paid_order_id = GNUNET_strdup (pd.order_id);
+        TALER_MERCHANT_parse_pay_uri_free (&pd);
         GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                    "Order ID from Anastasis service is `%s'\n",
+                    "At %s:%d Order ID from Anastasis service is %s\n",
+                    __FILE__, __LINE__,
                     tu->paid_order_id);
       }
       break;
diff --git a/src/lib/testing_api_cmd_truth_store.c 
b/src/lib/testing_api_cmd_truth_store.c
index 1bba214..fb860dc 100644
--- a/src/lib/testing_api_cmd_truth_store.c
+++ b/src/lib/testing_api_cmd_truth_store.c
@@ -23,6 +23,7 @@
 #include "anastasis_testing_lib.h"
 #include <taler/taler_util.h>
 #include <taler/taler_testing_lib.h>
+#include <taler/taler_merchant_service.h>
 
 /**
  * State for a "truth store" CMD.
@@ -132,40 +133,25 @@ truth_store_cb (void *cls,
       break;
     case ANASTASIS_US_PAYMENT_REQUIRED:
       {
-        /* FIXME: Payment required handling */
-        const char *m;
+        struct TALER_MERCHANT_PayUriData pd;
 
-        if (0 != strncmp (ud->details.payment_request,
-                          "taler://pay/http",
-                          strlen ("taler://pay/http")))
+        if (GNUNET_OK !=
+            TALER_MERCHANT_parse_pay_uri (ud->details.payment_request,
+                                          &pd))
         {
           GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                       "Did not find `%s' in `%s'\n",
                       "/-/-/",
                       ud->details.payment_request);
           TALER_TESTING_interpreter_fail (tss->is);
+          GNUNET_break (0);
           return;
         }
-        m = strstr (ud->details.payment_request, "/-/-/");
-        if (NULL == m)
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                      "Did not find `%s' in `%s'\n",
-                      "/-/-/",
-                      ud->details.payment_request);
-          TALER_TESTING_interpreter_fail (tss->is);
-          /* NOTE: The above is a simplifying assumption for the
-             test-logic, hitting this code merely means that
-             the assumptions for the test (i.e. no instance) are
-             not satisfied, it is not inherently the case that
-             the above token must appear in the payment request!
-
-             So if you hit this, you might just want to modify
-             the code here to handle this better! */return;
-        }
-        tss->payment_order_id = GNUNET_strdup (&m[strlen ("/-/-/")]);
+        tss->payment_order_id = GNUNET_strdup (pd.order_id);
+        TALER_MERCHANT_parse_pay_uri_free (&pd);
         GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                    "Order ID from Anastasis service is `%s'\n",
+                    "At %s:%d Order ID from Anastasis service is %s\n",
+                    __FILE__, __LINE__,
                     tss->payment_order_id);
 
         memset (&tss->curr_hash,

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