aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-27 17:28:33 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-27 17:32:39 +0100
commit17cfbced1dff07ee058997e88e027e7fd4627445 (patch)
treef94a9255869eb1d1f1cf57f37eebbc143994af19
parent1647237c2e54ad14dc2549def5b394f766cd92cd (diff)
fix inconsistency in field naming
-rw-r--r--src/auditor/Makefile.am1
-rw-r--r--src/auditordb/test_auditordb.c1
-rw-r--r--src/exchange/Makefile.am1
-rw-r--r--src/exchangedb/test_exchangedb.c59
-rw-r--r--src/exchangedb/test_exchangedb_auditors.c2
-rw-r--r--src/exchangedb/test_exchangedb_denomkeys.c3
-rw-r--r--src/exchangedb/test_exchangedb_fees.c2
-rw-r--r--src/exchangedb/test_exchangedb_signkeys.c3
-rw-r--r--src/json/test_json.c4
-rw-r--r--src/json/test_json_wire.c2
-rw-r--r--src/pq/test_pq.c3
-rw-r--r--src/testing/Makefile.am4
-rw-r--r--src/testing/testing_api_cmd_deposits_get.c379
-rw-r--r--src/testing/testing_api_cmd_exec_auditor-sign.c3
-rw-r--r--src/testing/testing_api_cmd_exec_closer.c2
-rw-r--r--src/testing/testing_api_cmd_exec_keyup.c1
-rw-r--r--src/testing/testing_api_cmd_transfer_get.c (renamed from src/testing/testing_api_cmd_track.c)352
-rw-r--r--src/testing/testing_api_cmd_wait.c1
-rw-r--r--src/testing/testing_api_cmd_wire.c6
-rw-r--r--src/testing/testing_api_cmd_withdraw.c10
-rw-r--r--src/util/test_amount.c2
-rw-r--r--src/util/test_crypto.c6
-rw-r--r--src/util/test_payto.c2
-rw-r--r--src/util/test_url.c2
24 files changed, 482 insertions, 369 deletions
diff --git a/src/auditor/Makefile.am b/src/auditor/Makefile.am
index dbf982d10..36a32dc5b 100644
--- a/src/auditor/Makefile.am
+++ b/src/auditor/Makefile.am
@@ -172,6 +172,7 @@ check_SCRIPTS = \
test-auditor.sh \
test-revocation.sh
+.NOTPARALLEL:
TESTS = $(check_SCRIPTS)
EXTRA_DIST = \
diff --git a/src/auditordb/test_auditordb.c b/src/auditordb/test_auditordb.c
index 48e250a2c..201d61b80 100644
--- a/src/auditordb/test_auditordb.c
+++ b/src/auditordb/test_auditordb.c
@@ -781,6 +781,7 @@ main (int argc,
char *testname;
struct GNUNET_CONFIGURATION_Handle *cfg;
+ (void) argc;
result = -1;
if (NULL == (plugin_name = strrchr (argv[0], (int) '-')))
{
diff --git a/src/exchange/Makefile.am b/src/exchange/Makefile.am
index 2fc601e77..4876b3074 100644
--- a/src/exchange/Makefile.am
+++ b/src/exchange/Makefile.am
@@ -117,6 +117,7 @@ check_SCRIPTS += \
test_taler_exchange_httpd_afl.sh
endif
+.NOTPARALLEL:
TESTS = \
$(check_SCRIPTS)
diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c
index 96fbe3dc2..61bdb4813 100644
--- a/src/exchangedb/test_exchangedb.c
+++ b/src/exchangedb/test_exchangedb.c
@@ -75,6 +75,11 @@ dead_prepare_cb (void *cls,
const char *buf,
size_t buf_size)
{
+ (void) cls;
+ (void) rowid;
+ (void) wire_method;
+ (void) buf;
+ (void) buf_size;
GNUNET_assert (0);
}
@@ -344,6 +349,12 @@ never_called_cb (void *cls,
const struct TALER_TransferPrivateKeyP *tprivs,
const struct TALER_TransferPublicKeyP *tp)
{
+ (void) cls;
+ (void) num_freshcoins;
+ (void) rrcs;
+ (void) num_tprivs;
+ (void) tprivs;
+ (void) tp;
GNUNET_assert (0); /* should never be called! */
}
@@ -361,14 +372,15 @@ never_called_cb (void *cls,
* @param tpr transfer public key information
*/
static void
-check_refresh_reveal_cb (void *cls,
- uint32_t num_freshcoins,
- const struct
- TALER_EXCHANGEDB_RefreshRevealedCoin *rrcs,
- unsigned int num_tprivs,
- const struct TALER_TransferPrivateKeyP *tprivsr,
- const struct TALER_TransferPublicKeyP *tpr)
+check_refresh_reveal_cb (
+ void *cls,
+ uint32_t num_freshcoins,
+ const struct TALER_EXCHANGEDB_RefreshRevealedCoin *rrcs,
+ unsigned int num_tprivs,
+ const struct TALER_TransferPrivateKeyP *tprivsr,
+ const struct TALER_TransferPublicKeyP *tpr)
{
+ (void) cls;
/* compare the refresh commit coin arrays */
for (unsigned int cnt = 0; cnt < num_freshcoins; cnt++)
{
@@ -426,6 +438,13 @@ audit_refresh_session_cb (void *cls,
uint32_t noreveal_index,
const struct TALER_RefreshCommitmentP *rc)
{
+ (void) cls;
+ (void) rowid;
+ (void) denom_pub;
+ (void) coin_sig;
+ (void) amount_with_fee;
+ (void) noreveal_index;
+ (void) rc;
auditor_row_cnt++;
return GNUNET_OK;
}
@@ -450,6 +469,8 @@ handle_link_data_cb (void *cls,
const struct TALER_TransferPublicKeyP *transfer_pub,
const struct TALER_EXCHANGEDB_LinkList *ldl)
{
+ (void) cls;
+ (void) transfer_pub;
for (const struct TALER_EXCHANGEDB_LinkList *ldlp = ldl;
NULL != ldlp;
ldlp = ldlp->next)
@@ -931,6 +952,15 @@ audit_refund_cb (void *cls,
uint64_t rtransaction_id,
const struct TALER_Amount *amount_with_fee)
{
+ (void) cls;
+ (void) rowid;
+ (void) denom_pub;
+ (void) coin_pub;
+ (void) merchant_pub;
+ (void) merchant_sig;
+ (void) h_contract_terms;
+ (void) rtransaction_id;
+ (void) amount_with_fee;
auditor_row_cnt++;
return GNUNET_OK;
}
@@ -957,6 +987,13 @@ audit_reserve_in_cb (void *cls,
uint64_t wire_reference,
struct GNUNET_TIME_Absolute execution_date)
{
+ (void) cls;
+ (void) rowid;
+ (void) reserve_pub;
+ (void) credit;
+ (void) sender_account_details;
+ (void) wire_reference;
+ (void) execution_date;
auditor_row_cnt++;
return GNUNET_OK;
}
@@ -985,6 +1022,14 @@ audit_reserve_out_cb (void *cls,
struct GNUNET_TIME_Absolute execution_date,
const struct TALER_Amount *amount_with_fee)
{
+ (void) cls;
+ (void) rowid;
+ (void) h_blind_ev;
+ (void) denom_pub;
+ (void) reserve_pub;
+ (void) reserve_sig;
+ (void) execution_date;
+ (void) amount_with_fee;
auditor_row_cnt++;
return GNUNET_OK;
}
diff --git a/src/exchangedb/test_exchangedb_auditors.c b/src/exchangedb/test_exchangedb_auditors.c
index 518326f5e..efd3ffe14 100644
--- a/src/exchangedb/test_exchangedb_auditors.c
+++ b/src/exchangedb/test_exchangedb_auditors.c
@@ -114,6 +114,8 @@ main (int argc,
struct GNUNET_CONFIGURATION_Handle *cfg = NULL;
int ret;
+ (void) argc;
+ (void) argv;
ret = 1;
GNUNET_log_setup ("test-exchangedb-auditors",
"WARNING",
diff --git a/src/exchangedb/test_exchangedb_denomkeys.c b/src/exchangedb/test_exchangedb_denomkeys.c
index 0b3c71776..12add14da 100644
--- a/src/exchangedb/test_exchangedb_denomkeys.c
+++ b/src/exchangedb/test_exchangedb_denomkeys.c
@@ -49,6 +49,7 @@ dki_iter (void *cls,
{
const struct TALER_EXCHANGEDB_DenominationKey *exp = cls;
+ (void) alias;
if (0 != GNUNET_memcmp (&exp->issue,
&dki->issue))
{
@@ -124,6 +125,8 @@ main (int argc,
int ret;
struct GNUNET_TIME_Absolute start;
+ (void) argc;
+ (void) argv;
ret = 1;
GNUNET_log_setup ("test-exchangedb-denomkeys",
"WARNING",
diff --git a/src/exchangedb/test_exchangedb_fees.c b/src/exchangedb/test_exchangedb_fees.c
index cb33e2de8..7cd890eb3 100644
--- a/src/exchangedb/test_exchangedb_fees.c
+++ b/src/exchangedb/test_exchangedb_fees.c
@@ -60,6 +60,8 @@ main (int argc,
int ret;
unsigned int year;
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-exchangedb-fees",
"WARNING",
NULL);
diff --git a/src/exchangedb/test_exchangedb_signkeys.c b/src/exchangedb/test_exchangedb_signkeys.c
index 4fb112f35..3969c9708 100644
--- a/src/exchangedb/test_exchangedb_signkeys.c
+++ b/src/exchangedb/test_exchangedb_signkeys.c
@@ -47,6 +47,7 @@ ski_iter (void *cls,
{
const struct TALER_EXCHANGEDB_PrivateSigningKeyInformationP *exp = cls;
+ (void) filename;
if (0 != GNUNET_memcmp (ski,
exp))
{
@@ -66,6 +67,8 @@ main (int argc,
char *tmpfile;
int ret;
+ (void) argc;
+ (void) argv;
ret = 1;
tmpfile = NULL;
GNUNET_log_setup ("test-exchangedb-signkeys",
diff --git a/src/json/test_json.c b/src/json/test_json.c
index d2f1e2b73..732a3d774 100644
--- a/src/json/test_json.c
+++ b/src/json/test_json.c
@@ -30,7 +30,7 @@
* @return 0 on success
*/
static int
-test_amount ()
+test_amount (void)
{
json_t *j;
struct TALER_Amount a1;
@@ -60,6 +60,8 @@ int
main (int argc,
const char *const argv[])
{
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-json",
"WARNING",
NULL);
diff --git a/src/json/test_json_wire.c b/src/json/test_json_wire.c
index c4d49de7a..3b2123e26 100644
--- a/src/json/test_json_wire.c
+++ b/src/json/test_json_wire.c
@@ -35,6 +35,8 @@ main (int argc,
const char *payto = "payto://x-taler-bank/42";
char *p;
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-json-wire",
"WARNING",
NULL);
diff --git a/src/pq/test_pq.c b/src/pq/test_pq.c
index 7eb62efec..52e92b561 100644
--- a/src/pq/test_pq.c
+++ b/src/pq/test_pq.c
@@ -175,10 +175,11 @@ main (int argc,
")"),
GNUNET_PQ_EXECUTE_STATEMENT_END
};
-
struct GNUNET_PQ_Context *conn;
int ret;
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-pq",
"WARNING",
NULL);
diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am
index 7a1a6422a..7b36a3aed 100644
--- a/src/testing/Makefile.am
+++ b/src/testing/Makefile.am
@@ -49,6 +49,7 @@ libtalertesting_la_SOURCES = \
testing_api_cmd_batch.c \
testing_api_cmd_check_keys.c \
testing_api_cmd_deposit.c \
+ testing_api_cmd_deposits_get.c \
testing_api_cmd_exec_aggregator.c \
testing_api_cmd_exec_auditor-sign.c \
testing_api_cmd_exec_closer.c \
@@ -63,7 +64,7 @@ libtalertesting_la_SOURCES = \
testing_api_cmd_sleep.c \
testing_api_cmd_stat.c \
testing_api_cmd_status.c \
- testing_api_cmd_track.c \
+ testing_api_cmd_transfer_get.c \
testing_api_cmd_wait.c \
testing_api_cmd_wire.c \
testing_api_cmd_withdraw.c \
@@ -109,6 +110,7 @@ libtalertesting_la_LIBADD = \
AM_TESTS_ENVIRONMENT=export TALER_PREFIX=$${TALER_PREFIX:-@libdir@};export PATH=$${TALER_PREFIX:-@prefix@}/bin:$$PATH;
+.NOTPARALLEL:
check_PROGRAMS = \
test_auditor_api \
test_auditor_api_version \
diff --git a/src/testing/testing_api_cmd_deposits_get.c b/src/testing/testing_api_cmd_deposits_get.c
new file mode 100644
index 000000000..8eab8f51b
--- /dev/null
+++ b/src/testing/testing_api_cmd_deposits_get.c
@@ -0,0 +1,379 @@
+/*
+ This file is part of TALER
+ Copyright (C) 2014-2020 Taler Systems SA
+
+ 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, see
+ <http://www.gnu.org/licenses/>
+*/
+
+/**
+ * @file testing/testing_api_cmd_deposits_get.c
+ * @brief Implement the testing CMDs for the /deposits/ GET operations.
+ * @author Marcello Stanisci
+ */
+#include "platform.h"
+#include "taler_json_lib.h"
+#include <gnunet/gnunet_curl_lib.h>
+#include "taler_testing_lib.h"
+
+/**
+ * State for a "track transaction" CMD.
+ */
+struct TrackTransactionState
+{
+
+ /**
+ * If non NULL, will provide a WTID to be compared against
+ * the one returned by the "track transaction" operation.
+ */
+ const char *bank_transfer_reference;
+
+ /**
+ * The WTID associated by the transaction being tracked.
+ */
+ struct TALER_WireTransferIdentifierRawP wtid;
+
+ /**
+ * Expected HTTP response code.
+ */
+ unsigned int expected_response_code;
+
+ /**
+ * Reference to any operation that can provide a transaction.
+ * Will be the transaction to track.
+ */
+ const char *transaction_reference;
+
+ /**
+ * Index of the coin involved in the transaction. Recall:
+ * at the exchange, the tracking is done _per coin_.
+ */
+ unsigned int coin_index;
+
+ /**
+ * Handle to the "track transaction" pending operation.
+ */
+ struct TALER_EXCHANGE_DepositGetHandle *tth;
+
+ /**
+ * Interpreter state.
+ */
+ struct TALER_TESTING_Interpreter *is;
+};
+
+
+/**
+ * Checks what is returned by the "track transaction" operation.
+ * Checks that the HTTP response code is acceptable, and - if the
+ * right reference is non NULL - that the wire transfer subject
+ * line matches our expectations.
+ *
+ * @param cls closure.
+ * @param http_status HTTP status code we got.
+ * @param ec taler-specific error code.
+ * @param exchange_pub public key of the exchange
+ * @param json original json reply (may include signatures, those
+ * have then been validated already).
+ * @param wtid wire transfer identifier, NULL if exchange did not
+ * execute the transaction yet.
+ * @param execution_time actual or planned execution time for the
+ * wire transfer.
+ * @param coin_contribution contribution to the total amount of
+ * the deposited coin (can be NULL).
+ */
+static void
+deposit_wtid_cb (void *cls,
+ unsigned int http_status,
+ enum TALER_ErrorCode ec,
+ const struct TALER_ExchangePublicKeyP *exchange_pub,
+ const json_t *json,
+ const struct TALER_WireTransferIdentifierRawP *wtid,
+ struct GNUNET_TIME_Absolute execution_time,
+ const struct TALER_Amount *coin_contribution)
+{
+ struct TrackTransactionState *tts = cls;
+ struct TALER_TESTING_Interpreter *is = tts->is;
+ struct TALER_TESTING_Command *cmd = &is->commands[is->ip];
+
+ (void) coin_contribution;
+ (void) exchange_pub;
+ (void) ec;
+ (void) execution_time;
+ tts->tth = NULL;
+ if (tts->expected_response_code != http_status)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Unexpected response code %u to command %s in %s:%u\n",
+ http_status,
+ cmd->label,
+ __FILE__,
+ __LINE__);
+ json_dumpf (json, stderr, 0);
+ TALER_TESTING_interpreter_fail (is);
+ return;
+ }
+ switch (http_status)
+ {
+ case MHD_HTTP_OK:
+ tts->wtid = *wtid;
+ if (NULL != tts->bank_transfer_reference)
+ {
+ const struct TALER_TESTING_Command *bank_transfer_cmd;
+ const struct TALER_WireTransferIdentifierRawP *wtid_want;
+
+ /* _this_ wire transfer subject line. */
+ bank_transfer_cmd = TALER_TESTING_interpreter_lookup_command
+ (is, tts->bank_transfer_reference);
+ if (NULL == bank_transfer_cmd)
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (is);
+ return;
+ }
+
+ if (GNUNET_OK !=
+ TALER_TESTING_get_trait_wtid
+ (bank_transfer_cmd, 0, &wtid_want))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (is);
+ return;
+ }
+
+ /* Compare that expected and gotten subjects match. */
+ if (0 != GNUNET_memcmp (wtid,
+ wtid_want))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+ }
+ break;
+ case MHD_HTTP_ACCEPTED:
+ /* allowed, nothing to check here */
+ break;
+ case MHD_HTTP_NOT_FOUND:
+ /* allowed, nothing to check here */
+ break;
+ default:
+ GNUNET_break (0);
+ break;
+ }
+ TALER_TESTING_interpreter_next (tts->is);
+}
+
+
+/**
+ * Run the command.
+ *
+ * @param cls closure.
+ * @param cmd the command to execute.
+ * @param is the interpreter state.
+ */
+static void
+track_transaction_run (void *cls,
+ const struct TALER_TESTING_Command *cmd,
+ struct TALER_TESTING_Interpreter *is)
+{
+ struct TrackTransactionState *tts = cls;
+ const struct TALER_TESTING_Command *transaction_cmd;
+ const struct TALER_CoinSpendPrivateKeyP *coin_priv;
+ struct TALER_CoinSpendPublicKeyP coin_pub;
+ const json_t *contract_terms;
+ const json_t *wire_details;
+ struct GNUNET_HashCode h_wire_details;
+ struct GNUNET_HashCode h_contract_terms;
+ const struct TALER_MerchantPrivateKeyP *merchant_priv;
+
+ (void) cmd;
+ tts->is = is;
+ transaction_cmd
+ = TALER_TESTING_interpreter_lookup_command (tts->is,
+ tts->transaction_reference);
+ if (NULL == transaction_cmd)
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ if (GNUNET_OK !=
+ TALER_TESTING_get_trait_coin_priv (transaction_cmd,
+ tts->coin_index,
+ &coin_priv))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ GNUNET_CRYPTO_eddsa_key_get_public (&coin_priv->eddsa_priv,
+ &coin_pub.eddsa_pub);
+
+ /* Get the strings.. */
+ if (GNUNET_OK !=
+ TALER_TESTING_get_trait_wire_details (transaction_cmd,
+ 0,
+ &wire_details))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ if (GNUNET_OK !=
+ TALER_TESTING_get_trait_contract_terms (transaction_cmd,
+ 0,
+ &contract_terms))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ if ( (NULL == wire_details) ||
+ (NULL == contract_terms) )
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ /* Should not fail here, json has been parsed already */
+ GNUNET_assert
+ ( (GNUNET_OK ==
+ TALER_JSON_merchant_wire_signature_hash (wire_details,
+ &h_wire_details)) &&
+ (GNUNET_OK ==
+ TALER_JSON_hash (contract_terms,
+ &h_contract_terms)) );
+
+ if (GNUNET_OK !=
+ TALER_TESTING_get_trait_merchant_priv (transaction_cmd,
+ 0,
+ &merchant_priv))
+ {
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (tts->is);
+ return;
+ }
+
+ tts->tth = TALER_EXCHANGE_deposits_get (is->exchange,
+ merchant_priv,
+ &h_wire_details,
+ &h_contract_terms,
+ &coin_pub,
+ &deposit_wtid_cb,
+ tts);
+ GNUNET_assert (NULL != tts->tth);
+}
+
+
+/**
+ * Cleanup the state from a "track transaction" CMD, and possibly
+ * cancel a operation thereof.
+ *
+ * @param cls closure.
+ * @param cmd the command which is being cleaned up.
+ */
+static void
+track_transaction_cleanup (void *cls,
+ const struct TALER_TESTING_Command *cmd)
+{
+ struct TrackTransactionState *tts = cls;
+
+ if (NULL != tts->tth)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "Command %u (%s) did not complete\n",
+ tts->is->ip,
+ cmd->label);
+ TALER_EXCHANGE_deposits_get_cancel (tts->tth);
+ tts->tth = NULL;
+ }
+ GNUNET_free (tts);
+}
+
+
+/**
+ * Offer internal data from a "track transaction" CMD.
+ *
+ * @param cls closure.
+ * @param[out] ret result (could be anything).
+ * @param trait name of the trait.
+ * @param index index number of the object to offer.
+ * @return #GNUNET_OK on success.
+ */
+static int
+track_transaction_traits (void *cls,
+ const void **ret,
+ const char *trait,
+ unsigned int index)
+{
+ struct TrackTransactionState *tts = cls;
+ struct TALER_TESTING_Trait traits[] = {
+ TALER_TESTING_make_trait_wtid (0, &tts->wtid),
+ TALER_TESTING_trait_end ()
+ };
+
+ return TALER_TESTING_get_trait (traits,
+ ret,
+ trait,
+ index);
+}
+
+
+/**
+ * Create a "track transaction" command.
+ *
+ * @param label the command label.
+ * @param transaction_reference reference to a deposit operation,
+ * will be used to get the input data for the track.
+ * @param coin_index index of the coin involved in the transaction.
+ * @param expected_response_code expected HTTP response code.
+ * @param bank_transfer_reference reference to a command that
+ * can offer a WTID so as to check that against what WTID
+ * the tracked operation has. Set as NULL if not needed.
+ * @return the command.
+ */
+struct TALER_TESTING_Command
+TALER_TESTING_cmd_track_transaction (const char *label,
+ const char *transaction_reference,
+ unsigned int coin_index,
+ unsigned int expected_response_code,
+ const char *bank_transfer_reference)
+{
+ struct TrackTransactionState *tts;
+
+ tts = GNUNET_new (struct TrackTransactionState);
+ tts->transaction_reference = transaction_reference;
+ tts->expected_response_code = expected_response_code;
+ tts->bank_transfer_reference = bank_transfer_reference;
+ tts->coin_index = coin_index;
+ {
+ struct TALER_TESTING_Command cmd = {
+ .cls = tts,
+ .label = label,
+ .run = &track_transaction_run,
+ .cleanup = &track_transaction_cleanup,
+ .traits = &track_transaction_traits
+ };
+
+ return cmd;
+ }
+}
+
+
+/* end of testing_api_cmd_deposits_get.c */
diff --git a/src/testing/testing_api_cmd_exec_auditor-sign.c b/src/testing/testing_api_cmd_exec_auditor-sign.c
index fec7da7cb..4c88ccca0 100644
--- a/src/testing/testing_api_cmd_exec_auditor-sign.c
+++ b/src/testing/testing_api_cmd_exec_auditor-sign.c
@@ -65,12 +65,12 @@ auditor_sign_run (void *cls,
struct TALER_TESTING_Interpreter *is)
{
struct AuditorSignState *ass = cls;
-
struct GNUNET_CONFIGURATION_Handle *cfg;
char *test_home_dir;
char *exchange_master_pub;
struct GNUNET_TIME_Absolute now;
+ (void) cmd;
cfg = GNUNET_CONFIGURATION_create ();
if (GNUNET_OK != GNUNET_CONFIGURATION_load
(cfg, ass->config_filename))
@@ -157,6 +157,7 @@ auditor_sign_cleanup (void *cls,
{
struct AuditorSignState *ass = cls;
+ (void) cmd;
if (NULL != ass->auditor_sign_proc)
{
GNUNET_break (0 == GNUNET_OS_process_kill
diff --git a/src/testing/testing_api_cmd_exec_closer.c b/src/testing/testing_api_cmd_exec_closer.c
index d40c563c2..17eed7a88 100644
--- a/src/testing/testing_api_cmd_exec_closer.c
+++ b/src/testing/testing_api_cmd_exec_closer.c
@@ -60,6 +60,7 @@ closer_run (void *cls,
{
struct CloserState *as = cls;
+ (void) cmd;
as->closer_proc
= GNUNET_OS_start_process (GNUNET_NO,
GNUNET_OS_INHERIT_STD_ALL,
@@ -92,6 +93,7 @@ closer_cleanup (void *cls,
{
struct CloserState *as = cls;
+ (void) cmd;
if (NULL != as->closer_proc)
{
GNUNET_break (0 ==
diff --git a/src/testing/testing_api_cmd_exec_keyup.c b/src/testing/testing_api_cmd_exec_keyup.c
index cc4fb9e2e..4283c7eae 100644
--- a/src/testing/testing_api_cmd_exec_keyup.c
+++ b/src/testing/testing_api_cmd_exec_keyup.c
@@ -125,6 +125,7 @@ keyup_cleanup (void *cls,
{
struct KeyupState *ks = cls;
+ (void) cmd;
if (NULL != ks->keyup_proc)
{
GNUNET_break (0 ==
diff --git a/src/testing/testing_api_cmd_track.c b/src/testing/testing_api_cmd_transfer_get.c
index 6ebef6933..2b133188e 100644
--- a/src/testing/testing_api_cmd_track.c
+++ b/src/testing/testing_api_cmd_transfer_get.c
@@ -18,8 +18,8 @@
*/
/**
- * @file testing/testing_api_cmd_track.c
- * @brief Implement the testing CMDs for the /track operations.
+ * @file testing/testing_api_cmd_transfer_get.c
+ * @brief Implement the testing CMDs for the /transfer GET operation.
* @author Marcello Stanisci
*/
#include "platform.h"
@@ -28,52 +28,6 @@
#include "taler_testing_lib.h"
/**
- * State for a "track transaction" CMD.
- */
-struct TrackTransactionState
-{
-
- /**
- * If non NULL, will provide a WTID to be compared against
- * the one returned by the "track transaction" operation.
- */
- const char *bank_transfer_reference;
-
- /**
- * The WTID associated by the transaction being tracked.
- */
- struct TALER_WireTransferIdentifierRawP wtid;
-
- /**
- * Expected HTTP response code.
- */
- unsigned int expected_response_code;
-
- /**
- * Reference to any operation that can provide a transaction.
- * Will be the transaction to track.
- */
- const char *transaction_reference;
-
- /**
- * Index of the coin involved in the transaction. Recall:
- * at the exchange, the tracking is done _per coin_.
- */
- unsigned int coin_index;
-
- /**
- * Handle to the "track transaction" pending operation.
- */
- struct TALER_EXCHANGE_DepositGetHandle *tth;
-
- /**
- * Interpreter state.
- */
- struct TALER_TESTING_Interpreter *is;
-};
-
-
-/**
* State for a "track transfer" CMD.
*/
struct TrackTransferState
@@ -134,306 +88,6 @@ struct TrackTransferState
/**
- * Checks what is returned by the "track transaction" operation.
- * Checks that the HTTP response code is acceptable, and - if the
- * right reference is non NULL - that the wire transfer subject
- * line matches our expectations.
- *
- * @param cls closure.
- * @param http_status HTTP status code we got.
- * @param ec taler-specific error code.
- * @param exchange_pub public key of the exchange
- * @param json original json reply (may include signatures, those
- * have then been validated already).
- * @param wtid wire transfer identifier, NULL if exchange did not
- * execute the transaction yet.
- * @param execution_time actual or planned execution time for the
- * wire transfer.
- * @param coin_contribution contribution to the total amount of
- * the deposited coin (can be NULL).
- */
-static void
-deposit_wtid_cb (void *cls,
- unsigned int http_status,
- enum TALER_ErrorCode ec,
- const struct TALER_ExchangePublicKeyP *exchange_pub,
- const json_t *json,
- const struct TALER_WireTransferIdentifierRawP *wtid,
- struct GNUNET_TIME_Absolute execution_time,
- const struct TALER_Amount *coin_contribution)
-{
- struct TrackTransactionState *tts = cls;
- struct TALER_TESTING_Interpreter *is = tts->is;
- struct TALER_TESTING_Command *cmd = &is->commands[is->ip];
-
- (void) coin_contribution;
- (void) exchange_pub;
- tts->tth = NULL;
- if (tts->expected_response_code != http_status)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Unexpected response code %u to command %s in %s:%u\n",
- http_status,
- cmd->label,
- __FILE__,
- __LINE__);
- json_dumpf (json, stderr, 0);
- TALER_TESTING_interpreter_fail (is);
- return;
- }
- switch (http_status)
- {
- case MHD_HTTP_OK:
- tts->wtid = *wtid;
- if (NULL != tts->bank_transfer_reference)
- {
- const struct TALER_TESTING_Command *bank_transfer_cmd;
- const struct TALER_WireTransferIdentifierRawP *wtid_want;
-
- /* _this_ wire transfer subject line. */
- bank_transfer_cmd = TALER_TESTING_interpreter_lookup_command
- (is, tts->bank_transfer_reference);
- if (NULL == bank_transfer_cmd)
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (is);
- return;
- }
-
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_wtid
- (bank_transfer_cmd, 0, &wtid_want))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (is);
- return;
- }
-
- /* Compare that expected and gotten subjects match. */
- if (0 != GNUNET_memcmp (wtid,
- wtid_want))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
- }
- break;
- case MHD_HTTP_ACCEPTED:
- /* allowed, nothing to check here */
- break;
- case MHD_HTTP_NOT_FOUND:
- /* allowed, nothing to check here */
- break;
- default:
- GNUNET_break (0);
- break;
- }
- TALER_TESTING_interpreter_next (tts->is);
-}
-
-
-/**
- * Run the command.
- *
- * @param cls closure.
- * @param cmd the command to execute.
- * @param is the interpreter state.
- */
-static void
-track_transaction_run (void *cls,
- const struct TALER_TESTING_Command *cmd,
- struct TALER_TESTING_Interpreter *is)
-{
- struct TrackTransactionState *tts = cls;
- const struct TALER_TESTING_Command *transaction_cmd;
- const struct TALER_CoinSpendPrivateKeyP *coin_priv;
- struct TALER_CoinSpendPublicKeyP coin_pub;
- const json_t *contract_terms;
- const json_t *wire_details;
- struct GNUNET_HashCode h_wire_details;
- struct GNUNET_HashCode h_contract_terms;
- const struct TALER_MerchantPrivateKeyP *merchant_priv;
-
- tts->is = is;
- transaction_cmd
- = TALER_TESTING_interpreter_lookup_command (tts->is,
- tts->transaction_reference);
- if (NULL == transaction_cmd)
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_coin_priv (transaction_cmd,
- tts->coin_index,
- &coin_priv))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- GNUNET_CRYPTO_eddsa_key_get_public (&coin_priv->eddsa_priv,
- &coin_pub.eddsa_pub);
-
- /* Get the strings.. */
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_wire_details (transaction_cmd,
- 0,
- &wire_details))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_contract_terms (transaction_cmd,
- 0,
- &contract_terms))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- if ( (NULL == wire_details) ||
- (NULL == contract_terms) )
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- /* Should not fail here, json has been parsed already */
- GNUNET_assert
- ( (GNUNET_OK ==
- TALER_JSON_merchant_wire_signature_hash (wire_details,
- &h_wire_details)) &&
- (GNUNET_OK ==
- TALER_JSON_hash (contract_terms,
- &h_contract_terms)) );
-
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_merchant_priv (transaction_cmd,
- 0,
- &merchant_priv))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (tts->is);
- return;
- }
-
- tts->tth = TALER_EXCHANGE_deposits_get (is->exchange,
- merchant_priv,
- &h_wire_details,
- &h_contract_terms,
- &coin_pub,
- &deposit_wtid_cb,
- tts);
- GNUNET_assert (NULL != tts->tth);
-}
-
-
-/**
- * Cleanup the state from a "track transaction" CMD, and possibly
- * cancel a operation thereof.
- *
- * @param cls closure.
- * @param cmd the command which is being cleaned up.
- */
-static void
-track_transaction_cleanup (void *cls,
- const struct TALER_TESTING_Command *cmd)
-{
- struct TrackTransactionState *tts = cls;
-
- if (NULL != tts->tth)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "Command %u (%s) did not complete\n",
- tts->is->ip,
- cmd->label);
- TALER_EXCHANGE_deposits_get_cancel (tts->tth);
- tts->tth = NULL;
- }
- GNUNET_free (tts);
-}
-
-
-/**
- * Offer internal data from a "track transaction" CMD.
- *
- * @param cls closure.
- * @param[out] ret result (could be anything).
- * @param trait name of the trait.
- * @param index index number of the object to offer.
- * @return #GNUNET_OK on success.
- */
-static int
-track_transaction_traits (void *cls,
- const void **ret,
- const char *trait,
- unsigned int index)
-{
- struct TrackTransactionState *tts = cls;
- struct TALER_TESTING_Trait traits[] = {
- TALER_TESTING_make_trait_wtid (0, &tts->wtid),
- TALER_TESTING_trait_end ()
- };
-
- return TALER_TESTING_get_trait (traits,
- ret,
- trait,
- index);
-}
-
-
-/**
- * Create a "track transaction" command.
- *
- * @param label the command label.
- * @param transaction_reference reference to a deposit operation,
- * will be used to get the input data for the track.
- * @param coin_index index of the coin involved in the transaction.
- * @param expected_response_code expected HTTP response code.
- * @param bank_transfer_reference reference to a command that
- * can offer a WTID so as to check that against what WTID
- * the tracked operation has. Set as NULL if not needed.
- * @return the command.
- */
-struct TALER_TESTING_Command
-TALER_TESTING_cmd_track_transaction (const char *label,
- const char *transaction_reference,
- unsigned int coin_index,
- unsigned int expected_response_code,
- const char *bank_transfer_reference)
-{
- struct TrackTransactionState *tts;
-
- tts = GNUNET_new (struct TrackTransactionState);
- tts->transaction_reference = transaction_reference;
- tts->expected_response_code = expected_response_code;
- tts->bank_transfer_reference = bank_transfer_reference;
- tts->coin_index = coin_index;
- {
- struct TALER_TESTING_Command cmd = {
- .cls = tts,
- .label = label,
- .run = &track_transaction_run,
- .cleanup = &track_transaction_cleanup,
- .traits = &track_transaction_traits
- };
-
- return cmd;
- }
-}
-
-
-/**
* Cleanup the state for a "track transfer" CMD, and possibly
* cancel a pending operation thereof.
*
@@ -802,4 +456,4 @@ TALER_TESTING_cmd_track_transfer (const char *label,
}
-/* end of testing_api_cmd_track.c */
+/* end of testing_api_cmd_gransfer_get.c */
diff --git a/src/testing/testing_api_cmd_wait.c b/src/testing/testing_api_cmd_wait.c
index 5558f7b95..919fb7c3b 100644
--- a/src/testing/testing_api_cmd_wait.c
+++ b/src/testing/testing_api_cmd_wait.c
@@ -84,6 +84,7 @@ wait_service_run (void *cls,
const char *url = cmd->cls;
char *wget_cmd;
+ (void) cls;
GNUNET_asprintf (&wget_cmd,
"wget -q -t 1 -T 1 %s -o /dev/null -O /dev/null",
url);
diff --git a/src/testing/testing_api_cmd_wire.c b/src/testing/testing_api_cmd_wire.c
index 609a875c5..2d79a546f 100644
--- a/src/testing/testing_api_cmd_wire.c
+++ b/src/testing/testing_api_cmd_wire.c
@@ -86,10 +86,10 @@ wire_cb (void *cls,
const struct TALER_EXCHANGE_WireAccount *accounts)
{
struct WireState *ws = cls;
- struct TALER_TESTING_Command *cmd = \
- &ws->is->commands[ws->is->ip];
+ struct TALER_TESTING_Command *cmd = &ws->is->commands[ws->is->ip];
struct TALER_Amount expected_fee;
+ (void) ec;
TALER_LOG_DEBUG ("Checking parsed /wire response\n");
ws->wh = NULL;
if (ws->expected_response_code != http_status)
@@ -165,6 +165,8 @@ wire_run (void *cls,
struct TALER_TESTING_Interpreter *is)
{
struct WireState *ws = cls;
+
+ (void) cmd;
ws->is = is;
ws->wh = TALER_EXCHANGE_wire (is->exchange,
&wire_cb,
diff --git a/src/testing/testing_api_cmd_withdraw.c b/src/testing/testing_api_cmd_withdraw.c
index 8ecf52011..5bb34a045 100644
--- a/src/testing/testing_api_cmd_withdraw.c
+++ b/src/testing/testing_api_cmd_withdraw.c
@@ -520,11 +520,11 @@ TALER_TESTING_cmd_withdraw_amount (const char *label,
* @return the command.
*/
struct TALER_TESTING_Command
-TALER_TESTING_cmd_withdraw_denomination (const char *label,
- const char *reserve_reference,
- const struct
- TALER_EXCHANGE_DenomPublicKey *dk,
- unsigned int expected_response_code)
+TALER_TESTING_cmd_withdraw_denomination (
+ const char *label,
+ const char *reserve_reference,
+ const struct TALER_EXCHANGE_DenomPublicKey *dk,
+ unsigned int expected_response_code)
{
struct WithdrawState *ws;
diff --git a/src/util/test_amount.c b/src/util/test_amount.c
index 7bb47caf8..03f15cb88 100644
--- a/src/util/test_amount.c
+++ b/src/util/test_amount.c
@@ -34,6 +34,8 @@ main (int argc,
struct TALER_Amount r;
char *c;
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-amout",
"WARNING",
NULL);
diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c
index 1fce0cd3c..de10e567d 100644
--- a/src/util/test_crypto.c
+++ b/src/util/test_crypto.c
@@ -30,7 +30,7 @@
* @return 0 on success
*/
static int
-test_high_level ()
+test_high_level (void)
{
struct GNUNET_CRYPTO_EddsaPrivateKey *pk;
struct TALER_CoinSpendPrivateKeyP coin_priv;
@@ -88,7 +88,7 @@ test_high_level ()
* @return 0 on success
*/
static int
-test_planchets ()
+test_planchets (void)
{
struct TALER_PlanchetSecretsP ps;
struct TALER_DenominationPrivateKey dk_priv;
@@ -127,6 +127,8 @@ int
main (int argc,
const char *const argv[])
{
+ (void) argc;
+ (void) argv;
if (0 != test_high_level ())
return 1;
if (0 != test_planchets ())
diff --git a/src/util/test_payto.c b/src/util/test_payto.c
index b7d73f80a..7dc2eb142 100644
--- a/src/util/test_payto.c
+++ b/src/util/test_payto.c
@@ -39,6 +39,8 @@ main (int argc,
{
char *r;
+ (void) argc;
+ (void) argv;
GNUNET_log_setup ("test-payto",
"WARNING",
NULL);
diff --git a/src/util/test_url.c b/src/util/test_url.c
index 4be1e7307..029302993 100644
--- a/src/util/test_url.c
+++ b/src/util/test_url.c
@@ -45,6 +45,8 @@ int
main (int argc,
const char *const argv[])
{
+ (void) argc;
+ (void) argv;
cf (TALER_urlencode (""), "");
cf (TALER_urlencode ("abc"), "abc");
cf (TALER_urlencode ("~~"), "~~");