[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-merchant] branch master updated: fix query paid orders & add test
From: |
gnunet |
Subject: |
[taler-merchant] branch master updated: fix query paid orders & add test |
Date: |
Sat, 01 Aug 2020 09:05:23 +0200 |
This is an automated email from the git hooks/post-receive script.
jonathan-buchanan pushed a commit to branch master
in repository merchant.
The following commit(s) were added to refs/heads/master by this push:
new 859675f fix query paid orders & add test
859675f is described below
commit 859675fe134b673b99cf1d9edcbdf258798ea740
Author: Jonathan Buchanan <jonathan.russ.buchanan@gmail.com>
AuthorDate: Sat Aug 1 03:05:09 2020 -0400
fix query paid orders & add test
---
.../taler-merchant-httpd_private-get-orders.c | 43 +++++++++++++++-------
src/testing/test_merchant_api.c | 9 ++++-
2 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_private-get-orders.c
b/src/backend/taler-merchant-httpd_private-get-orders.c
index ab90c57..dc4901c 100644
--- a/src/backend/taler-merchant-httpd_private-get-orders.c
+++ b/src/backend/taler-merchant-httpd_private-get-orders.c
@@ -259,21 +259,9 @@ add_order (void *cls,
struct AddOrderState *aos = cls;
json_t *contract_terms;
struct GNUNET_HashCode h_contract_terms;
- enum GNUNET_DB_QueryStatus qs =
- TMH_db->lookup_order (TMH_db->cls,
- aos->instance_id,
- order_id,
- NULL,
- &contract_terms);
+ enum GNUNET_DB_QueryStatus qs;
bool refundable = false;
bool paid;
- if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs)
- {
- aos->result = 1;
- aos->ec_msg = "failed to lookup order in database";
- json_decref (contract_terms);
- return;
- }
{
qs = TMH_db->lookup_order_status (TMH_db->cls,
@@ -288,11 +276,38 @@ add_order (void *cls,
{
aos->result = 1;
aos->ec_msg = "failed to lookup order status in database";
- json_decref (contract_terms);
return;
}
}
+ if (paid)
+ {
+ /* if the order was paid, it must have been claimed, so use
+ lookup_contract_terms to avoid the order being deleted in the db. */
+ uint64_t os;
+ qs = TMH_db->lookup_contract_terms (TMH_db->cls,
+ aos->instance_id,
+ order_id,
+ &contract_terms,
+ &os);
+ }
+ else
+ {
+ qs = TMH_db->lookup_order (TMH_db->cls,
+ aos->instance_id,
+ order_id,
+ NULL,
+ &contract_terms);
+ }
+
+ if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs)
+ {
+ aos->result = 1;
+ aos->ec_msg = "failed to lookup order in database";
+ json_decref (contract_terms);
+ return;
+ }
+
{
struct TALER_Amount order_amount;
struct GNUNET_TIME_Absolute rd;
diff --git a/src/testing/test_merchant_api.c b/src/testing/test_merchant_api.c
index 6ea9901..b8ef13c 100644
--- a/src/testing/test_merchant_api.c
+++ b/src/testing/test_merchant_api.c
@@ -286,12 +286,14 @@ run (void *cls,
"x-taler-bank",
"",
""),
- /*TALER_TESTING_cmd_merchant_post_orders2 ("create-proposal-1-idem",
+ /*
+ TALER_TESTING_cmd_merchant_post_orders2 ("create-proposal-1-idem",
merchant_url,
MHD_HTTP_OK,
"1",
GNUNET_TIME_UNIT_ZERO_ABS,
GNUNET_TIME_UNIT_FOREVER_ABS,
+ true,
"EUR:5.0",
"x-taler-bank",
"",
@@ -365,6 +367,11 @@ run (void *cls,
true,
false,
MHD_HTTP_OK),
+ TALER_TESTING_cmd_merchant_get_orders ("get-orders-1-paid",
+ merchant_url,
+ MHD_HTTP_OK,
+ "create-proposal-1",
+ NULL),
TALER_TESTING_cmd_merchant_pay_order ("replay-simple",
merchant_url,
MHD_HTTP_OK,
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-merchant] branch master updated: fix query paid orders & add test,
gnunet <=