View Issue Details

IDProjectCategoryView StatusLast Update
0005312Talerexchangepublic2019-12-20 19:12
ReporterChristian Grothoff Assigned ToMarcello Stanisci  
PrioritynormalSeveritytrivialReproducibilityN/A
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version0.6Fixed in Version0.6 
Summary0005312: list of exchange operations we should test better
DescriptionHere is a list of features we ought to test:

* /refresh/melt replay of a valid request (https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_refresh_melt.c.gcov.html, ~line 262 "reply_refresh_melt_success" early case); likely trivial by simply repeating the melt command in one of the test interpreters twice;

* /refresh/reveal *missmatch* (via Twister); see https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_refresh_reveal.c.gcov.html (~line 350: reply_refresh_reveal_missmatch)

* refund conflicts (contract hash missmatch, original deposit does not exist, currency missmatch); see https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_refund.c.gcov.html, 'refund_transaction()' has many of the relevant cases;

* /reserve/withdraw after reserve closure or payback (see case TALER_EXCHANGEDB_RO_PAYBACK_COIN and EXCHANGE_TO_BANK in withdraw_transaction in https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_reserve_withdraw.c.gcov.html);

* double-spending (or just over-spending) with a coin that was involved in a /refund, to cover 'case TALER_EXCHANGEDB_TT_REFUND in TEH_RESPONSE_compile_transaction_history at https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_responses.c.gcov.html (can likely be done by extending existing 'normal' command sequences, no need for Twister);

* failed reserve withdrawal because reserve was already closed (will require special exchange configuration with artificially low reserve lifetime), to test TEH_RESPONSE_compile_reserve_history, case TALER_EXCHANGEDB_RO_EXCHANGE_TO_BANK, in https://lcov.taler.net/exchange/exchange/taler-exchange-httpd_responses.c.gcov.html;

TagsNo tags attached.

Relationships

related to 0005307 closedMarcello Stanisci list of merchant's uncovered code paths 

Activities

Marcello Stanisci

2018-05-16 13:19

reporter   ~0012928

Commit 8ec523afbba274a0979e fulfills until bullet point 2.

Marcello Stanisci

2018-05-21 10:42

reporter   ~0012931

Commit fffaf61717caf1c2f0fc does 3 and 4.

Marcello Stanisci

2018-05-21 10:44

reporter   ~0012932

Commit fffaf61717caf1c2f0fc contains 5 as well, as it was
implemented in the test case "first" version (see CMD named "refund-conflicting").

Marcello Stanisci

2018-05-21 11:03

reporter   ~0012933

Last edited: 2018-05-21 11:03

As for the last bullet point: point 4 actually implies it, because in order
to trigger the EXCHANGE_TO_BANK case in withdraw_transaction() you do have to
withdraw (and fail) from a closed reserve.

If we agree on this, I guess we can close this issue.

Marcello Stanisci

2018-05-21 22:05

reporter   ~0012935

ce55e7c229bcb251f closes this bug.

Issue History

Date Modified Username Field Change
2018-03-27 18:06 Christian Grothoff New Issue
2018-03-27 18:06 Christian Grothoff Status new => assigned
2018-03-27 18:06 Christian Grothoff Assigned To => Marcello Stanisci
2018-03-27 18:15 Christian Grothoff Relationship added related to 0005307
2018-05-16 13:19 Marcello Stanisci Note Added: 0012928
2018-05-21 10:42 Marcello Stanisci Note Added: 0012931
2018-05-21 10:44 Marcello Stanisci Note Added: 0012932
2018-05-21 11:03 Marcello Stanisci Note Added: 0012933
2018-05-21 11:03 Marcello Stanisci Note Edited: 0012933
2018-05-21 22:05 Marcello Stanisci Note Added: 0012935
2018-05-21 22:05 Marcello Stanisci Status assigned => closed
2018-05-21 22:05 Marcello Stanisci Resolution open => fixed
2018-05-21 22:05 Marcello Stanisci Status closed => resolved
2018-06-12 09:00 Christian Grothoff Fixed in Version => 0.6
2019-12-20 19:12 Christian Grothoff Status resolved => closed