diff options
-rw-r--r-- | src/exchangedb/Makefile.am | 13 | ||||
-rw-r--r-- | src/exchangedb/test_exchangedb_deposits.c | 162 | ||||
-rw-r--r-- | src/include/taler_exchangedb_plugin.h | 11 |
3 files changed, 6 insertions, 180 deletions
diff --git a/src/exchangedb/Makefile.am b/src/exchangedb/Makefile.am index 98745ecac..fc87feea1 100644 --- a/src/exchangedb/Makefile.am +++ b/src/exchangedb/Makefile.am @@ -56,7 +56,6 @@ libtalerexchangedb_la_LDFLAGS = \ check_PROGRAMS = \ - test-exchangedb-deposits-postgres \ test-exchangedb-keyio \ test-exchangedb-postgres \ test-perf-taler-exchangedb \ @@ -66,17 +65,7 @@ AM_TESTS_ENVIRONMENT=export TALER_PREFIX=$${TALER_PREFIX:-@libdir@};export PATH= TESTS = \ test-exchangedb-postgres \ test-perf-taler-exchangedb \ - test-exchangedb-keyio \ - test-exchangedb-deposits-postgres - -test_exchangedb_deposits_postgres_SOURCES = \ - test_exchangedb_deposits.c -test_exchangedb_deposits_postgres_LDADD = \ - libtalerexchangedb.la \ - $(top_srcdir)/src/util/libtalerutil.la \ - $(top_srcdir)/src/pq/libtalerpq.la \ - -lgnunetutil \ - -ljansson + test-exchangedb-keyio test_exchangedb_keyio_SOURCES = \ test_exchangedb_keyio.c diff --git a/src/exchangedb/test_exchangedb_deposits.c b/src/exchangedb/test_exchangedb_deposits.c deleted file mode 100644 index bd1914f8a..000000000 --- a/src/exchangedb/test_exchangedb_deposits.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2014 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> -*/ -/** - * @file exchange/test_exchange_deposits.c - * @brief testcase for exchange deposits - * @author Sree Harsha Totakura <sreeharsha@totakura.in> - */ -#include "platform.h" -#include <gnunet/gnunet_util_lib.h> -#include "taler_pq_lib.h" -#include "taler_exchangedb_lib.h" -#include "taler_exchangedb_plugin.h" - -#define EXCHANGE_CURRENCY "EUR" - -#define DB_URI "postgres:///taler" - -#define break_db_err(result) do { \ - GNUNET_break(0); \ - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Database failure: %s\n", PQresultErrorMessage (result)); \ - } while (0) - -/** - * Shorthand for exit jumps. - */ -#define EXITIF(cond) \ - do { \ - if (cond) { GNUNET_break (0); goto EXITIF_exit; } \ - } while (0) - - -/** - * Testcase result - */ -static int result; - -/** - * The plugin. - */ -static struct TALER_EXCHANGEDB_Plugin *plugin; - - -/** - * Main function that will be run by the scheduler. - * - * @param cls configuration - */ -static void -run (void *cls) -{ - const struct GNUNET_CONFIGURATION_Handle *cfg = cls; - static const char wire[] = "{" - "\"type\":\"SEPA\"," - "\"IBAN\":\"DE67830654080004822650\"," - "\"NAME\":\"GNUNET E.V\"," - "\"BIC\":\"GENODEF1SRL\"" - "}"; - struct TALER_EXCHANGEDB_Deposit *deposit; - uint64_t transaction_id; - struct TALER_EXCHANGEDB_Session *session; - - deposit = NULL; - EXITIF (NULL == (plugin = TALER_EXCHANGEDB_plugin_load (cfg))); - if (GNUNET_OK != - plugin->create_tables (plugin->cls, - GNUNET_YES)) - { - result = 77; - goto EXITIF_exit; - } - session = plugin->get_session (plugin->cls, - GNUNET_YES); - EXITIF (NULL == session); - deposit = GNUNET_malloc (sizeof (struct TALER_EXCHANGEDB_Deposit) + sizeof (wire)); - /* Makeup a random coin public key */ - GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, - deposit, - sizeof (struct TALER_EXCHANGEDB_Deposit)); - /* Makeup a random 64bit transaction ID */ - transaction_id = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); - deposit->transaction_id = GNUNET_htonll (transaction_id); - /* Random amount */ - deposit->amount_with_fee.value = - htonl (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, UINT32_MAX)); - deposit->amount_with_fee.fraction = - htonl (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, UINT32_MAX)); - GNUNET_assert (strlen (EXCHANGE_CURRENCY) < sizeof (deposit->amount_with_fee.currency)); - strcpy (deposit->amount_with_fee.currency, EXCHANGE_CURRENCY); - /* Copy wireformat */ - deposit->wire = json_loads (wire, 0, NULL); - EXITIF (GNUNET_OK != - plugin->insert_deposit (plugin->cls, - session, - deposit)); - EXITIF (GNUNET_OK != - plugin->have_deposit (plugin->cls, - session, - deposit)); - result = GNUNET_OK; - EXITIF_exit: - GNUNET_free_non_null (deposit); - if (NULL != plugin) - { - TALER_EXCHANGEDB_plugin_unload (plugin); - plugin = NULL; - } -} - - -int -main (int argc, - char *const argv[]) -{ - const char *plugin_name; - char *config_filename; - char *testname; - struct GNUNET_CONFIGURATION_Handle *cfg; - - result = -1; - if (NULL == (plugin_name = strrchr (argv[0], (int) '-'))) - { - GNUNET_break (0); - return -1; - } - GNUNET_log_setup (argv[0], - "WARNING", - NULL); - plugin_name++; - (void) GNUNET_asprintf (&testname, - "test-exchange-db-%s", plugin_name); - (void) GNUNET_asprintf (&config_filename, - "%s.conf", testname); - 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; - } - GNUNET_SCHEDULER_run (&run, cfg); - GNUNET_CONFIGURATION_destroy (cfg); - GNUNET_free (config_filename); - GNUNET_free (testname); - return result; -} diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index e364d6b95..45553634c 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -205,8 +205,7 @@ struct TALER_EXCHANGEDB_ReserveHistory * merchant must either use a different public key or a different * transaction ID for the two transactions. The same coin must not * be used twice at the same merchant for the same transaction - * (as determined by transaction ID). (Note: we might want to - * fix #3819 and include at least h_contract as well.) + * (as determined by transaction ID). */ struct TALER_EXCHANGEDB_Deposit { @@ -317,12 +316,12 @@ struct TALER_EXCHANGEDB_Refund struct TALER_CoinPublicInfo coin; /** - * Public key of the merchant. + * Public key of the merchant. */ struct TALER_MerchantPublicKeyP merchant_pub; - + /** - * Signature from the merchant affirming the refund. + * Signature from the merchant affirming the refund. */ struct TALER_MerchantSignatureP merchant_sig; @@ -338,7 +337,7 @@ struct TALER_EXCHANGEDB_Refund * refunded. */ uint64_t transaction_id; - + /** * Merchant-generated REFUND transaction ID to detect duplicate * refunds. |