summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-11-07 14:12:54 +0100
committerChristian Grothoff <christian@grothoff.org>2021-11-07 14:12:54 +0100
commit659cd4439d03f7a2a5617f91dc90554b3c5ee2b6 (patch)
tree98b943d01e6a689e715acc03f634fb993d433226
parent121bfe3659c988f0aab070b3ae291b7b6f13f8f7 (diff)
downloadexchange-659cd4439d03f7a2a5617f91dc90554b3c5ee2b6.tar.gz
exchange-659cd4439d03f7a2a5617f91dc90554b3c5ee2b6.tar.bz2
exchange-659cd4439d03f7a2a5617f91dc90554b3c5ee2b6.zip
expose KYC traits for withdraw/get deposits commands
-rw-r--r--src/include/taler_testing_lib.h1
-rw-r--r--src/testing/testing_api_cmd_deposits_get.c8
-rw-r--r--src/testing/testing_api_cmd_withdraw.c11
3 files changed, 18 insertions, 2 deletions
diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h
index c5530f0f5..65f4e40a7 100644
--- a/src/include/taler_testing_lib.h
+++ b/src/include/taler_testing_lib.h
@@ -2368,6 +2368,7 @@ TALER_TESTING_get_trait (const struct TALER_TESTING_Trait *traits,
op (taler_uri, const char *) \
op (payto_uri, const char *) \
op (row, const uint64_t) \
+ op (payment_target_uuid, const uint64_t) \
op (array_length, const unsigned int) \
op (credit_payto_uri, const char *) \
op (debit_payto_uri, const char *) \
diff --git a/src/testing/testing_api_cmd_deposits_get.c b/src/testing/testing_api_cmd_deposits_get.c
index 389d46604..df505044d 100644
--- a/src/testing/testing_api_cmd_deposits_get.c
+++ b/src/testing/testing_api_cmd_deposits_get.c
@@ -50,6 +50,12 @@ struct TrackTransactionState
unsigned int expected_response_code;
/**
+ * Set to the KYC UUID *if* the exchange replied with
+ * a request for KYC (#MHD_HTTP_ACCEPTED).
+ */
+ uint64_t kyc_uuid;
+
+ /**
* Reference to any operation that can provide a transaction.
* Will be the transaction to track.
*/
@@ -147,6 +153,7 @@ deposit_wtid_cb (void *cls,
break;
case MHD_HTTP_ACCEPTED:
/* allowed, nothing to check here */
+ tts->kyc_uuid = dr->details.accepted.payment_target_uuid;
break;
case MHD_HTTP_NOT_FOUND:
/* allowed, nothing to check here */
@@ -306,6 +313,7 @@ track_transaction_traits (void *cls,
struct TrackTransactionState *tts = cls;
struct TALER_TESTING_Trait traits[] = {
TALER_TESTING_make_trait_wtid (&tts->wtid),
+ TALER_TESTING_make_trait_payment_target_uuid (&tts->kyc_uuid),
TALER_TESTING_trait_end ()
};
diff --git a/src/testing/testing_api_cmd_withdraw.c b/src/testing/testing_api_cmd_withdraw.c
index aa77cb1e1..a9c599a40 100644
--- a/src/testing/testing_api_cmd_withdraw.c
+++ b/src/testing/testing_api_cmd_withdraw.c
@@ -127,6 +127,12 @@ struct WithdrawState
struct GNUNET_TIME_Relative total_backoff;
/**
+ * Set to the KYC UUID *if* the exchange replied with
+ * a request for KYC.
+ */
+ uint64_t kyc_uuid;
+
+ /**
* Expected HTTP response code to the request.
*/
unsigned int expected_response_code;
@@ -253,7 +259,7 @@ reserve_withdraw_cb (void *cls,
break;
case MHD_HTTP_ACCEPTED:
/* nothing to check */
- /* TODO: trait for returned uuid! */
+ ws->kyc_uuid = wr->details.accepted.payment_target_uuid;
break;
case MHD_HTTP_FORBIDDEN:
/* nothing to check */
@@ -287,7 +293,7 @@ reserve_withdraw_cb (void *cls,
* @param[out] idx where we set $INDEX
* @return #GNUNET_SYSERR if $INDEX is present but not numeric
*/
-static int
+static enum GNUNET_GenericReturnValue
parse_coin_reference (const char *coin_reference,
char **cref,
unsigned int *idx)
@@ -528,6 +534,7 @@ withdraw_traits (void *cls,
TALER_TESTING_make_trait_reserve_priv (reserve_priv),
TALER_TESTING_make_trait_reserve_pub (reserve_pub),
TALER_TESTING_make_trait_amount (&ws->amount),
+ TALER_TESTING_make_trait_payment_target_uuid (&ws->kyc_uuid),
TALER_TESTING_make_trait_exchange_url (
(const char **) &ws->exchange_url),
TALER_TESTING_trait_end ()