gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant] branch master updated: implement test for #7684


From: gnunet
Subject: [taler-merchant] branch master updated: implement test for #7684
Date: Tue, 11 Apr 2023 11:00:20 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new feaf7bae implement test for #7684
feaf7bae is described below

commit feaf7bae8baf8ec701d02374e18a6b978dcfb9f8
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Apr 11 11:00:09 2023 +0200

    implement test for #7684
---
 src/include/taler_merchant_testing_lib.h | 15 ++++++++------
 src/testing/test_kyc_api.c               | 23 +++++++++++++++++----
 src/testing/testing_api_cmd_kyc_get.c    | 34 ++++++++++++++++++++++++++------
 3 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/src/include/taler_merchant_testing_lib.h 
b/src/include/taler_merchant_testing_lib.h
index 53b44bae..89c90cf9 100644
--- a/src/include/taler_merchant_testing_lib.h
+++ b/src/include/taler_merchant_testing_lib.h
@@ -1477,15 +1477,18 @@ TALER_TESTING_cmd_tip_pickup (const char *label,
  *        of the bank account to check KYC for; NULL to check all accounts
  * @param exchange_url base URL of the exchange to check KYC status for
  * @param expected_http_status expected HTTP status
+ * @param expected_aml_state expected AML state (only effecitve if @e 
expected_http_status is #MHD_HTTP_OK)
  * @return the command
  */
 struct TALER_TESTING_Command
-TALER_TESTING_cmd_merchant_kyc_get (const char *label,
-                                    const char *merchant_url,
-                                    const char *instance_id,
-                                    const char *h_wire_ref,
-                                    const char *exchange_url,
-                                    unsigned int expected_http_status);
+TALER_TESTING_cmd_merchant_kyc_get (
+  const char *label,
+  const char *merchant_url,
+  const char *instance_id,
+  const char *h_wire_ref,
+  const char *exchange_url,
+  unsigned int expected_http_status,
+  enum TALER_AmlDecisionState expected_aml_state);
 
 
 /* ****** Templates ******* */
diff --git a/src/testing/test_kyc_api.c b/src/testing/test_kyc_api.c
index 747902ea..8cb30f8b 100644
--- a/src/testing/test_kyc_api.c
+++ b/src/testing/test_kyc_api.c
@@ -221,7 +221,8 @@ run (void *cls,
                                         NULL,
                                         NULL,
                                         EXCHANGE_URL,
-                                        MHD_HTTP_NO_CONTENT),
+                                        MHD_HTTP_NO_CONTENT,
+                                        TALER_AML_NORMAL),
     /* now we get the legi UUID */
     TALER_TESTING_cmd_merchant_get_order ("get-order-kyc",
                                           merchant_url,
@@ -236,7 +237,8 @@ run (void *cls,
                                         NULL,
                                         NULL,
                                         EXCHANGE_URL,
-                                        MHD_HTTP_ACCEPTED),
+                                        MHD_HTTP_ACCEPTED,
+                                        TALER_AML_NORMAL),
     TALER_TESTING_cmd_proof_kyc_oauth2 ("kyc-do",
                                         "kyc-pending",
                                         "kyc-provider-test-oauth2",
@@ -327,8 +329,14 @@ run (void *cls,
     CMD_EXEC_AGGREGATOR ("run-aggregator-aml-frozen"),
     /* AML-frozen: hence nothing happened at the bank yet: */
     TALER_TESTING_cmd_check_bank_empty ("check_bank_empty-aml-2"),
-
-    /* FIXME-7684: add logic to get AML state from merchant here */
+    /* Now we should get a status of frozen */
+    TALER_TESTING_cmd_merchant_kyc_get ("aml-frozen",
+                                        merchant_url,
+                                        NULL, /* no instance ID */
+                                        NULL, /* no wire ref */
+                                        EXCHANGE_URL,
+                                        MHD_HTTP_ACCEPTED,
+                                        TALER_AML_FROZEN),
     TALER_TESTING_cmd_sleep ("sleep to de-collide AML timestamps",
                              1),
     TALER_TESTING_cmd_take_aml_decision ("unfreeze",
@@ -339,6 +347,13 @@ run (void *cls,
                                          TALER_AML_NORMAL,
                                          NULL,
                                          MHD_HTTP_NO_CONTENT),
+    TALER_TESTING_cmd_merchant_kyc_get ("aml-unfrozen",
+                                        merchant_url,
+                                        NULL, /* no instance ID */
+                                        NULL, /* no wire ref */
+                                        EXCHANGE_URL,
+                                        MHD_HTTP_NO_CONTENT,
+                                        TALER_AML_NORMAL),
     CMD_EXEC_AGGREGATOR ("run-aggregator-aml-normal"),
     TALER_TESTING_cmd_check_bank_transfer (
       "check_bank_transfer-498c-post-unfreeze",
diff --git a/src/testing/testing_api_cmd_kyc_get.c 
b/src/testing/testing_api_cmd_kyc_get.c
index d2cb4519..db2da08d 100644
--- a/src/testing/testing_api_cmd_kyc_get.c
+++ b/src/testing/testing_api_cmd_kyc_get.c
@@ -72,6 +72,11 @@ struct KycGetState
    */
   unsigned int expected_http_status;
 
+  /**
+   * Expected AML state.
+   */
+  enum TALER_AmlDecisionState expected_aml_state;
+
   /**
    * Interpreter state.
    */
@@ -126,6 +131,20 @@ kyc_get_cb (void *cls,
   switch (kr->hr.http_status)
   {
   case MHD_HTTP_ACCEPTED:
+
+    if ( ( (TALER_AML_NORMAL != cs->expected_aml_state) &&
+           (0 == kr->details.kyc_status.pending_kycs_length) ) ||
+         ( (0 < kr->details.kyc_status.pending_kycs_length) &&
+           (cs->expected_aml_state !=
+            kr->details.kyc_status.pending_kycs[0].aml_status) ) )
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  "Expected AML state %u, got %u/%u\n",
+                  cs->expected_aml_state,
+                  kr->details.kyc_status.pending_kycs[0].aml_status,
+                  kr->details.kyc_status.pending_kycs_length);
+      TALER_TESTING_FAIL (cs->is);
+    }
     for (unsigned int i = 0; i<kr->details.kyc_status.pending_kycs_length; i++)
     {
       const char *url;
@@ -299,12 +318,14 @@ kyc_get_traits (void *cls,
 
 
 struct TALER_TESTING_Command
-TALER_TESTING_cmd_merchant_kyc_get (const char *label,
-                                    const char *merchant_url,
-                                    const char *instance_id,
-                                    const char *h_wire_ref,
-                                    const char *exchange_url,
-                                    unsigned int expected_http_status)
+TALER_TESTING_cmd_merchant_kyc_get (
+  const char *label,
+  const char *merchant_url,
+  const char *instance_id,
+  const char *h_wire_ref,
+  const char *exchange_url,
+  unsigned int expected_http_status,
+  enum TALER_AmlDecisionState expected_aml_state)
 {
   struct KycGetState *cs;
 
@@ -314,6 +335,7 @@ TALER_TESTING_cmd_merchant_kyc_get (const char *label,
   cs->h_wire_ref = h_wire_ref;
   cs->exchange_url = exchange_url;
   cs->expected_http_status = expected_http_status;
+  cs->expected_aml_state = expected_aml_state;
   {
     struct TALER_TESTING_Command cmd = {
       .cls = cs,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]