diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-11-15 03:19:23 +0100 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-11-15 03:19:23 +0100 |
commit | bc905d753b524039f174bdd19fc260c766ec3ec6 (patch) | |
tree | 3dd4bc900b031d96ba68fd0f23566bc6082fa952 | |
parent | 4170ac40d66b19b73913afdbf71bdfa33ac94e2f (diff) | |
download | merchant-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.c | 13 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_pay.c | 7 | ||||
-rw-r--r-- | src/lib/test_merchant_api_twisted.c | 2 |
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,\ |