summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-11-15 03:19:23 +0100
committerMarcello Stanisci <stanisci.m@gmail.com>2019-11-15 03:19:23 +0100
commitbc905d753b524039f174bdd19fc260c766ec3ec6 (patch)
tree3dd4bc900b031d96ba68fd0f23566bc6082fa952
parent4170ac40d66b19b73913afdbf71bdfa33ac94e2f (diff)
downloadmerchant-bc905d753b524039f174bdd19fc260c766ec3ec6.tar.gz
merchant-bc905d753b524039f174bdd19fc260c766ec3ec6.tar.bz2
merchant-bc905d753b524039f174bdd19fc260c766ec3ec6.zip
Fix twisted test case.
It was needed to adapt the backend logic to parse wire_transfer_deadline as a relative time value.
-rw-r--r--src/backend/taler-merchant-httpd_order.c13
-rw-r--r--src/backend/taler-merchant-httpd_pay.c7
-rw-r--r--src/lib/test_merchant_api_twisted.c2
3 files changed, 12 insertions, 10 deletions
diff --git a/src/backend/taler-merchant-httpd_order.c b/src/backend/taler-merchant-httpd_order.c
index 250a2e52..0118f158 100644
--- a/src/backend/taler-merchant-httpd_order.c
+++ b/src/backend/taler-merchant-httpd_order.c
@@ -222,6 +222,7 @@ proposal_put (struct MHD_Connection *connection,
struct GNUNET_TIME_Absolute timestamp;
struct GNUNET_TIME_Absolute refund_deadline;
struct GNUNET_TIME_Absolute wire_transfer_deadline;
+ struct GNUNET_TIME_Relative wire_transfer_deadline_rel;
struct GNUNET_TIME_Absolute pay_deadline;
struct GNUNET_JSON_Specification spec[] = {
TALER_JSON_spec_amount ("amount", &total),
@@ -240,8 +241,8 @@ proposal_put (struct MHD_Connection *connection,
&refund_deadline),
GNUNET_JSON_spec_absolute_time ("pay_deadline",
&pay_deadline),
- GNUNET_JSON_spec_absolute_time ("wire_transfer_deadline",
- &wire_transfer_deadline),
+ GNUNET_JSON_spec_relative_time ("wire_transfer_deadline",
+ &wire_transfer_deadline_rel),
GNUNET_JSON_spec_end ()
};
enum GNUNET_DB_QueryStatus qs;
@@ -323,13 +324,9 @@ proposal_put (struct MHD_Connection *connection,
if (NULL == json_object_get (order,
"wire_transfer_deadline"))
{
- struct GNUNET_TIME_Absolute t;
-
- t = GNUNET_TIME_relative_to_absolute (default_wire_transfer_delay);
- (void) GNUNET_TIME_round_abs (&t);
json_object_set_new (order,
"wire_transfer_deadline",
- GNUNET_JSON_from_time_abs (t));
+ GNUNET_JSON_from_time_rel (default_wire_transfer_delay));
}
if (NULL == json_object_get (order,
@@ -475,6 +472,8 @@ proposal_put (struct MHD_Connection *connection,
"Impossible to parse the order");
}
+ wire_transfer_deadline = GNUNET_TIME_relative_to_absolute (wire_transfer_deadline_rel);
+
if (wire_transfer_deadline.abs_value_us <
refund_deadline.abs_value_us)
{
diff --git a/src/backend/taler-merchant-httpd_pay.c b/src/backend/taler-merchant-httpd_pay.c
index f178aa63..99023b8c 100644
--- a/src/backend/taler-merchant-httpd_pay.c
+++ b/src/backend/taler-merchant-httpd_pay.c
@@ -1437,6 +1437,7 @@ parse_pay (struct MHD_Connection *connection,
const char *mode;
struct TALER_MerchantPublicKeyP merchant_pub;
int res;
+ struct GNUNET_TIME_Relative wire_transfer_deadline_rel;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("mode",
&mode),
@@ -1559,8 +1560,8 @@ parse_pay (struct MHD_Connection *connection,
&pc->refund_deadline),
GNUNET_JSON_spec_absolute_time ("pay_deadline",
&pc->pay_deadline),
- GNUNET_JSON_spec_absolute_time ("wire_transfer_deadline",
- &pc->wire_transfer_deadline),
+ GNUNET_JSON_spec_relative_time ("wire_transfer_deadline",
+ &wire_transfer_deadline_rel),
GNUNET_JSON_spec_absolute_time ("timestamp",
&pc->timestamp),
TALER_JSON_spec_amount ("max_fee",
@@ -1586,6 +1587,8 @@ parse_pay (struct MHD_Connection *connection,
pc->fulfillment_url = GNUNET_strdup (fulfillment_url);
+ pc->wire_transfer_deadline = GNUNET_TIME_relative_to_absolute (wire_transfer_deadline_rel);
+
if (pc->wire_transfer_deadline.abs_value_us <
pc->refund_deadline.abs_value_us)
{
diff --git a/src/lib/test_merchant_api_twisted.c b/src/lib/test_merchant_api_twisted.c
index 09485ef7..aceb8424 100644
--- a/src/lib/test_merchant_api_twisted.c
+++ b/src/lib/test_merchant_api_twisted.c
@@ -579,7 +579,7 @@ run (void *cls,
\"fraction\":50000000},\
\"refund_deadline\":\"\\/Date(2)\\/\",\
\"pay_deadline\":\"\\/Date(1)\\/\",\
- \"wire_transfer_delay\":\"\\/Delay(30000)\\/\",\
+ \"wire_transfer_deadline\":\"\\/Delay(30000)\\/\",\
\"amount\":\
{\"currency\":\"EUR\",\
\"value\":5,\