[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.