fix inconsistency in field naming

This commit is contained in:
Christian Grothoff 2020-03-27 17:28:33 +01:00
parent 1647237c2e
commit 17cfbced1d
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
24 changed files with 482 additions and 369 deletions

View File

@ -172,6 +172,7 @@ check_SCRIPTS = \
test-auditor.sh \
test-revocation.sh
.NOTPARALLEL:
TESTS = $(check_SCRIPTS)
EXTRA_DIST = \

View File

@ -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) '-')))
{

View File

@ -117,6 +117,7 @@ check_SCRIPTS += \
test_taler_exchange_httpd_afl.sh
endif
.NOTPARALLEL:
TESTS = \
$(check_SCRIPTS)

View File

@ -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;
}

View File

@ -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",

View File

@ -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",

View File

@ -60,6 +60,8 @@ main (int argc,
int ret;
unsigned int year;
(void) argc;
(void) argv;
GNUNET_log_setup ("test-exchangedb-fees",
"WARNING",
NULL);

View File

@ -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",

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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 \

View File

@ -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 */

View File

@ -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

View File

@ -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 ==

View File

@ -125,6 +125,7 @@ keyup_cleanup (void *cls,
{
struct KeyupState *ks = cls;
(void) cmd;
if (NULL != ks->keyup_proc)
{
GNUNET_break (0 ==

View File

@ -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"
@ -27,52 +27,6 @@
#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;
};
/**
* State for a "track transfer" CMD.
*/
@ -133,306 +87,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 */

View File

@ -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);

View File

@ -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,

View File

@ -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;

View File

@ -34,6 +34,8 @@ main (int argc,
struct TALER_Amount r;
char *c;
(void) argc;
(void) argv;
GNUNET_log_setup ("test-amout",
"WARNING",
NULL);

View File

@ -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 ())

View File

@ -39,6 +39,8 @@ main (int argc,
{
char *r;
(void) argc;
(void) argv;
GNUNET_log_setup ("test-payto",
"WARNING",
NULL);

View File

@ -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 ("~~"), "~~");