summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--contrib/Makefile.am3
-rwxr-xr-xcontrib/taler-nexus-prepare128
-rw-r--r--src/include/taler_testing_lib.h18
-rw-r--r--src/json/json_wire.c13
-rw-r--r--src/json/test_json_wire.c40
-rw-r--r--src/lib/exchange_api_refund.c1
-rw-r--r--src/testing/test_bank_api.c54
-rw-r--r--src/testing/test_bank_api_nexus.conf8
-rw-r--r--src/testing/testing_api_cmd_deposits_get.c2
-rw-r--r--src/testing/testing_api_helpers_bank.c187
11 files changed, 328 insertions, 128 deletions
diff --git a/configure.ac b/configure.ac
index c8a824f76..a51b32475 100644
--- a/configure.ac
+++ b/configure.ac
@@ -180,8 +180,6 @@ AS_IF([test "x$curl" = x1],[
AC_CHECK_HEADER([curl/curl.h],
AC_CHECK_DECLS(CURLINFO_TLS_SESSION,[curl=1],[curl=0],[[#include <curl/curl.h>]]),
[curl=0])
- # need libcurl-gnutls.so, everything else is not acceptable
- AC_CHECK_LIB([curl-gnutls],[curl_easy_getinfo],,[curl=0])
# cURL must support CURLINFO_TLS_SESSION, version >= 7.34
])
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 2e1160f53..b706202d7 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -27,7 +27,8 @@ rdata_DATA = \
bin_SCRIPTS = \
taler-bank-manage-testing \
- taler-exchange-revoke
+ taler-exchange-revoke \
+ taler-nexus-prepare
EXTRA_DIST = \
$(bin_SCRIPTS) \
diff --git a/contrib/taler-nexus-prepare b/contrib/taler-nexus-prepare
new file mode 100755
index 000000000..66a0b1c1e
--- /dev/null
+++ b/contrib/taler-nexus-prepare
@@ -0,0 +1,128 @@
+#!/usr/bin/env python3
+# This file is in the public domain.
+
+from requests import get, post
+from subprocess import call
+import base64
+
+# EBICS details
+EBICS_URL = "http://localhost:5000/ebicsweb"
+HOST_ID = "HOST01"
+PARTNER_ID = "PARTNER1"
+USER_ID = "USER1"
+EBICS_VERSION = "H004"
+
+SUBSCRIBER_IBAN = "ES9121000418450200051332"
+SUBSCRIBER_BIC = "BIC"
+SUBSCRIBER_NAME = "Exchange"
+
+BANK_ACCOUNT_LABEL = "my-bank-account"
+BANK_CONNECTION_LABEL = "my-bank-connection"
+FACADE_LABEL="my-facade"
+
+USERNAME="Exchange"
+USER_AUTHORIZATION_HEADER = "basic {}".format(
+ base64.b64encode(b"Exchange:x").decode("utf-8")
+)
+
+def assertResponse(response):
+ if response.status_code != 200:
+ print("Test failed on URL: {}".format(response.url))
+ # stdout/stderr from both services is A LOT of text.
+ # Confusing to dump all that to console.
+ print("Check nexus.log and sandbox.log, probably under /tmp")
+ exit(1)
+ # Allows for finer grained checks.
+ return response
+
+# Create a nexus (super-) user
+check_call(["libeufin-nexus",
+ "superuser",
+ "--db-name", "/tmp/nexus-exchange-test.sqlite3",
+ "Exchange",
+ "--password", "x"]
+)
+
+# Create a EBICS bank connection.
+assertResponse(
+ post(
+ "http://localhost:5001/bank-connections",
+ json=dict(
+ name=BANK_CONNECTION_LABEL,
+ source="new",
+ type="ebics",
+ data=dict(
+ ebicsURL=EBICS_URL, hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID
+ ),
+ ),
+ headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+ )
+)
+
+# Create a facade
+assertResponse(
+ post(
+ "http://localhost:5001/facades",
+ json=dict(
+ name=FACADE_LABEL,
+ type="taler-wire-gateway",
+ creator=USERNAME,
+ config=dict(
+ bankAccount=BANK_ACCOUNT_LABEL,
+ bankConnection=BANK_CONNECTION_LABEL,
+ reserveTransferLevel="UNUSED",
+ intervalIncremental="UNUSED"
+ )
+ ),
+ headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+ )
+)
+
+# Create the EBICS host at the Sandbox.
+assertResponse(
+ post(
+ "http://localhost:5000/admin/ebics/host",
+ json=dict(hostID=HOST_ID, ebicsVersion=EBICS_VERSION),
+ )
+)
+
+# Create Exchange EBICS subscriber at the Sandbox.
+assertResponse(
+ post(
+ "http://localhost:5000/admin/ebics/subscribers",
+ json=dict(hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID),
+ )
+)
+
+# Create a bank account associated to the Exchange's EBICS subscriber,
+# again at the Sandbox.
+assertResponse(
+ post(
+ "http://localhost:5000/admin/ebics/bank-accounts",
+ json=dict(
+ subscriber=dict(hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID),
+ iban=SUBSCRIBER_IBAN,
+ bic=SUBSCRIBER_BIC,
+ name=SUBSCRIBER_NAME,
+ label=BANK_ACCOUNT_LABEL,
+ ),
+ )
+)
+
+# 'connect' to the bank: upload+download keys.
+assertResponse(
+ post(
+ "http://localhost:5001/bank-connections/{}/connect".format(BANK_CONNECTION_LABEL),
+ json=dict(),
+ headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+ )
+)
+
+# Download bank accounts.
+assertResponse(
+ post(
+ "http://localhost:5001/bank-connections/{}/ebics/import-accounts".format(BANK_CONNECTION_LABEL),
+ json=dict(),
+ headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
+ )
+)
diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h
index f81acb99d..d4251364f 100644
--- a/src/include/taler_testing_lib.h
+++ b/src/include/taler_testing_lib.h
@@ -111,6 +111,20 @@ struct TALER_TESTING_DatabaseConnection
struct TALER_EXCHANGEDB_Session *session;
};
+struct TALER_TESTING_LibeufinServices
+{
+ /**
+ * Nexus
+ */
+ struct GNUNET_OS_Process *nexus;
+
+ /**
+ * Sandbox
+ */
+ struct GNUNET_OS_Process *sandbox;
+
+};
+
/**
* Prepare launching an exchange. Checks that the configured
* port is available, runs taler-exchange-keyup,
@@ -835,8 +849,8 @@ TALER_TESTING_run_bank (const char *config_filename,
* @return the process, or NULL if the process could not
* be started.
*/
-struct GNUNET_OS_Process *
-TALER_TESTING_run_nexus (const struct TALER_TESTING_BankConfiguration *bc);
+struct TALER_TESTING_LibeufinServices
+TALER_TESTING_run_libeufin (const struct TALER_TESTING_BankConfiguration *bc);
/**
diff --git a/src/json/json_wire.c b/src/json/json_wire.c
index 1cd3fd7d5..7d3453e16 100644
--- a/src/json/json_wire.c
+++ b/src/json/json_wire.c
@@ -281,7 +281,15 @@ validate_iban (const char *iban)
j++;
}
for (j = 0; '\0' != nbuf[j]; j++)
- GNUNET_assert (isdigit ( (unsigned char) nbuf[j]));
+ {
+ if (! isdigit ( (unsigned char) nbuf[j]))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "IBAN `%s' didn't convert to numeric format\n",
+ iban);
+ return GNUNET_NO;
+ }
+ }
GNUNET_assert (sizeof(dividend) >= 8);
remainder = 0;
for (unsigned int i = 0; i<j; i += 16)
@@ -335,7 +343,8 @@ validate_payto_iban (const char *account_url)
IBAN_PREFIX,
strlen (IBAN_PREFIX)))
return GNUNET_NO;
- iban = &account_url[strlen (IBAN_PREFIX)];
+
+ iban = strrchr (account_url, '/') + 1;
#undef IBAN_PREFIX
q = strchr (iban,
'?');
diff --git a/src/json/test_json_wire.c b/src/json/test_json_wire.c
index 2725173b2..75208c40a 100644
--- a/src/json/test_json_wire.c
+++ b/src/json/test_json_wire.c
@@ -30,9 +30,12 @@ main (int argc,
{
struct TALER_MasterPublicKeyP master_pub;
struct TALER_MasterPrivateKeyP master_priv;
- json_t *wire;
- const char *payto = "payto://x-taler-bank/42";
- char *p;
+ json_t *wire_xtalerbank;
+ json_t *wire_iban;
+ const char *payto_xtalerbank = "payto://x-taler-bank/42";
+ const char *payto_iban = "payto://iban/BIC-TO-BE-SKIPPED/DE89370400440532013000";
+ char *p_xtalerbank;
+ char *p_iban;
(void) argc;
(void) argv;
@@ -42,15 +45,32 @@ main (int argc,
GNUNET_CRYPTO_eddsa_key_create (&master_priv.eddsa_priv);
GNUNET_CRYPTO_eddsa_key_get_public (&master_priv.eddsa_priv,
&master_pub.eddsa_pub);
- wire = TALER_JSON_exchange_wire_signature_make (payto,
- &master_priv);
- p = TALER_JSON_wire_to_payto (wire);
- GNUNET_assert (0 == strcmp (p, payto));
- GNUNET_free (p);
+ wire_xtalerbank = TALER_JSON_exchange_wire_signature_make (payto_xtalerbank,
+ &master_priv);
+ wire_iban = TALER_JSON_exchange_wire_signature_make (payto_iban,
+ &master_priv);
+ if (NULL == wire_iban)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Could not parse payto/IBAN (%s) into 'wire object'\n",
+ payto_iban);
+ return 1;
+ }
+ p_xtalerbank = TALER_JSON_wire_to_payto (wire_xtalerbank);
+ p_iban = TALER_JSON_wire_to_payto (wire_iban);
+ GNUNET_assert (0 == strcmp (p_xtalerbank, payto_xtalerbank));
+ GNUNET_assert (0 == strcmp (p_iban, payto_iban));
+ GNUNET_free (p_xtalerbank);
+ GNUNET_free (p_iban);
+
+ GNUNET_assert (GNUNET_OK ==
+ TALER_JSON_exchange_wire_signature_check (wire_xtalerbank,
+ &master_pub));
GNUNET_assert (GNUNET_OK ==
- TALER_JSON_exchange_wire_signature_check (wire,
+ TALER_JSON_exchange_wire_signature_check (wire_iban,
&master_pub));
- json_decref (wire);
+ json_decref (wire_xtalerbank);
+ json_decref (wire_iban);
return 0;
}
diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c
index 6f91389f1..1af1f14b9 100644
--- a/src/lib/exchange_api_refund.c
+++ b/src/lib/exchange_api_refund.c
@@ -156,6 +156,7 @@ handle_refund_finished (void *cls,
.http_status = (unsigned int) response_code
};
+
rh->job = NULL;
switch (response_code)
{
diff --git a/src/testing/test_bank_api.c b/src/testing/test_bank_api.c
index 2a709fb1c..3a3fd353b 100644
--- a/src/testing/test_bank_api.c
+++ b/src/testing/test_bank_api.c
@@ -53,6 +53,15 @@ static struct GNUNET_OS_Process *bankd;
*/
static int with_fakebank;
+/**
+ * Handles to the libeufin services.
+ */
+static struct TALER_TESTING_LibeufinServices libeufin_services;
+
+/**
+ * Needed to shutdown differently.
+ */
+static int with_libeufin;
/**
* Main function that will tell the interpreter what commands to
@@ -78,6 +87,8 @@ run (void *cls,
"KUDOS:5.01",
&bc.exchange_auth,
bc.user42_payto),
+ TALER_TESTING_cmd_sleep ("Waiting 4s for 'credit-1' to settle",
+ 4),
TALER_TESTING_cmd_bank_credits ("history-1c",
&bc.exchange_auth,
NULL,
@@ -97,6 +108,9 @@ run (void *cls,
bc.user42_payto,
&wtid,
"http://exchange.example.com/"),
+
+ TALER_TESTING_cmd_sleep ("Waiting 5s for 'debit-1' to settle",
+ 5),
TALER_TESTING_cmd_bank_debits ("history-2b",
&bc.exchange_auth,
NULL,
@@ -192,8 +206,9 @@ main (int argc,
} else if (GNUNET_YES == TALER_TESTING_has_in_name (argv[0],
"_with_nexus"))
{
- TALER_LOG_DEBUG ("Running against Nexus.\n");
- cfgfile = CONFIG_FILE_FAKEBANK;
+ TALER_LOG_DEBUG ("Running with Nexus.\n");
+ with_libeufin = GNUNET_YES;
+ cfgfile = CONFIG_FILE_NEXUS;
if (GNUNET_OK != TALER_TESTING_prepare_nexus (CONFIG_FILE_NEXUS,
GNUNET_YES,
"exchange-account-2",
@@ -202,19 +217,16 @@ main (int argc,
GNUNET_break (0);
return 77;
}
- if (NULL == (bankd = TALER_TESTING_run_nexus (&bc)))
+ libeufin_services = TALER_TESTING_run_libeufin (&bc);
+ if ( (NULL == libeufin_services.nexus) || (NULL == libeufin_services.sandbox) )
{
GNUNET_break (0);
return 77;
}
- GNUNET_OS_process_kill (bankd,
- SIGKILL);
- GNUNET_OS_process_wait (bankd);
- GNUNET_OS_process_destroy (bankd);
- return 0;
}
else
{
+ /* no bank service was ever invoked. */
GNUNET_break (0);
return 77;
}
@@ -226,14 +238,32 @@ main (int argc,
rv = 1;
else
rv = 0;
+
if (GNUNET_NO == with_fakebank)
{
+ // -> pybank
+ if (GNUNET_NO == with_libeufin)
+ {
+
+ GNUNET_OS_process_kill (bankd,
+ SIGKILL);
+ GNUNET_OS_process_wait (bankd);
+ GNUNET_OS_process_destroy (bankd);
+ }
+ else // -> libeufin
+ {
+ GNUNET_OS_process_kill (libeufin_services.nexus,
+ SIGKILL);
+ GNUNET_OS_process_wait (libeufin_services.nexus);
+ GNUNET_OS_process_destroy (libeufin_services.nexus);
- GNUNET_OS_process_kill (bankd,
- SIGKILL);
- GNUNET_OS_process_wait (bankd);
- GNUNET_OS_process_destroy (bankd);
+ GNUNET_OS_process_kill (libeufin_services.sandbox,
+ SIGKILL);
+ GNUNET_OS_process_wait (libeufin_services.sandbox);
+ GNUNET_OS_process_destroy (libeufin_services.sandbox);
+ }
}
+
return rv;
}
diff --git a/src/testing/test_bank_api_nexus.conf b/src/testing/test_bank_api_nexus.conf
index 4635b2105..a437180f8 100644
--- a/src/testing/test_bank_api_nexus.conf
+++ b/src/testing/test_bank_api_nexus.conf
@@ -4,10 +4,12 @@
currency = KUDOS
[exchange-account-2]
-PAYTO_URI = payto://iban/IBAN/UNUSED
-METHOD = x-taler-bank
-WIRE_GATEWAY_URL = http://localhost:5001/taler
+PAYTO_URI = payto://iban/BIC/ES9121000418450200051332?receiver-name=Exchange
+METHOD = iban
+WIRE_GATEWAY_URL = http://localhost:5001/facades/my-facade/taler/
WIRE_GATEWAY_AUTH_METHOD = basic
+# the exchange authenticates as the 'admin' user,
+# since that makes the test preparation just easier.
USERNAME = Exchange
PASSWORD = x
diff --git a/src/testing/testing_api_cmd_deposits_get.c b/src/testing/testing_api_cmd_deposits_get.c
index 33987e161..d5617ec25 100644
--- a/src/testing/testing_api_cmd_deposits_get.c
+++ b/src/testing/testing_api_cmd_deposits_get.c
@@ -147,6 +147,8 @@ deposit_wtid_cb (void *cls,
return;
}
}
+
+
break;
case MHD_HTTP_ACCEPTED:
/* allowed, nothing to check here */
diff --git a/src/testing/testing_api_helpers_bank.c b/src/testing/testing_api_helpers_bank.c
index e8476d30d..ff5caa11b 100644
--- a/src/testing/testing_api_helpers_bank.c
+++ b/src/testing/testing_api_helpers_bank.c
@@ -104,38 +104,37 @@ TALER_TESTING_has_in_name (const char *prog,
* Start the (nexus) bank process. Assume the port
* is available and the database is clean. Use the "prepare
* bank" function to do such tasks. This function is also
- * responsible to create the exchange EBICS subscriber at
- * the nexus.
+ * responsible to create the exchange user at Nexus.
*
- * @param config_filename configuration filename. Used to
- * @return the process, or NULL if the process could not
- * be started.
+ * @return the pair of both service handles. In case of
+ * errors, each element of the pair will be set to NULL.
*/
-struct GNUNET_OS_Process *
-TALER_TESTING_run_nexus (const struct TALER_TESTING_BankConfiguration *bc)
+struct TALER_TESTING_LibeufinServices
+TALER_TESTING_run_libeufin (const struct TALER_TESTING_BankConfiguration *bc)
{
- struct GNUNET_OS_Process *bank_proc;
+ struct GNUNET_OS_Process *nexus_proc;
+ struct GNUNET_OS_Process *sandbox_proc;
+ struct TALER_TESTING_LibeufinServices ret = { 0 };
unsigned int iter;
char *curl_check_cmd;
- char *curl_cmd;
- char *post_body;
- char *register_url;
- bank_proc = GNUNET_OS_start_process
- (GNUNET_NO,
- GNUNET_OS_INHERIT_STD_NONE,
- NULL, NULL, NULL,
- "nexus",
- "nexus",
- NULL);
- if (NULL == bank_proc)
+ nexus_proc = GNUNET_OS_start_process
+ (GNUNET_NO,
+ GNUNET_OS_INHERIT_STD_NONE,
+ NULL, NULL, NULL,
+ "libeufin-nexus",
+ "libeufin-nexus",
+ "serve",
+ "--db-name", "/tmp/nexus-exchange-test.sqlite3",
+ NULL);
+ if (NULL == nexus_proc)
{
- BANK_FAIL ();
+ GNUNET_break (0);
+ return ret;
}
GNUNET_asprintf (&curl_check_cmd,
"curl -s %s",
bc->exchange_auth.wire_gateway_url);
-
/* give child time to start and bind against the socket */
fprintf (stderr,
"Waiting for `nexus' to be ready (via %s)\n", curl_check_cmd);
@@ -147,12 +146,13 @@ TALER_TESTING_run_nexus (const struct TALER_TESTING_BankConfiguration *bc)
fprintf (
stderr,
"Failed to launch `nexus'\n");
- GNUNET_OS_process_kill (bank_proc,
+ GNUNET_OS_process_kill (nexus_proc,
SIGTERM);
- GNUNET_OS_process_wait (bank_proc);
- GNUNET_OS_process_destroy (bank_proc);
+ GNUNET_OS_process_wait (nexus_proc);
+ GNUNET_OS_process_destroy (nexus_proc);
GNUNET_free (curl_check_cmd);
- BANK_FAIL ();
+ GNUNET_break (0);
+ return ret;
}
fprintf (stderr, ".");
sleep (1);
@@ -160,40 +160,69 @@ TALER_TESTING_run_nexus (const struct TALER_TESTING_BankConfiguration *bc)
}
while (0 != system (curl_check_cmd));
- GNUNET_asprintf (&post_body,
- "{ \
- \"ebicsURL\": \"http://mock\", \
- \"userID\": \"mock\", \
- \"partnerID\": \"mock\", \
- \"hostID\": \"mock\", \
- \"password\": \"%s\"}",
- bc->exchange_auth.details.basic.password);
- GNUNET_asprintf (&register_url,
- "http://localhost:5001/ebics/%s/subscribers",
- bc->exchange_auth.details.basic.username);
- GNUNET_asprintf (&curl_cmd,
- "curl -d'%s' -H'Content-Type: application/json' %s",
- post_body,
- register_url);
-
- if (0 != system (curl_cmd))
+ // start sandbox.
+ GNUNET_free (curl_check_cmd);
+ fprintf (stderr, "\n");
+
+ sandbox_proc = GNUNET_OS_start_process
+ (GNUNET_NO,
+ GNUNET_OS_INHERIT_STD_NONE,
+ NULL, NULL, NULL,
+ "libeufin-sandbox",
+ "libeufin-sandbox",
+ "serve",
+ "--db-name", "/tmp/sandbox-exchange-test.sqlite3",
+ NULL);
+ if (NULL == sandbox_proc)
{
- GNUNET_free (curl_check_cmd);
- GNUNET_free (curl_cmd);
- GNUNET_free (post_body);
- GNUNET_free (register_url);
- BANK_FAIL (); // includes logging and return (!)
+ GNUNET_break (0);
+ return ret;
}
- GNUNET_free (curl_check_cmd);
- GNUNET_free (curl_cmd);
- GNUNET_free (post_body);
- GNUNET_free (register_url);
+ /* give child time to start and bind against the socket */
+ fprintf (stderr,
+ "Waiting for `sandbox' to be ready.\n");
+ iter = 0;
+ do
+ {
+ if (10 == iter)
+ {
+ fprintf (
+ stderr,
+ "Failed to launch `sandbox'\n");
+ GNUNET_OS_process_kill (sandbox_proc,
+ SIGTERM);
+ GNUNET_OS_process_wait (sandbox_proc);
+ GNUNET_OS_process_destroy (sandbox_proc);
+ GNUNET_break (0);
+ return ret;
+ }
+ fprintf (stderr, ".");
+ sleep (1);
+ iter++;
+ }
+ while (0 != system ("curl -s http://localhost:5000/"));
fprintf (stderr, "\n");
- return bank_proc;
+ // Creates nexus user + bank loopback connection + Taler facade.
+ if (0 != system ("taler-nexus-prepare"))
+ {
+ GNUNET_OS_process_kill (nexus_proc, SIGTERM);
+ GNUNET_OS_process_wait (nexus_proc);
+ GNUNET_OS_process_destroy (nexus_proc);
+ GNUNET_OS_process_kill (sandbox_proc, SIGTERM);
+ GNUNET_OS_process_wait (sandbox_proc);
+ GNUNET_OS_process_destroy (sandbox_proc);
+ TALER_LOG_ERROR ("Could not prepare nexus\n");
+ GNUNET_break (0);
+ return ret;
+ }
+ ret.nexus = nexus_proc;
+ ret.sandbox = sandbox_proc;
+ return ret;
}
+
/**
* Start the (Python) bank process. Assume the port
* is available and the database is clean. Use the "prepare
@@ -310,6 +339,7 @@ TALER_TESTING_run_bank (const char *config_filename,
}
+
/**
* Prepare the Nexus execution. Check if the port is available
* and delete old database.
@@ -329,9 +359,6 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
{
struct GNUNET_CONFIGURATION_Handle *cfg;
unsigned long long port;
- struct GNUNET_OS_Process *dbreset_proc;
- enum GNUNET_OS_ProcessStatusType type;
- unsigned long code;
char *database = NULL; // silence compiler
char *exchange_payto_uri;
@@ -389,15 +416,8 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
/* DB preparation */
if (GNUNET_YES == reset_db)
{
- if (NULL ==
- (dbreset_proc = GNUNET_OS_start_process (
- GNUNET_NO,
- GNUNET_OS_INHERIT_STD_NONE,
- NULL, NULL, NULL,
- "rm",
- "rm",
- "-f",
- "libeufin-nexus.sqlite3", NULL)))
+ if (0 != system (
+ "rm -f /tmp/nexus-exchange-test.sqlite3 && rm -f /tmp/sandbox-exchange-test.sqlite3"))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Failed to invoke db-removal command.\n");
@@ -405,36 +425,8 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
GNUNET_CONFIGURATION_destroy (cfg);
return GNUNET_SYSERR;
}
- if (GNUNET_SYSERR ==
- GNUNET_OS_process_wait_status (dbreset_proc,
- &type,
- &code))
- {
- GNUNET_OS_process_destroy (dbreset_proc);
- GNUNET_break (0);
- GNUNET_CONFIGURATION_destroy (cfg);
- return GNUNET_SYSERR;
- }
- if ( (type == GNUNET_OS_PROCESS_EXITED) &&
- (0 != code) )
- {
- fprintf (stderr,
- "db-removal command was unsuccessful\n");
- GNUNET_break (0);
- GNUNET_CONFIGURATION_destroy (cfg);
- return GNUNET_SYSERR;
- }
- if ( (type != GNUNET_OS_PROCESS_EXITED) ||
- (0 != code) )
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Unexpected error running `rm libeufin-nexus.sqlite3'!\n");
- GNUNET_break (0);
- GNUNET_CONFIGURATION_destroy (cfg);
- return GNUNET_SYSERR;
- }
- GNUNET_OS_process_destroy (dbreset_proc);
}
+
if (GNUNET_OK !=
TALER_BANK_auth_parse_cfg (cfg,
config_section,
@@ -446,8 +438,10 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
}
GNUNET_CONFIGURATION_destroy (cfg);
bc->exchange_payto = exchange_payto_uri;
- bc->user42_payto = "payto://x-taler-bank/localhost/42";
- bc->user43_payto = "payto://x-taler-bank/localhost/43";
+ bc->user42_payto =
+ "payto://iban/BIC/FR7630006000011234567890189?receiver-name=User42";
+ bc->user43_payto =
+ "payto://iban/BIC/GB33BUKB20201555555555?receiver-name=User43";
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Relying on nexus %s on port %u\n",
bc->exchange_auth.wire_gateway_url,
@@ -461,6 +455,7 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
return GNUNET_OK;
}
+
/**
* Prepare the bank execution. Check if the port is available
* and reset database.
@@ -720,7 +715,7 @@ TALER_TESTING_prepare_fakebank (const char *config_filename,
bc->exchange_payto);
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "user42_payto: %s\n",
bc->user42_payto);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "user42_payto: %s\n",
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "user43_payto: %s\n",
bc->user43_payto);
return GNUNET_OK;
}