diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-01-14 15:57:36 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-01-14 15:57:36 +0100 |
commit | 2edee5ac4a4886e71db6e28314334cd24c6d3a55 (patch) | |
tree | 944c62dfd7dc9905a58e9888a2239403f4085cd6 /src/lib/testing_api_helpers_bank.c | |
parent | cba9f8614efab7805d736ac795f8edb970c6a301 (diff) | |
download | exchange-2edee5ac4a4886e71db6e28314334cd24c6d3a55.tar.gz exchange-2edee5ac4a4886e71db6e28314334cd24c6d3a55.tar.bz2 exchange-2edee5ac4a4886e71db6e28314334cd24c6d3a55.zip |
refactor uri parsing logic, prepare for unit test
Diffstat (limited to 'src/lib/testing_api_helpers_bank.c')
-rw-r--r-- | src/lib/testing_api_helpers_bank.c | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/lib/testing_api_helpers_bank.c b/src/lib/testing_api_helpers_bank.c index 5147034af..91aaba9e0 100644 --- a/src/lib/testing_api_helpers_bank.c +++ b/src/lib/testing_api_helpers_bank.c @@ -374,9 +374,6 @@ TALER_TESTING_prepare_fakebank (const char *config_filename, { struct GNUNET_CONFIGURATION_Handle *cfg; char *payto_url; - char *fakebank_url; - const char *start; - const char *end; cfg = GNUNET_CONFIGURATION_create (); if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg, @@ -395,38 +392,30 @@ TALER_TESTING_prepare_fakebank (const char *config_filename, return GNUNET_SYSERR; } GNUNET_CONFIGURATION_destroy (cfg); - if (0 != strncasecmp (payto_url, - "payto://x-taler-bank/", - strlen ("payto://x-taler-bank/"))) + bc->bank_url + = TALER_xtalerbank_base_url_from_payto (payto_url); + if (NULL == bc->bank_url) { GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_WARNING, config_section, "URL", "expected `x-taler-bank' payto://-URL"); - GNUNET_CONFIGURATION_destroy (cfg); GNUNET_free (payto_url); return GNUNET_SYSERR; } - start = &payto_url [strlen ("payto://x-taler-bank/")]; - end = strchr (start, - (unsigned char) '/'); - if (NULL == end) - end = &start[strlen (start)]; - fakebank_url = GNUNET_strndup (start, - end - start); - GNUNET_free (payto_url); if (GNUNET_OK != - TALER_TESTING_url_port_free (fakebank_url)) + TALER_TESTING_url_port_free (bc->bank_url)) { - GNUNET_free (fakebank_url); + GNUNET_free (bc->bank_url); + bc->bank_url = NULL; + GNUNET_free (payto_url); return GNUNET_SYSERR; } - bc->bank_url = fakebank_url; - GNUNET_asprintf (&bc->exchange_account_url, - "%s/%s", - bc->bank_url, - EXCHANGE_ACCOUNT_NAME); + bc->exchange_account_url + = TALER_xtalerbank_account_url_from_payto (payto_url); + GNUNET_assert (NULL != bc->exchange_account_url); + GNUNET_free (payto_url); bc->exchange_auth.method = TALER_BANK_AUTH_NONE; bc->exchange_payto = TALER_payto_xtalerbank_make (bc->bank_url, "2"); bc->user42_payto = TALER_payto_xtalerbank_make (bc->bank_url, "42"); |