diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-03-14 19:45:43 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-03-14 19:45:43 +0100 |
commit | 6aca928cf89bbd3ddc9384d773415dbb04f0659f (patch) | |
tree | aa5e874c07cbd8802576f87dfcdfeead1dc4ca64 /src/exchangedb/test_exchangedb.c | |
parent | d9c3627bc53fe68184d93dce8df6fbdbe3910827 (diff) |
expand DB test to cover #6124 better (passed immediately, does not explain the failure)
Diffstat (limited to 'src/exchangedb/test_exchangedb.c')
-rw-r--r-- | src/exchangedb/test_exchangedb.c | 43 |
1 files changed, 33 insertions, 10 deletions
diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c index 3520ff240..e9b47942a 100644 --- a/src/exchangedb/test_exchangedb.c +++ b/src/exchangedb/test_exchangedb.c @@ -1656,16 +1656,39 @@ run (void *cls) plugin->ensure_coin_known (plugin->cls, session, &deposit.coin)); - FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != - plugin->insert_recoup_request (plugin->cls, - session, - &reserve_pub, - &deposit.coin, - &coin_sig, - &coin_blind, - &value, - &cbc.h_coin_envelope, - deadline)); + { + struct TALER_EXCHANGEDB_Reserve pre_reserve; + struct TALER_EXCHANGEDB_Reserve post_reserve; + struct TALER_Amount delta; + + pre_reserve.pub = reserve_pub; + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->reserves_get (plugin->cls, + session, + &pre_reserve)); + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->insert_recoup_request (plugin->cls, + session, + &reserve_pub, + &deposit.coin, + &coin_sig, + &coin_blind, + &value, + &cbc.h_coin_envelope, + deadline)); + post_reserve.pub = reserve_pub; + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->reserves_get (plugin->cls, + session, + &post_reserve)); + FAILIF (GNUNET_OK != + TALER_amount_subtract (&delta, + &post_reserve.balance, + &pre_reserve.balance)); + FAILIF (0 != + TALER_amount_cmp (&delta, + &value)); + } FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != plugin->select_recoup_above_serial_id (plugin->cls, session, |