gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-exchange] branch master updated: make fakebank_url m


From: gnunet
Subject: [GNUnet-SVN] [taler-exchange] branch master updated: make fakebank_url more robust
Date: Sun, 21 Jan 2018 20:10:13 +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 de092c2  make fakebank_url more robust
de092c2 is described below

commit de092c2c2b4184e5276923a92e19a859c1cc07aa
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Jan 21 20:10:05 2018 +0100

    make fakebank_url more robust
---
 src/exchange-lib/test_exchange_api_new.c | 40 +++++++++++++----------------
 src/exchange-lib/testing_api_helpers.c   | 43 ++++++++++++++++++++++++++++++++
 src/include/taler_testing_lib.h          | 11 ++++++++
 3 files changed, 72 insertions(+), 22 deletions(-)

diff --git a/src/exchange-lib/test_exchange_api_new.c 
b/src/exchange-lib/test_exchange_api_new.c
index 077115a..32e1ad3 100644
--- a/src/exchange-lib/test_exchange_api_new.c
+++ b/src/exchange-lib/test_exchange_api_new.c
@@ -30,16 +30,17 @@
 #include "taler_fakebank_lib.h"
 #include "taler_testing_lib.h"
 
-
 /**
- * Is the configuration file is set to include wire format 'test'?
+ * Configuration file we use.  One (big) configuration is used
+ * for the various components for this test.
  */
-#define WIRE_TEST 1
+#define CONFIG_FILE "test_exchange_api.conf"
 
 /**
- * Is the configuration file is set to include wire format 'sepa'?
+ * URL of the fakebank.  Obtained from CONFIG_FILE's 
"exchange-wire-test:BANK_URI" option.
  */
-#define WIRE_SEPA 1
+static char *fakebank_url;
+
 
 /**
  * Account number of the exchange at the bank.
@@ -52,41 +53,37 @@
 #define USER_ACCOUNT_NO 42
 
 /**
- *
+ * User name. Never checked by fakebank.
  */
 #define USER_LOGIN_NAME "user42"
 
 /**
- *
+ * User password. Never checked by fakebank.
  */
 #define USER_LOGIN_PASS "pass42"
 
 /**
+ * Execute the taler-exchange-wirewatch command with
+ * our configuration file.
  *
- */
-#define FAKEBANK_URL "http://localhost:8082/";
-
-/**
- *
- */
-#define CONFIG_FILE "test_exchange_api.conf"
-
-/**
- *
+ * @param label label to use for the command.
  */
 #define CMD_EXEC_WIREWATCH(label) \
    TALER_TESTING_cmd_exec_wirewatch (label, CONFIG_FILE)
 
 /**
+ * Run wire transfer of funds from some user's account to the
+ * exchange.
  *
+ * @param label label to use for the command.
+ * @param amount amount to transfer, i.e. "EUR:1"
  */
 #define CMD_TRANSFER_TO_EXCHANGE(label,amount) \
    TALER_TESTING_cmd_fakebank_transfer (label, amount, \
-     FAKEBANK_URL, USER_ACCOUNT_NO, EXCHANGE_ACCOUNT_NO, \
+     fakebank_url, USER_ACCOUNT_NO, EXCHANGE_ACCOUNT_NO, \
      USER_LOGIN_NAME, USER_LOGIN_PASS)
 
 
-
 /**
  * Main function that will tell the interpreter what commands to run.
  *
@@ -105,7 +102,7 @@ run (void *cls,
 
   TALER_TESTING_run_with_fakebank (is,
                                    commands,
-                                   FAKEBANK_URL);
+                                   fakebank_url);
 }
 
 
@@ -119,8 +116,7 @@ main (int argc,
   GNUNET_log_setup ("test-exchange-api-new",
                     "INFO",
                     NULL);
-  if (GNUNET_OK !=
-      TALER_TESTING_url_port_free (FAKEBANK_URL))
+  if (NULL == (fakebank_url = TALER_TESTING_prepare_fakebank (CONFIG_FILE)))
     return 77;
   TALER_TESTING_cleanup_files (CONFIG_FILE);
   switch (TALER_TESTING_prepare_exchange (CONFIG_FILE))
diff --git a/src/exchange-lib/testing_api_helpers.c 
b/src/exchange-lib/testing_api_helpers.c
index fd3d2dd..2d1e866 100644
--- a/src/exchange-lib/testing_api_helpers.c
+++ b/src/exchange-lib/testing_api_helpers.c
@@ -95,6 +95,7 @@ TALER_TESTING_prepare_exchange (const char *config_filename)
     GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
                                "exchange",
                                "PORT");
+    GNUNET_CONFIGURATION_destroy (cfg);
     return GNUNET_NO;
   }
   GNUNET_CONFIGURATION_destroy (cfg);
@@ -324,4 +325,46 @@ TALER_TESTING_url_port_free (const char *url)
   return GNUNET_OK;
 }
 
+
+/**
+ * Prepare launching a fakebank.  Check that the configuration
+ * file has the right option, and that the port is avaiable.
+ * If everything is OK, return the configured URL of the fakebank.
+ *
+ * @param config_filename configuration file to use
+ * @return NULL on error, fakebank URL otherwise
+ */
+char *
+TALER_TESTING_prepare_fakebank (const char *config_filename)
+{
+  struct GNUNET_CONFIGURATION_Handle *cfg;
+  char *fakebank_url;
+
+  cfg = GNUNET_CONFIGURATION_create ();
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_load (cfg,
+                                 config_filename))
+    return NULL;
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_string (cfg,
+                                             "exchange-wire-test",
+                                             "BANK_URI",
+                                             &fakebank_url))
+  {
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_WARNING,
+                               "exchange-wire-test",
+                               "BANK_URI");
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return NULL;
+  }
+  GNUNET_CONFIGURATION_destroy (cfg);
+  if (GNUNET_OK !=
+      TALER_TESTING_url_port_free (fakebank_url))
+  {
+    GNUNET_free (fakebank_url);
+    return NULL;
+  }
+  return fakebank_url;
+}
+
 /* end of testing_api_helpers.c */
diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h
index 709139b..2a95ff6 100644
--- a/src/include/taler_testing_lib.h
+++ b/src/include/taler_testing_lib.h
@@ -71,6 +71,17 @@ int
 TALER_TESTING_url_port_free (const char *url);
 
 
+/**
+ * Prepare launching a fakebank.  Check that the configuration
+ * file has the right option, and that the port is avaiable.
+ * If everything is OK, return the configured URL of the fakebank.
+ *
+ * @param config_filename configuration file to use
+ * @return NULL on error, fakebank URL otherwise
+ */
+char *
+TALER_TESTING_prepare_fakebank (const char *config_filename);
+
 
 /* ******************* Generic interpreter logic ****************** */
 

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



reply via email to

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