gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: fix fakebank logic


From: gnunet
Subject: [taler-exchange] branch master updated: fix fakebank logic
Date: Thu, 16 Jan 2020 15:06:18 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 14ab704c fix fakebank logic
14ab704c is described below

commit 14ab704cde389ae8eea94f08f29ac3af955729c9
Author: Christian Grothoff <address@hidden>
AuthorDate: Thu Jan 16 15:06:09 2020 +0100

    fix fakebank logic
---
 src/bank-lib/bank_api_debit.c                | 13 ++----
 src/bank-lib/fakebank.c                      |  2 +-
 src/lib/test_bank_api.c                      |  6 +--
 src/lib/testing_api_cmd_bank_history_debit.c | 63 +++++++++++++++++++++-------
 src/lib/testing_api_cmd_bank_transfer.c      |  9 +++-
 5 files changed, 62 insertions(+), 31 deletions(-)

diff --git a/src/bank-lib/bank_api_debit.c b/src/bank-lib/bank_api_debit.c
index ea3ddeeb..5688d477 100644
--- a/src/bank-lib/bank_api_debit.c
+++ b/src/bank-lib/bank_api_debit.c
@@ -40,11 +40,6 @@ struct TALER_BANK_DebitHistoryHandle
    */
   char *request_url;
 
-  /**
-   * The base URL of the bank.
-   */
-  char *bank_base_url;
-
   /**
    * Handle for the request.
    */
@@ -220,7 +215,7 @@ handle_history_finished (void *cls,
  * Request the debit history of the exchange's bank account.
  *
  * @param ctx curl context for the event loop
- * @param bank_base_url URL of the base INCLUDING account number
+ * @param account_base_url URL of the base INCLUDING account number
  * @param auth authentication data to use
  * @param start_row from which row on do we want to get results,
  *        use UINT64_MAX for the latest; exclusive
@@ -237,7 +232,7 @@ handle_history_finished (void *cls,
  */
 struct TALER_BANK_DebitHistoryHandle *
 TALER_BANK_debit_history (struct GNUNET_CURL_Context *ctx,
-                          const char *bank_base_url,
+                          const char *account_base_url,
                           const struct TALER_BANK_AuthenticationData *auth,
                           uint64_t start_row,
                           int64_t num_results,
@@ -269,8 +264,7 @@ TALER_BANK_debit_history (struct GNUNET_CURL_Context *ctx,
   hh = GNUNET_new (struct TALER_BANK_DebitHistoryHandle);
   hh->hcb = hres_cb;
   hh->hcb_cls = hres_cb_cls;
-  hh->bank_base_url = GNUNET_strdup (bank_base_url);
-  hh->request_url = TALER_BANK_path_to_url_ (bank_base_url,
+  hh->request_url = TALER_BANK_path_to_url_ (account_base_url,
                                              url);
 
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
@@ -317,7 +311,6 @@ TALER_BANK_debit_history_cancel (struct 
TALER_BANK_DebitHistoryHandle *hh)
     hh->job = NULL;
   }
   GNUNET_free (hh->request_url);
-  GNUNET_free (hh->bank_base_url);
   GNUNET_free (hh);
 }
 
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c
index 2286d8ec..15b21ba3 100644
--- a/src/bank-lib/fakebank.c
+++ b/src/bank-lib/fakebank.c
@@ -951,7 +951,7 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
       char *debit_payto;
 
       credit_payto = TALER_payto_xtalerbank_make (h->my_baseurl,
-                                                  account);
+                                                  pos->credit_account);
       debit_payto = TALER_payto_xtalerbank_make (h->my_baseurl,
                                                  pos->debit_account);
       trans = json_pack
diff --git a/src/lib/test_bank_api.c b/src/lib/test_bank_api.c
index 21dbe74b..f950f28a 100644
--- a/src/lib/test_bank_api.c
+++ b/src/lib/test_bank_api.c
@@ -73,7 +73,7 @@ run (void *cls,
                                       &bc.exchange_auth,
                                       NULL,
                                       1),
-      TALER_TESTING_cmd_admin_add_incoming ("debit-1",
+      TALER_TESTING_cmd_admin_add_incoming ("credit-1",
                                             "KUDOS:5.01",
                                             bc.exchange_account_url,
                                             &bc.exchange_auth,
@@ -88,12 +88,12 @@ run (void *cls,
                                      &bc.exchange_auth,
                                      NULL,
                                      5),
-      TALER_TESTING_cmd_admin_add_incoming ("debit-2",
+      TALER_TESTING_cmd_admin_add_incoming ("credit-2",
                                             "KUDOS:3.21",
                                             bc.exchange_account_url,
                                             &bc.exchange_auth,
                                             bc.user42_payto),
-      TALER_TESTING_cmd_transfer ("credit-2",
+      TALER_TESTING_cmd_transfer ("debit-1",
                                   "KUDOS:3.22",
                                   bc.exchange_account_url,
                                   &bc.exchange_auth,
diff --git a/src/lib/testing_api_cmd_bank_history_debit.c 
b/src/lib/testing_api_cmd_bank_history_debit.c
index 746a4ef1..64b464af 100644
--- a/src/lib/testing_api_cmd_bank_history_debit.c
+++ b/src/lib/testing_api_cmd_bank_history_debit.c
@@ -50,7 +50,12 @@ struct History
   /**
    * URL to free.
    */
-  char *url;
+  char *c_url;
+
+  /**
+   * URL to free.
+   */
+  char *d_url;
 };
 
 
@@ -64,6 +69,11 @@ struct HistoryState
    */
   const char *account_url;
 
+  /**
+   * Payto URL of the debited account offering the "history" operation.
+   */
+  char *debit_payto;
+
   /**
    * Reference to command defining the
    * first row number we want in the result.
@@ -189,8 +199,8 @@ build_history (struct TALER_TESTING_Interpreter *is,
   struct History *h;
   const struct TALER_TESTING_Command *add_incoming_cmd;
   int inc;
-  unsigned int start;
-  unsigned int end;
+  int start;
+  int end;
   /* #GNUNET_YES whenever either no 'start' value was given for the history
    * query, or the given value is found in the list of all the CMDs. */
   int ok;
@@ -222,15 +232,15 @@ build_history (struct TALER_TESTING_Interpreter *is,
   /* AKA 'delta' */
   if (hs->num_results > 0)
   {
-    inc = 1;  /* _inc_rement */
+    inc = 1;  /* _inc_rement: go forwards */
     start = 0;
-    end = is->ip - 1;
+    end = is->ip;
   }
   else
   {
-    inc = -1;
+    inc = -1; /* decrement: we go backwards */
     start = is->ip - 1;
-    end = 0;
+    end = -1; /* range is exclusive, do look at 0! */
   }
 
   ok = GNUNET_NO;
@@ -242,7 +252,11 @@ build_history (struct TALER_TESTING_Interpreter *is,
                      total,
                      4);
   pos = 0;
-  for (unsigned int off = start; off != end + inc; off += inc)
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Checking commands %u to %u for debit history\n",
+              start,
+              end);
+  for (int off = start; off != end; off += inc)
   {
     const struct TALER_TESTING_Command *cmd = &is->commands[off];
     const uint64_t *row_id;
@@ -250,8 +264,11 @@ build_history (struct TALER_TESTING_Interpreter *is,
     const char *credit_account;
     const struct TALER_Amount *amount;
     const struct TALER_WireTransferIdentifierRawP *wtid;
-    const char *account_debit_url;
+    const char *exchange_base_url;
 
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                "Checking if command %s is relevant for debit history\n",
+                cmd->label);
     if ( (GNUNET_OK !=
           TALER_TESTING_get_trait_bank_row (cmd,
                                             &row_id)) ||
@@ -274,9 +291,12 @@ build_history (struct TALER_TESTING_Interpreter *is,
          (GNUNET_OK !=
           TALER_TESTING_get_trait_url (cmd,
                                        0,
-                                       &account_debit_url)) )
+                                       &exchange_base_url)) )
       continue; /* not an event we care about */
     /* Seek "/history" starting row.  */
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                "Command %s is relevant for debit history!\n",
+                cmd->label);
     if ( (NULL != row_id_start) &&
          (*row_id_start == *row_id) &&
          (GNUNET_NO == ok) )
@@ -288,9 +308,15 @@ build_history (struct TALER_TESTING_Interpreter *is,
     /* when 'start' was _not_ given, then ok == GNUNET_YES */
     if (GNUNET_NO == ok)
       continue; /* skip until we find the marker */
-    if (0 != strcasecmp (hs->account_url,
+    if (0 != strcasecmp (hs->debit_payto,
                          debit_account))
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                  "Account %s does not match desired account %s\n",
+                  debit_account,
+                  hs->debit_payto);
       continue; /* account missmatch */
+    }
     if (total >= GNUNET_MAX (hs->num_results,
                              -hs->num_results) )
     {
@@ -306,12 +332,14 @@ build_history (struct TALER_TESTING_Interpreter *is,
       GNUNET_array_grow (h,
                          total,
                          pos * 2);
-    h[pos].url = GNUNET_strdup (credit_account);
-    h[pos].details.credit_account_url = h[pos].url;
+    h[pos].c_url = GNUNET_strdup (credit_account);
+    h[pos].d_url = GNUNET_strdup (debit_account);
+    h[pos].details.credit_account_url = h[pos].c_url;
+    h[pos].details.debit_account_url = h[pos].d_url;
     h[pos].details.amount = *amount;
     h[pos].row_id = *row_id;
     h[pos].details.wtid = *wtid;
-    h[pos].details.debit_account_url = account_debit_url;
+    h[pos].details.exchange_base_url = exchange_base_url;
     pos++;
   }
   GNUNET_assert (GNUNET_YES == ok);
@@ -539,7 +567,11 @@ history_cleanup (void *cls,
     TALER_BANK_debit_history_cancel (hs->hh);
   }
   for (unsigned int off = 0; off<hs->total; off++)
-    GNUNET_free (hs->h[off].url);
+  {
+    GNUNET_free (hs->h[off].c_url);
+    GNUNET_free (hs->h[off].d_url);
+  }
+  GNUNET_free (hs->debit_payto);
   GNUNET_free_non_null (hs->h);
   GNUNET_free (hs);
 }
@@ -572,6 +604,7 @@ TALER_TESTING_cmd_bank_debits (const char *label,
   hs->start_row_reference = start_row_reference;
   hs->num_results = num_results;
   hs->auth = *auth;
+  hs->debit_payto = TALER_payto_xtalerbank_make2 (account_url);
 
   {
     struct TALER_TESTING_Command cmd = {
diff --git a/src/lib/testing_api_cmd_bank_transfer.c 
b/src/lib/testing_api_cmd_bank_transfer.c
index 93889091..7e89ec61 100644
--- a/src/lib/testing_api_cmd_bank_transfer.c
+++ b/src/lib/testing_api_cmd_bank_transfer.c
@@ -228,6 +228,11 @@ transfer_run (void *cls,
   void *buf;
   size_t buf_size;
 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Transfer of %s from %s to %s\n",
+              TALER_amount2s (&fts->amount),
+              fts->account_debit_url,
+              fts->payto_credit_account);
   TALER_BANK_prepare_wire_transfer (fts->payto_credit_account,
                                     &fts->amount,
                                     fts->exchange_base_url,
@@ -304,7 +309,7 @@ transfer_traits (void *cls,
   struct TransferState *fts = cls;
   struct TALER_TESTING_Trait traits[] = {
     TALER_TESTING_make_trait_url (0,
-                                  fts->account_debit_url),
+                                  fts->exchange_base_url),
     TALER_TESTING_make_trait_bank_row (&fts->serial_id),
     TALER_TESTING_make_trait_payto (TALER_TESTING_PT_CREDIT,
                                     fts->payto_credit_account),
@@ -352,7 +357,7 @@ TALER_TESTING_cmd_transfer
   fts = GNUNET_new (struct TransferState);
   fts->account_debit_url = account_base_url;
   fts->exchange_base_url = exchange_base_url;
-  fts->payto_debit_account = TALER_payto_xtalerbank_make2 (exchange_base_url);
+  fts->payto_debit_account = TALER_payto_xtalerbank_make2 (account_base_url);
   fts->payto_credit_account = payto_credit_account;
   fts->auth = *auth;
   fts->wtid = *wtid;

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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