View Issue Details

IDProjectCategoryView StatusLast Update
0005312Talerexchangepublic2019-12-20 18:12
ReporterChristian Grothoff Assigned ToMarcello Stanisci Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

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

Activities

Marcello Stanisci

2018-05-16 11:19

reporter   ~0012928

Commit 8ec523afbba274a0979e fulfills until bullet point 2.

Marcello Stanisci

2018-05-21 08:42

reporter   ~0012931

Commit fffaf61717caf1c2f0fc does 3 and 4.

Marcello Stanisci

2018-05-21 08: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 09:03

reporter   ~0012933

Last edited: 2018-05-21 09: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 20:05

reporter   ~0012935

ce55e7c229bcb251f closes this bug.

Issue History

Date ModifiedUsernameFieldChange
2018-03-27 16:06Christian GrothoffNew Issue
2018-03-27 16:06Christian GrothoffStatusnew => assigned
2018-03-27 16:06Christian GrothoffAssigned To => Marcello Stanisci
2018-03-27 16:15Christian GrothoffRelationship addedrelated to 0005307
2018-05-16 11:19Marcello StanisciNote Added: 0012928
2018-05-21 08:42Marcello StanisciNote Added: 0012931
2018-05-21 08:44Marcello StanisciNote Added: 0012932
2018-05-21 09:03Marcello StanisciNote Added: 0012933
2018-05-21 09:03Marcello StanisciNote Edited: 0012933
2018-05-21 20:05Marcello StanisciNote Added: 0012935
2018-05-21 20:05Marcello StanisciStatusassigned => closed
2018-05-21 20:05Marcello StanisciResolutionopen => fixed
2018-05-21 20:05Marcello StanisciStatusclosed => informing
2018-06-12 07:00Christian GrothoffFixed in Version => 0.6
2019-12-20 18:12Christian GrothoffStatusinforming => closed