aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bank-lib/testing_api_helpers.c36
-rw-r--r--src/include/taler_testing_bank_lib.h11
2 files changed, 47 insertions, 0 deletions
diff --git a/src/bank-lib/testing_api_helpers.c b/src/bank-lib/testing_api_helpers.c
index db813df2a..a047c2a71 100644
--- a/src/bank-lib/testing_api_helpers.c
+++ b/src/bank-lib/testing_api_helpers.c
@@ -26,6 +26,7 @@
#include "platform.h"
#include <gnunet/gnunet_util_lib.h>
#include "taler_testing_bank_lib.h"
+#include "taler_fakebank_lib.h"
/* Keep each bank account credentials at index:
* bank account number - 1 */
@@ -47,6 +48,41 @@ struct TALER_BANK_AuthenticationData AUTHS[] = {
.details.basic.password = USER_PASSWORD }
};
+
+/**
+ * Runs the Fakebank by guessing / extracting the portnumber
+ * from the base URL.
+ *
+ * @param bank_url bank's base URL.
+ * @return the fakebank process handle, or NULL if any
+ * error occurs.
+ */
+struct TALER_FAKEBANK_Handle *
+TALER_TESTING_run_fakebank (const char *bank_url)
+{
+ const char *port;
+ long pnum;
+ struct TALER_FAKEBANK_Handle *fakebankd;
+
+ port = strrchr (bank_url,
+ (unsigned char) ':');
+ if (NULL == port)
+ pnum = 80;
+ else
+ pnum = strtol (port + 1, NULL, 10);
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Starting Fakebank on port %u (%s)\n",
+ (unsigned int) pnum,
+ bank_url);
+ fakebankd = TALER_FAKEBANK_start ((uint16_t) pnum);
+ if (NULL == fakebankd)
+ {
+ GNUNET_break (0);
+ return NULL;
+ }
+ return fakebankd;
+}
+
/**
* Start the (Python) bank process. Assume the port
* is available and the database is clean. Use the "prepare
diff --git a/src/include/taler_testing_bank_lib.h b/src/include/taler_testing_bank_lib.h
index 9948a7f2d..f72b804cd 100644
--- a/src/include/taler_testing_bank_lib.h
+++ b/src/include/taler_testing_bank_lib.h
@@ -68,6 +68,17 @@ TALER_TESTING_run_bank (const char *config_filename,
const char *bank_url);
/**
+ * Runs the Fakebank by guessing / extracting the portnumber
+ * from the base URL.
+ *
+ * @param bank_url bank's base URL.
+ * @return the fakebank process handle, or NULL if any
+ * error occurs.
+ */
+struct TALER_FAKEBANK_Handle *
+TALER_TESTING_run_fakebank (const char *bank_url);
+
+/**
* Prepare the bank execution. Check if the port is available
* and reset database.
*