summaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-08-20 00:49:02 -0400
committerJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-08-20 00:49:02 -0400
commit8d172853c1c7b1ca8d9dc31194c4e73e79499a80 (patch)
treef07387eb4bfa9d0733107056242f7d85954b67cc /src/testing
parentb77ef665b0f3876f2c27db2d5a9b154fa1a9ba0d (diff)
downloadmerchant-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.c41
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);
}