summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-02-07 15:02:49 +0100
committerChristian Grothoff <christian@grothoff.org>2016-02-07 15:02:49 +0100
commitd67011e2b55dbd0e2158c4c144f5092e1593d70a (patch)
treece793ac6c737bf6760062f085610966a257e5cae /src
parent38378f38d7c90c237bb8dbbe6fb4afb0c87f0c9f (diff)
downloadexchange-d67011e2b55dbd0e2158c4c144f5092e1593d70a.tar.gz
exchange-d67011e2b55dbd0e2158c4c144f5092e1593d70a.tar.bz2
exchange-d67011e2b55dbd0e2158c4c144f5092e1593d70a.zip
making mintdb tests pass again after API refactoring to remove total amount
Diffstat (limited to 'src')
-rw-r--r--src/include/taler_mintdb_plugin.h4
-rw-r--r--src/mint-lib/test_mint_api.c13
-rw-r--r--src/mint/taler-mint-httpd_db.c24
-rw-r--r--src/mintdb/plugin_mintdb_postgres.c9
-rw-r--r--src/mintdb/test_mintdb.c15
-rw-r--r--src/pq/pq_result_helper.c22
6 files changed, 29 insertions, 58 deletions
diff --git a/src/include/taler_mintdb_plugin.h b/src/include/taler_mintdb_plugin.h
index d2cc3d76..b65b3e4f 100644
--- a/src/include/taler_mintdb_plugin.h
+++ b/src/include/taler_mintdb_plugin.h
@@ -606,7 +606,6 @@ typedef void
* @param coin_pub which public key was this payment about
* @param coin_value amount contributed by this coin in total (with fee)
* @param coin_fee applicable fee for this coin
- * @param transfer_value total amount of the wire transfer
*/
typedef void
(*TALER_MINTDB_WireTransferDataCallback)(void *cls,
@@ -616,8 +615,7 @@ typedef void
uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *coin_value,
- const struct TALER_Amount *coin_fee,
- const struct TALER_Amount *transfer_value);
+ const struct TALER_Amount *coin_fee);
/**
diff --git a/src/mint-lib/test_mint_api.c b/src/mint-lib/test_mint_api.c
index e41d0180..b243cc2c 100644
--- a/src/mint-lib/test_mint_api.c
+++ b/src/mint-lib/test_mint_api.c
@@ -1392,8 +1392,7 @@ deposit_wtid_cb (void *cls,
json_t *json,
const struct TALER_WireTransferIdentifierRawP *wtid,
struct GNUNET_TIME_Absolute execution_time,
- const struct TALER_Amount *coin_contribution,
- const struct TALER_Amount *total_amount)
+ const struct TALER_Amount *coin_contribution)
{
struct InterpreterState *is = cls;
struct Command *cmd = &is->commands[is->ip];
@@ -1413,16 +1412,6 @@ deposit_wtid_cb (void *cls,
{
case MHD_HTTP_OK:
cmd->details.deposit_wtid.wtid = *wtid;
- if (0 != TALER_amount_cmp (total_amount,
- &cmd->details.deposit_wtid.total_amount_expected))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Total amount missmatch to command %s\n",
- cmd->label);
- json_dumpf (json, stderr, 0);
- fail (is);
- return;
- }
break;
default:
break;
diff --git a/src/mint/taler-mint-httpd_db.c b/src/mint/taler-mint-httpd_db.c
index b93ead3a..8c22a0a2 100644
--- a/src/mint/taler-mint-httpd_db.c
+++ b/src/mint/taler-mint-httpd_db.c
@@ -1566,12 +1566,6 @@ struct WtidTransactionContext
struct TALER_Amount total;
/**
- * Value we find in the DB for the @e total; only valid if @e is_valid
- * is #GNUNET_YES.
- */
- struct TALER_Amount db_transaction_value;
-
- /**
* Public key of the merchant, only valid if @e is_valid
* is #GNUNET_YES.
*/
@@ -1612,7 +1606,6 @@ struct WtidTransactionContext
* @param coin_pub which public key was this payment about
* @param deposit_value amount contributed by this coin in total
* @param deposit_fee deposit fee charged by mint for this coin
- * @param transaction_value total value of the wire transaction
*/
static void
handle_transaction_data (void *cls,
@@ -1622,8 +1615,7 @@ handle_transaction_data (void *cls,
uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *deposit_value,
- const struct TALER_Amount *deposit_fee,
- const struct TALER_Amount *transaction_value)
+ const struct TALER_Amount *deposit_fee)
{
struct WtidTransactionContext *ctx = cls;
struct TALER_Amount delta;
@@ -1634,7 +1626,6 @@ handle_transaction_data (void *cls,
{
ctx->merchant_pub = *merchant_pub;
ctx->h_wire = *h_wire;
- ctx->db_transaction_value = *transaction_value;
ctx->is_valid = GNUNET_YES;
if (GNUNET_OK !=
TALER_amount_subtract (&ctx->total,
@@ -1653,9 +1644,7 @@ handle_transaction_data (void *cls,
sizeof (struct TALER_MerchantPublicKeyP))) ||
(0 != memcmp (&ctx->h_wire,
h_wire,
- sizeof (struct GNUNET_HashCode))) ||
- (0 != TALER_amount_cmp (transaction_value,
- &ctx->db_transaction_value)) )
+ sizeof (struct GNUNET_HashCode))) )
{
GNUNET_break (0);
ctx->is_valid = GNUNET_SYSERR;
@@ -1741,15 +1730,8 @@ TMH_DB_execute_wire_deposits (struct MHD_Connection *connection,
return TMH_RESPONSE_reply_arg_unknown (connection,
"wtid");
}
- if (0 != TALER_amount_cmp (&ctx.total,
- &ctx.db_transaction_value))
- {
- /* FIXME: this CAN actually differ, due to rounding
- down. But we should still check that the values
- do match after rounding 'total' down! */
- }
return TMH_RESPONSE_reply_wire_deposit_details (connection,
- &ctx.db_transaction_value,
+ &ctx.total,
&ctx.merchant_pub,
&ctx.h_wire,
ctx.deposits);
diff --git a/src/mintdb/plugin_mintdb_postgres.c b/src/mintdb/plugin_mintdb_postgres.c
index 5015f477..772b86e8 100644
--- a/src/mintdb/plugin_mintdb_postgres.c
+++ b/src/mintdb/plugin_mintdb_postgres.c
@@ -3739,7 +3739,7 @@ postgres_get_coin_transactions (void *cls,
/**
- * Lookup the list of Taler transactions that was aggregated
+ * Lookup the list of Taler transactions that were aggregated
* into a wire transfer by the respective @a wtid.
*
* @param cls closure
@@ -3793,7 +3793,6 @@ postgres_lookup_wire_transfer (void *cls,
struct GNUNET_TIME_Absolute exec_time;
struct TALER_Amount coin_amount;
struct TALER_Amount coin_fee;
- struct TALER_Amount transfer_amount;
struct GNUNET_PQ_ResultSpec rs[] = {
GNUNET_PQ_result_spec_auto_from_type ("h_contract", &h_contract),
GNUNET_PQ_result_spec_auto_from_type ("h_wire", &h_wire),
@@ -3803,8 +3802,7 @@ postgres_lookup_wire_transfer (void *cls,
GNUNET_PQ_result_spec_absolute_time ("execution_time", &exec_time),
TALER_PQ_result_spec_amount ("coin_amount", &coin_amount),
TALER_PQ_result_spec_amount ("coin_fee", &coin_fee),
- TALER_PQ_result_spec_amount ("transfer_total", &transfer_amount),
- GNUNET_PQ_result_spec_end
+ GNUNET_PQ_result_spec_end
};
if (GNUNET_OK != GNUNET_PQ_extract_result (result, rs, i))
{
@@ -3819,8 +3817,7 @@ postgres_lookup_wire_transfer (void *cls,
transaction_id,
&coin_pub,
&coin_amount,
- &coin_fee,
- &transfer_amount);
+ &coin_fee);
}
PQclear (result);
return GNUNET_OK;
diff --git a/src/mintdb/test_mintdb.c b/src/mintdb/test_mintdb.c
index 07f5d078..0938f8fa 100644
--- a/src/mintdb/test_mintdb.c
+++ b/src/mintdb/test_mintdb.c
@@ -453,8 +453,7 @@ cb_wt_never (void *cls,
uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *coin_value,
- const struct TALER_Amount *coin_fee,
- const struct TALER_Amount *transfer_value)
+ const struct TALER_Amount *coin_fee)
{
GNUNET_assert (0); /* this statement should be unreachable */
}
@@ -468,7 +467,6 @@ cb_wtid_never (void *cls,
const struct TALER_WireTransferIdentifierRawP *wtid,
const struct TALER_Amount *coin_contribution,
const struct TALER_Amount *coin_fee,
- const struct TALER_Amount *total_amount,
struct GNUNET_TIME_Absolute execution_time)
{
GNUNET_assert (0);
@@ -498,8 +496,7 @@ cb_wt_check (void *cls,
uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *coin_value,
- const struct TALER_Amount *coin_fee,
- const struct TALER_Amount *transfer_value)
+ const struct TALER_Amount *coin_fee)
{
GNUNET_assert (cls == &cb_wt_never);
GNUNET_assert (0 == memcmp (merchant_pub,
@@ -519,8 +516,6 @@ cb_wt_check (void *cls,
&coin_value_wt));
GNUNET_assert (0 == TALER_amount_cmp (coin_fee,
&coin_fee_wt));
- GNUNET_assert (0 == TALER_amount_cmp (transfer_value,
- &transfer_value_wt));
}
@@ -532,7 +527,6 @@ cb_wtid_check (void *cls,
const struct TALER_WireTransferIdentifierRawP *wtid,
const struct TALER_Amount *coin_contribution,
const struct TALER_Amount *coin_fee,
- const struct TALER_Amount *total_amount,
struct GNUNET_TIME_Absolute execution_time)
{
GNUNET_assert (cls == &cb_wtid_never);
@@ -545,8 +539,6 @@ cb_wtid_check (void *cls,
&coin_value_wt));
GNUNET_assert (0 == TALER_amount_cmp (coin_fee,
&coin_fee_wt));
- GNUNET_assert (0 == TALER_amount_cmp (total_amount,
- &transfer_value_wt));
}
@@ -826,8 +818,7 @@ run (void *cls,
execution_time_wt,
&coin_pub_wt,
&coin_value_wt,
- &coin_fee_wt,
- &transfer_value_wt));
+ &coin_fee_wt));
FAILIF (GNUNET_OK !=
plugin->lookup_wire_transfer (plugin->cls,
session,
diff --git a/src/pq/pq_result_helper.c b/src/pq/pq_result_helper.c
index c8b3b01f..748ce0c2 100644
--- a/src/pq/pq_result_helper.c
+++ b/src/pq/pq_result_helper.c
@@ -72,11 +72,25 @@ extract_amount_nbo_helper (PGresult *result,
frac_name);
curr_num = PQfnumber (result,
curr_name);
- if ( (val_num < 0) ||
- (frac_num < 0) ||
- (curr_num < 0) )
+ if (val_num < 0)
{
- GNUNET_break (0);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Field `%s' does not exist in result\n",
+ val_name);
+ return GNUNET_SYSERR;
+ }
+ if (frac_num < 0)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Field `%s' does not exist in result\n",
+ frac_name);
+ return GNUNET_SYSERR;
+ }
+ if (curr_num < 0)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Field `%s' does not exist in result\n",
+ curr_name);
return GNUNET_SYSERR;
}
if ( (PQgetisnull (result,