aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2024-08-05 00:37:46 +0200
committerChristian Grothoff <christian@grothoff.org>2024-08-05 00:37:46 +0200
commitca5d231926f9a701a8ae26ddf3ae28435f40f840 (patch)
tree0a9e5959eaa578dac5310467a14eca4a3e820c01
parent3e1a0065ffd2126f56e7b5054a386eac55b3429b (diff)
work on merchant test_kyc_api"
-rw-r--r--src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c6
-rw-r--r--src/lib/merchant_api_get_kyc.c4
-rw-r--r--src/testing/test_kyc_api.c44
-rw-r--r--src/testing/test_kyc_api.conf24
4 files changed, 65 insertions, 13 deletions
diff --git a/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c b/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
index bc803b0b..9af2c8f8 100644
--- a/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
+++ b/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
@@ -640,16 +640,14 @@ exchange_check_cb (
GNUNET_assert (
0 ==
json_array_append_new (
- kc->pending_kycs,
+ kc->timeout_kycs,
GNUNET_JSON_PACK (
GNUNET_JSON_pack_string ("exchange_url",
ekr->exchange_url),
GNUNET_JSON_pack_uint64 ("exchange_code",
ks->hr.ec),
GNUNET_JSON_pack_uint64 ("exchange_http_status",
- ks->hr.http_status),
- GNUNET_JSON_pack_string ("payto_uri",
- ekr->payto_uri))));
+ ks->hr.http_status))));
qs = TMH_db->account_kyc_set_status (
TMH_db->cls,
kc->mi->settings.id,
diff --git a/src/lib/merchant_api_get_kyc.c b/src/lib/merchant_api_get_kyc.c
index f8cf932f..0e35ee79 100644
--- a/src/lib/merchant_api_get_kyc.c
+++ b/src/lib/merchant_api_get_kyc.c
@@ -134,6 +134,10 @@ parse_kyc (struct TALER_MERCHANT_KycGetHandle *kyc,
NULL, NULL))
{
GNUNET_break (0);
+ json_dumpf (json_array_get (pends,
+ i),
+ stderr,
+ JSON_INDENT (2));
return GNUNET_SYSERR;
}
}
diff --git a/src/testing/test_kyc_api.c b/src/testing/test_kyc_api.c
index 2cacc7b8..7709ccde 100644
--- a/src/testing/test_kyc_api.c
+++ b/src/testing/test_kyc_api.c
@@ -260,6 +260,8 @@ run (void *cls,
"get-default-instance"),
CMD_EXEC_WIREWATCH (
"import-kyc-account-withdraw"),
+
+
/* Now we should get a status of pending */
TALER_TESTING_cmd_merchant_kyc_get (
"kyc-pending",
@@ -334,13 +336,33 @@ run (void *cls,
true /* keep investigating */,
GNUNET_TIME_UNIT_HOURS /* expiration */,
NULL /* successor measure: default */,
- "{\"rules\":["
- "{\"timeframe\":{\"d_us\":3600000000},"
- " \"threshold\":\"EUR:1\","
- " \"operation_type\":\"WITHDRAW\","
- " \"verboten\":true"
- "}"
- "]}" /* new rules */,
+ "{\"rules\":"
+ "["
+ " {"
+ " \"timeframe\":{\"d_us\":3600000000}"
+ " ,\"threshold\":\"EUR:1\""
+ " ,\"operation_type\":\"WITHDRAW\""
+ " ,\"verboten\":true"
+ " }"
+ " ,{"
+ " \"timeframe\":{\"d_us\":3600000000}"
+ " ,\"threshold\":\"EUR:1\""
+ " ,\"operation_type\":\"DEPOSIT\""
+ " ,\"display_priority\":65536"
+ " ,\"measures\":[\"form-measure\"]"
+ " ,\"verboten\":false"
+ " }"
+ "]" /* end rules */
+ ",\"new_measure\":\"form-measure\""
+ ",\"custom_measures\":"
+ " {"
+ " \"form-measure\":"
+ " {"
+ " \"check_name\":\"test-form\""
+ " ,\"prog_name\":\"test-form-check\""
+ " }"
+ " }" /* end custom measures */
+ "}",
"{}" /* properties */,
"suspicious",
MHD_HTTP_NO_CONTENT),
@@ -397,9 +419,12 @@ run (void *cls,
/* AML-frozen: hence nothing happened at the bank yet: */
TALER_TESTING_cmd_check_bank_empty (
"check_bank_empty-aml-2"),
- /* Now we should get a status of frozen */
+#if FIXME
+ /* Now we should get a status of KYC required */
+ // FIXME: instead, this fails because the exchange
+ // tells us no KYC is required! Why?
TALER_TESTING_cmd_merchant_kyc_get (
- "aml-frozen",
+ "aml-frozen-kyc-required",
merchant_url,
NULL, /* no instance ID */
NULL, /* no wire ref */
@@ -461,6 +486,7 @@ run (void *cls,
"post-transfer-1",
"post-transfer-aml",
NULL),
+#endif
TALER_TESTING_cmd_end ()
}; /* end of aml batch */
diff --git a/src/testing/test_kyc_api.conf b/src/testing/test_kyc_api.conf
index f648c2fb..b915a4ea 100644
--- a/src/testing/test_kyc_api.conf
+++ b/src/testing/test_kyc_api.conf
@@ -68,6 +68,21 @@ PROVIDER_ID = test-oauth2
# Outputs from this check
OUTPUTS = full_name birthdate
+[kyc-check-test-form]
+VOLUNTARY = NO
+# We use an external provider
+TYPE = FORM
+DESCRIPTION = "Test form"
+DESCRIPTION_I18N = {}
+# No context requirements
+REQUIRES =
+# Measure to execute if check failed.
+FALLBACK = manual-freeze
+# This check runs on oauth2
+FORM_NAME = full_name_and_birthdate
+# Outputs from this check
+OUTPUTS = full_name birthdate
+
# This is the "default" setting for an account if
# it has not yet triggered anything.
[kyc-check-default]
@@ -119,6 +134,15 @@ COMMAND = taler-exchange-helper-measure-test-oauth
# What measure to take if the COMMAND failed.
FALLBACK = manual-freeze
+[aml-program-test-form-check]
+DESCRIPTION = "Validates the output from the test-form and then increases all limits to EUR:1000"
+# Command that runs on the output of the form
+# to decide what rules should apply next.
+COMMAND = taler-exchange-helper-measure-test-form
+# What measure to take if the COMMAND failed.
+FALLBACK = manual-freeze
+
+
[kyc-measure-run-oauth]
# Get client ID via the OAuth test provider
CHECK_NAME = oauth-test-id