diff options
author | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-08-20 00:49:02 -0400 |
---|---|---|
committer | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-08-20 00:49:02 -0400 |
commit | 8d172853c1c7b1ca8d9dc31194c4e73e79499a80 (patch) | |
tree | f07387eb4bfa9d0733107056242f7d85954b67cc /src/testing | |
parent | b77ef665b0f3876f2c27db2d5a9b154fa1a9ba0d (diff) | |
download | merchant-8d172853c1c7b1ca8d9dc31194c4e73e79499a80.tar.gz merchant-8d172853c1c7b1ca8d9dc31194c4e73e79499a80.tar.bz2 merchant-8d172853c1c7b1ca8d9dc31194c4e73e79499a80.zip |
parse/test refund uri
Diffstat (limited to 'src/testing')
-rw-r--r-- | src/testing/testing_api_cmd_refund_order.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/testing/testing_api_cmd_refund_order.c b/src/testing/testing_api_cmd_refund_order.c index ab6f78ac..bf8474dd 100644 --- a/src/testing/testing_api_cmd_refund_order.c +++ b/src/testing/testing_api_cmd_refund_order.c @@ -77,10 +77,12 @@ struct RefundState * * @param cls closure * @param hr HTTP response + * @param taler_refund_uri the refund uri offered to the wallet */ static void refund_cb (void *cls, - const struct TALER_MERCHANT_HttpResponse *hr) + const struct TALER_MERCHANT_HttpResponse *hr, + const char *taler_refund_uri) { struct RefundState *ris = cls; @@ -94,6 +96,43 @@ refund_cb (void *cls, (int) hr->ec); TALER_TESTING_FAIL (ris->is); } + switch (hr->http_status) + { + case MHD_HTTP_OK: + { + struct TALER_MERCHANT_RefundUriData rud; + + if (GNUNET_OK != + TALER_MERCHANT_parse_refund_uri (taler_refund_uri, + &rud)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Taler refund uri is malformed\n"); + TALER_TESTING_interpreter_fail (ris->is); + return; + } + + if ((0 != strcmp ("localhost:8080", + rud.merchant_host)) || + (NULL != rud.merchant_prefix_path) || + (0 != strcmp (ris->order_id, + rud.order_id)) || + (NULL != rud.ssid)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Taler refund uri does not match\n"); + TALER_TESTING_interpreter_fail (ris->is); + TALER_MERCHANT_parse_refund_uri_free (&rud); + return; + } + + TALER_MERCHANT_parse_refund_uri_free (&rud); + } + break; + default: + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, + "Unhandled HTTP status.\n"); + } TALER_TESTING_interpreter_next (ris->is); } |