diff options
| author | Marcello Stanisci <stanisci.m@gmail.com> | 2020-01-16 12:54:05 +0100 | 
|---|---|---|
| committer | Marcello Stanisci <stanisci.m@gmail.com> | 2020-01-16 12:54:05 +0100 | 
| commit | a444bf31b72c1fc537818ac66875885b630e0551 (patch) | |
| tree | e84f9188df4792ad6b78a43c2b5c996b2c7087b7 | |
| parent | f13b8e4db68d3f520a8265c5f5b108baf2eea1e6 (diff) | |
Excluding old logic from compilation.
| -rw-r--r-- | src/lib/Makefile.am | 1 | ||||
| -rw-r--r-- | src/lib/test_taler_exchange_aggregator.c | 152 | ||||
| -rw-r--r-- | src/lib/testing_api_cmd_insert_deposit.c | 22 | 
3 files changed, 103 insertions, 72 deletions
| diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index f4ccb63d..5dfd9059 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -258,6 +258,7 @@ test_taler_exchange_aggregator_postgres_LDADD = \    $(top_builddir)/src/bank-lib/libtalerfakebank.la \    $(top_builddir)/src/json/libtalerjson.la \    $(top_builddir)/src/util/libtalerutil.la \ +  $(top_builddir)/src/lib/libtalertesting.la \    -lmicrohttpd \    -lgnunetutil \    -lgnunetjson \ diff --git a/src/lib/test_taler_exchange_aggregator.c b/src/lib/test_taler_exchange_aggregator.c index a5f03e1d..01203ab8 100644 --- a/src/lib/test_taler_exchange_aggregator.c +++ b/src/lib/test_taler_exchange_aggregator.c @@ -26,9 +26,20 @@  #include "taler_exchangedb_plugin.h"  #include <microhttpd.h>  #include "taler_fakebank_lib.h" +#include "taler_testing_lib.h"  /** + * Helper structure to keep exchange configuration values. + */ +static struct TALER_TESTING_ExchangeConfiguration ec; + +/** + * Bank configuration data. + */ +static struct TALER_TESTING_BankConfiguration bc; + +/**   * Commands for the interpreter.   */  enum OpCode @@ -252,16 +263,6 @@ static struct GNUNET_CRYPTO_RsaPublicKey *coin_pub;   */  static struct TALER_FAKEBANK_Handle *fb; - -/** - * Interprets the commands from the test program. - * - * @param cls the `struct State` of the interpreter - */ -static void -interpreter (void *cls); - -  /**   * Task triggered whenever we are to shutdown.   * @@ -319,6 +320,7 @@ shutdown_action (void *cls)    plugin = NULL;  } +#if 0  /**   * Task triggered whenever we receive a SIGCHLD (child @@ -349,7 +351,7 @@ maint_child_death (void *cls)    interpreter (state);  } - +#endif  /**   * Setup (fake) information about a coin used in deposit. @@ -511,6 +513,7 @@ fail (struct Command *cmd)   *   * @param cls the `struct State` of the interpreter   */ +#if 0  static void  interpreter (void *cls)  { @@ -613,12 +616,13 @@ interpreter (void *cls)      }    }  } - +#endif  /**   * Contains the test program. Here each step of the testcase   * is defined.   */ +#if 0  static void  run_test ()  { @@ -1155,15 +1159,59 @@ run_test ()    int_task = GNUNET_SCHEDULER_add_now (&interpreter,                                         &state);  } +#endif +/** + * @return GNUNET_NO if database could not be prepared, + * otherwise GNUNET_OK + */ +static int +prepare_database (const struct GNUNET_CONFIGURATION_Handle *cfg) +{ + +  // connect to the database. +  plugin = TALER_EXCHANGEDB_plugin_load (cfg); +  if (NULL == plugin) +  { +    GNUNET_break (0); +    result = 77; +    return GNUNET_NO; +  } + +  if (GNUNET_OK != +      plugin->create_tables (plugin->cls)) +  { +    GNUNET_break (0); +    TALER_EXCHANGEDB_plugin_unload (plugin); +    plugin = NULL; +    result = 77; +    return GNUNET_NO; +  } + +  session = plugin->get_session (plugin->cls); +  GNUNET_assert (NULL != session); + +  return GNUNET_OK; +} + + +static void +run (void *cls, +     struct TALER_TESTING_Interpreter *is) +{ +  if (GNUNET_OK != prepare_database (is->cfg)) +    return; + +}  /**   * Main function that will be run by the scheduler.   *   * @param cls closure with configuration   */ +#if 0  static void -run (void *cls) +OLDrun (void *cls)  {    struct GNUNET_CONFIGURATION_Handle *cfg = cls;    struct TALER_EXCHANGEDB_DenominationKeyInformationP issue; @@ -1231,7 +1279,7 @@ run (void *cls)    }    run_test ();  } - +#endif  /**   * Signal handler called for SIGCHLD.  Triggers the @@ -1250,7 +1298,6 @@ sighandler_child_death ()    errno = old_errno;    /* restore errno */  } -  int  main (int argc,        char *const argv[]) @@ -1261,7 +1308,11 @@ main (int argc,    struct GNUNET_CONFIGURATION_Handle *cfg;    struct GNUNET_SIGNAL_Context *shc_chld; -  result = -1; + +  /* these might get in the way */ +  unsetenv ("XDG_DATA_HOME"); +  unsetenv ("XDG_CONFIG_HOME"); +    if (NULL == (plugin_name = strrchr (argv[0], (int) '-')))    {      GNUNET_break (0); @@ -1274,65 +1325,44 @@ main (int argc,    (void) GNUNET_asprintf (&config_filename,                            "%s.conf",                            testname); -  /* these might get in the way */ -  unsetenv ("XDG_DATA_HOME"); -  unsetenv ("XDG_CONFIG_HOME"); +    GNUNET_log_setup ("test_taler_exchange_aggregator", -                    "WARNING", +                    "DEBUG",                      NULL); -  proc = GNUNET_OS_start_process (GNUNET_NO, -                                  GNUNET_OS_INHERIT_STD_ALL, -                                  NULL, NULL, NULL, -                                  "taler-exchange-keyup", -                                  "taler-exchange-keyup", -                                  "-c", config_filename, -                                  NULL); -  if (NULL == proc) + + + +  TALER_TESTING_cleanup_files (config_filename); +  if (GNUNET_OK != TALER_TESTING_prepare_exchange (config_filename, +			                           &ec))    { -    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, -                "Failed to run `taler-exchange-keyup`, is your PATH correct?\n"); +    TALER_LOG_WARNING ("Could not prepare the exchange (keyup, ..)\n");      return 77;    } -  GNUNET_OS_process_wait (proc); -  GNUNET_OS_process_destroy (proc); -  if (GNUNET_OK != -      GNUNET_NETWORK_test_port_free (IPPROTO_TCP, -                                     8082)) + +  if (GNUNET_OK != TALER_TESTING_prepare_fakebank (config_filename, +			                           "account-1", +			                           &bc))    { -    fprintf (stderr, -             "Required port %u not available, skipping.\n", -             (unsigned int) 8082); +    TALER_LOG_WARNING ("Could not prepare the fakebank\n");      return 77;    } -  cfg = GNUNET_CONFIGURATION_create (); -  if (GNUNET_OK != -      GNUNET_CONFIGURATION_parse (cfg, -                                  config_filename)) -  { -    GNUNET_break (0); -    GNUNET_free (config_filename); -    GNUNET_free (testname); -    return 2; -  } -  sigpipe = GNUNET_DISK_pipe (GNUNET_NO, GNUNET_NO, -                              GNUNET_NO, GNUNET_NO); -  GNUNET_assert (NULL != sigpipe); -  shc_chld = -    GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, -                                   &sighandler_child_death); +    coin_pk = GNUNET_CRYPTO_rsa_private_key_create (1024);    coin_pub = GNUNET_CRYPTO_rsa_private_key_get_public (coin_pk); -  GNUNET_SCHEDULER_run (&run, -                        cfg); + + +  result = TALER_TESTING_setup (&run, +	                        NULL, +		                config_filename, +		                NULL, // no exchange process handle. +		                GNUNET_NO); // do not try to connect to the exchange +    GNUNET_CRYPTO_rsa_private_key_free (coin_pk);    GNUNET_CRYPTO_rsa_public_key_free (coin_pub); -  GNUNET_SIGNAL_handler_uninstall (shc_chld); -  shc_chld = NULL; -  GNUNET_DISK_pipe_close (sigpipe); -  GNUNET_CONFIGURATION_destroy (cfg);    GNUNET_free (config_filename);    GNUNET_free (testname); -  return result; +  return GNUNET_OK == result ? 0 : 1;  } diff --git a/src/lib/testing_api_cmd_insert_deposit.c b/src/lib/testing_api_cmd_insert_deposit.c index f83e9823..0e7ea661 100644 --- a/src/lib/testing_api_cmd_insert_deposit.c +++ b/src/lib/testing_api_cmd_insert_deposit.c @@ -81,7 +81,7 @@ insert_deposit_run (void *cls,                      const struct TALER_TESTING_Command *cmd,                      struct TALER_TESTING_Interpreter *is)  { -  struct InsertDepositState *ks = cls; +  struct InsertDepositState *ids = cls;    // TODO  } @@ -118,7 +118,7 @@ insert_deposit_traits (void *cls,                         const char *trait,                         unsigned int index)  { -  struct AuditorDbinitState *ks = cls; +  struct InsertDepositState *ids = cls;    struct TALER_TESTING_Trait traits[] = {      // FIXME: needed?      TALER_TESTING_trait_end () @@ -154,17 +154,17 @@ TALER_TESTING_cmd_insert_deposit (const char *label,  				  const char *deposit_fee)  {    struct TALER_TESTING_Command cmd; -  struct InsertDepositState *ds; +  struct InsertDepositState *ids; -  ds = GNUNET_new (struct InsertDepositState); -  ds->config_filename = config_filename; -  ds->merchant_name = merchant_name; -  ds->merchant_account = merchant_account; -  ds->wire_deadline = wire_deadline; -  ds->amount_with_fee = amount_with_fee; -  ds->deposit_fee = deposit_fee; +  ids = GNUNET_new (struct InsertDepositState); +  ids->config_filename = config_filename; +  ids->merchant_name = merchant_name; +  ids->merchant_account = merchant_account; +  ids->wire_deadline = wire_deadline; +  ids->amount_with_fee = amount_with_fee; +  ids->deposit_fee = deposit_fee; -  cmd.cls = ds; +  cmd.cls = ids;    cmd.label = label;    cmd.run = &insert_deposit_run;    cmd.cleanup = &insert_deposit_cleanup; | 
